diff --git a/.gitignore b/.gitignore index 63926a65..3cdf4d79 100644 --- a/.gitignore +++ b/.gitignore @@ -353,4 +353,5 @@ MigrationBackup/ .idea # WinMerge bak files -*.bak \ No newline at end of file +*.bak +/switcher.json diff --git a/Resources/KerML_only_xmi.uml b/Resources/KerML_only_xmi.uml index fdbe3eab..4ee98bba 100644 --- a/Resources/KerML_only_xmi.uml +++ b/Resources/KerML_only_xmi.uml @@ -1,7858 +1,7858 @@ - - - The Root layer provides the syntactic foundation for KerML. - - - - - - <p>A <code>Dependency</code> is a <code>Relationship</code> that indicates that one or more <code>client</code> <code>Elements</code> require one more <code>supplier</code> <code>Elements</code> for their complete specification. In general, this means that a change to one of the <code>supplier</code> <code>Elements</code> may necessitate a change to, or re-specification of, the <code>client</code> <code>Elements</code>.</p> - -<p>Note that a <code>Dependency</code> is entirely a model-level <code>Relationship</code>, without instance-level semantics.</p> - - - - - <p>The <code>Element</code> or <code>Elements</code> dependent on the <code>supplier</code> <code>Elements</code>.</p> - - - - - - - <p>The <code>Element</code> or <code>Elements</code> on which the <code>client</code> <code>Elements</code> depend in some respect.</p> - - - - - - - - - <p>The <code>Dependencies</code> that have a certain <code>supplier</code> <code>Element</code>.</p> - - - - - - - - - <p>The <code>Dependencies</code> that have a certain <code>client</code> <code>Element</code>.</p> - - - - - - - - - - <p>A <code>Comment</code> is an <code>AnnotatingElement</code> whose <code>body</code> in some way describes its <code>annotatedElements</code>.</p> - - - - - - <p>Identification of the language of the <code>body</code> text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format <code>[language[_territory][.codeset][@modifier]]</code>.</p> - - - - - - - - <p>The annotation text for the <code>Comment</code>.</p> - - - - - - - - - - <p>An <code>Annotation</code> is a Relationship between an <code>AnnotatingElement</code> and the <code>Element</code> that is annotated by that <code>AnnotatingElement</code>.</p> - + + + The Root layer provides the syntactic foundation for KerML. + - - - <p>An <code>Annotation</code> owns its <code>annotatingElement</code> if and only if it is owned by its <code>annotatedElement</code>.</p> - - - OCL2.0 - (owningAnnotatedElement <> null) = (ownedAnnotatingElement <> null) - - - - - <p>Either the <code>ownedAnnotatingElement</code> of an <code>Annotation</code> must be non-null, or the <code>owningAnnotatingElement</code> must be non-null, but not both.</p> - - - OCL2.0 - ownedAnnotatingElement <> null xor owningAnnotatingElement <> null - - - - - <p>The <code>ownedAnnotatingElement</code> of an <code>Annotation</code> is the first <code>ownedRelatedElement</code> that is an <code>AnnotatingElement</code>, if any.</p> - - - OCL2.0 - ownedAnnotatingElement = - let ownedAnnotatingElements : Sequence(AnnotatingElement) = - ownedRelatedElement->selectByKind(AnnotatingElement) in - if ownedAnnotatingElements->isEmpty() then null - else ownedAnnotatingElements->first() - endif - - - - - <p>The <code>annotatingElement</code> of an <code>Annotation</code> is either its <code>ownedAnnotatingElement</code> or its <code>owningAnnotatingElement</code>.</p> - - - OCL2.0 - annotatingElement = - if ownedAnnotatingElement <> null then ownedAnnotatingElement - else owningAnnotatingElement - endif - - - - - - <p>The <code>AnnotatingElement</code> that annotates the <code>annotatedElement</code> of this <code>Annotation</code>. This is always either the <code>ownedAnnotatingElement</code> or the <code>owningAnnotatingElement</code>.</p> - - - - - - - - <p>The <code>Element</code> that is annotated by the <code>annotatingElement</code> of this Annotation.</p> - - - - - - - - <p>The <code>annotatedElement</code> of this <code>Annotation</code>, when it is also the <code>owningRelatedElement</code>.</p> - - - - - - - - <p>The <code>annotatingElement</code> of this <code>Annotation</code>, when it is the <code>owningRelatedElement</code>.</p> - - - - - - - <p>The <code>annotatingElement</code> of this <code>Annotation</code>, when it is an <code>ownedRelatedElement</code>.</p> - - - - - - - - - - <p>The Annotations associated with a certain <code>annotatedElement</code>.</p> - - - - - - - - <p>An <code>AnnotatingElement</code> is an <code>Element</code> that provides additional description of or metadata on some other <code>Element</code>. An <code>AnnotatingElement</code> is either attached to its <code>annotatedElements</code> by <code>Annotation</code> <code>Relationships</code>, or it implicitly annotates its <code>owningNamespace</code>.</p> - - - - - <p>If an <code>AnnotatingElement</code> has <code>annotations</code>, then its <code>annotatedElements</code> are the <code>annotatedElements</code> of all its <code>annotations</code>. Otherwise, it's single <code>annotatedElement</code> is its <code>owningNamespace</code>.</p> - - - OCL2.0 - annotatedElement = - if annotation->notEmpty() then annotation.annotatedElement - else Sequence{owningNamespace} endif - - - - - <p>The <code>ownedAnnotatingRelationships</code> of an <code>AnnotatingElement</code> are its <code>ownedRelationships</code> that are <code>Annotations</code>, for which the <code>AnnotatingElement</code> is not the <code>annotatedElement</code>.</p> - - - OCL2.0 - ownedAnnotatingRelationship = ownedRelationship-> - selectByKind(Annotation)-> - select(a | a.annotatedElement <> self) - - - - - <p>The <code>annotations</code> of an <code>AnnotatingElement</code> are its <code>owningAnnotatingRelationship</code> (if any) followed by all its <code>ownedAnnotatingRelationships</code>.</p> - - - OCL2.0 - annotation = - if owningAnnotatingRelationship = null then ownedAnnotatingRelationship - else owningAnnotatingRelationship->prepend(owningAnnotatingRelationship) - endif - - - - - - <p>The <code>Elements</code> that are annotated by this <code>AnnotatingElement</code>. If <code>annotation</code> is not empty, these are the <code>annotatedElements</code> of the <code>annotations</code>. If <code>annotation</code> is empty, then it is the <code>owningNamespace</code> of the <code>AnnotatingElement</code>.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>AnnotatingElement</code> that are <code>Annotations</code>, for which this <code>AnnotatingElement</code> is the <code>annotatingElement</code>.</p> - - - - - - - <p>The <code>owningRelationship</code> of this <code>AnnotatingRelationship</code>, if it is an <code>Annotation</code></p> - - - - - - - <p>The <code>Annotations</code> that relate this <code>AnnotatingElement</code> to its <code>annotatedElements</code>. This includes the <code>owningAnnotatingRelationship</code> (if any) followed by all the <code>ownedAnnotatingRelationshps</code>.</p> - - - - - - - - - - <p>The AnnotatingElements that have a certain Element as their <code>annotatedElement</code>.</p> - - - - - - - - <p>A <code>TextualRepresentation</code> is an <code>AnnotatingElement</code> whose <code>body</code> represents the <code>representedElement</code> in a given <code>language</code>. The <code>representedElement</code> must be the <code>owner</code> of the <code>TextualRepresentation</code>. The named <code>language</code> can be a natural language, in which case the <code>body</code> is an informal representation, or an artificial language, in which case the <code>body</code> is expected to be a formal, machine-parsable representation.</p> + + + + <p>A <code>Dependency</code> is a <code>Relationship</code> that indicates that one or more <code>client</code> <code>Elements</code> require one more <code>supplier</code> <code>Elements</code> for their complete specification. In general, this means that a change to one of the <code>supplier</code> <code>Elements</code> may necessitate a change to, or re-specification of, the <code>client</code> <code>Elements</code>.</p> -<p>If the named <code>language</code> of a <code>TextualRepresentation</code> is machine-parsable, then the <code>body</code> text should be legal input text as defined for that <code>language</code>. The interpretation of the named language string shall be case insensitive. The following <code>language</code> names are defined to correspond to the given standard languages:</p> + <p>Note that a <code>Dependency</code> is entirely a model-level <code>Relationship</code>, without instance-level semantics.</p> + + + + + <p>The <code>Element</code> or <code>Elements</code> dependent on the <code>supplier</code> <code>Elements</code>.</p> + + + + + + + <p>The <code>Element</code> or <code>Elements</code> on which the <code>client</code> <code>Elements</code> depend in some respect.</p> + + + + + + + + + <p>The <code>Dependencies</code> that have a certain <code>supplier</code> <code>Element</code>.</p> + + + + + + + + + <p>The <code>Dependencies</code> that have a certain <code>client</code> <code>Element</code>.</p> + + + + + + + + + + <p>A <code>Comment</code> is an <code>AnnotatingElement</code> whose <code>body</code> in some way describes its <code>annotatedElements</code>.</p> + + + + + + <p>Identification of the language of the <code>body</code> text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format <code>[language[_territory][.codeset][@modifier]]</code>.</p> + + + + + + + + <p>The annotation text for the <code>Comment</code>.</p> + + + + + + + + + + <p>An <code>Annotation</code> is a Relationship between an <code>AnnotatingElement</code> and the <code>Element</code> that is annotated by that <code>AnnotatingElement</code>.</p> + + + + + <p>An <code>Annotation</code> owns its <code>annotatingElement</code> if and only if it is owned by its <code>annotatedElement</code>.</p> + + + OCL2.0 + (owningAnnotatedElement <> null) = (ownedAnnotatingElement <> null) + + + + + <p>Either the <code>ownedAnnotatingElement</code> of an <code>Annotation</code> must be non-null, or the <code>owningAnnotatingElement</code> must be non-null, but not both.</p> + + + OCL2.0 + ownedAnnotatingElement <> null xor owningAnnotatingElement <> null + + + + + <p>The <code>ownedAnnotatingElement</code> of an <code>Annotation</code> is the first <code>ownedRelatedElement</code> that is an <code>AnnotatingElement</code>, if any.</p> + + + OCL2.0 + ownedAnnotatingElement = + let ownedAnnotatingElements : Sequence(AnnotatingElement) = + ownedRelatedElement->selectByKind(AnnotatingElement) in + if ownedAnnotatingElements->isEmpty() then null + else ownedAnnotatingElements->first() + endif + + + + + <p>The <code>annotatingElement</code> of an <code>Annotation</code> is either its <code>ownedAnnotatingElement</code> or its <code>owningAnnotatingElement</code>.</p> + + + OCL2.0 + annotatingElement = + if ownedAnnotatingElement <> null then ownedAnnotatingElement + else owningAnnotatingElement + endif + + + + + + <p>The <code>AnnotatingElement</code> that annotates the <code>annotatedElement</code> of this <code>Annotation</code>. This is always either the <code>ownedAnnotatingElement</code> or the <code>owningAnnotatingElement</code>.</p> + + + + + + + + <p>The <code>Element</code> that is annotated by the <code>annotatingElement</code> of this Annotation.</p> + + + + + + + + <p>The <code>annotatedElement</code> of this <code>Annotation</code>, when it is also the <code>owningRelatedElement</code>.</p> + + + + + + + + <p>The <code>annotatingElement</code> of this <code>Annotation</code>, when it is the <code>owningRelatedElement</code>.</p> + + + + + + + <p>The <code>annotatingElement</code> of this <code>Annotation</code>, when it is an <code>ownedRelatedElement</code>.</p> + + + + + + + + + + <p>The Annotations associated with a certain <code>annotatedElement</code>.</p> + + + + + + + + <p>An <code>AnnotatingElement</code> is an <code>Element</code> that provides additional description of or metadata on some other <code>Element</code>. An <code>AnnotatingElement</code> is either attached to its <code>annotatedElements</code> by <code>Annotation</code> <code>Relationships</code>, or it implicitly annotates its <code>owningNamespace</code>.</p> + + + + + <p>If an <code>AnnotatingElement</code> has <code>annotations</code>, then its <code>annotatedElements</code> are the <code>annotatedElements</code> of all its <code>annotations</code>. Otherwise, it's single <code>annotatedElement</code> is its <code>owningNamespace</code>.</p> + + + OCL2.0 + annotatedElement = + if annotation->notEmpty() then annotation.annotatedElement + else Sequence{owningNamespace} endif + + + + + <p>The <code>ownedAnnotatingRelationships</code> of an <code>AnnotatingElement</code> are its <code>ownedRelationships</code> that are <code>Annotations</code>, for which the <code>AnnotatingElement</code> is not the <code>annotatedElement</code>.</p> + + + OCL2.0 + ownedAnnotatingRelationship = ownedRelationship-> + selectByKind(Annotation)-> + select(a | a.annotatedElement <> self) + + + + + <p>The <code>annotations</code> of an <code>AnnotatingElement</code> are its <code>owningAnnotatingRelationship</code> (if any) followed by all its <code>ownedAnnotatingRelationships</code>.</p> + + + OCL2.0 + annotation = + if owningAnnotatingRelationship = null then ownedAnnotatingRelationship + else owningAnnotatingRelationship->prepend(owningAnnotatingRelationship) + endif + + + + + + <p>The <code>Elements</code> that are annotated by this <code>AnnotatingElement</code>. If <code>annotation</code> is not empty, these are the <code>annotatedElements</code> of the <code>annotations</code>. If <code>annotation</code> is empty, then it is the <code>owningNamespace</code> of the <code>AnnotatingElement</code>.</p> + + + + + + + + <p>The <code>ownedRelationships</code> of this <code>AnnotatingElement</code> that are <code>Annotations</code>, for which this <code>AnnotatingElement</code> is the <code>annotatingElement</code>.</p> + + + + + + + <p>The <code>owningRelationship</code> of this <code>AnnotatingRelationship</code>, if it is an <code>Annotation</code></p> + + + + + + + <p>The <code>Annotations</code> that relate this <code>AnnotatingElement</code> to its <code>annotatedElements</code>. This includes the <code>owningAnnotatingRelationship</code> (if any) followed by all the <code>ownedAnnotatingRelationshps</code>.</p> + + + + + + + + + + <p>The AnnotatingElements that have a certain Element as their <code>annotatedElement</code>.</p> + + + + + + + + <p>A <code>TextualRepresentation</code> is an <code>AnnotatingElement</code> whose <code>body</code> represents the <code>representedElement</code> in a given <code>language</code>. The <code>representedElement</code> must be the <code>owner</code> of the <code>TextualRepresentation</code>. The named <code>language</code> can be a natural language, in which case the <code>body</code> is an informal representation, or an artificial language, in which case the <code>body</code> is expected to be a formal, machine-parsable representation.</p> -<table border="1" cellpadding="1" cellspacing="1" width="498"> - <thead> - </thead> - <tbody> - <tr> - <td style="text-align: center; width: 154px;"><code>kerml</code></td> - <td style="width: 332px;">Kernel Modeling Language</td> - </tr> - <tr> - <td style="text-align: center; width: 154px;"><code>ocl</code></td> - <td style="width: 332px;">Object Constraint Language</td> - </tr> - <tr> - <td style="text-align: center; width: 154px;"><code>alf</code></td> - <td style="width: 332px;">Action Language for fUML</td> - </tr> - </tbody> -</table> + <p>If the named <code>language</code> of a <code>TextualRepresentation</code> is machine-parsable, then the <code>body</code> text should be legal input text as defined for that <code>language</code>. The interpretation of the named language string shall be case insensitive. The following <code>language</code> names are defined to correspond to the given standard languages:</p> -<p>Other specifications may define specific <code>language</code> strings, other than those shown above, to be used to indicate the use of languages from those specifications in KerML <code>TextualRepresentation</code>.</p> + <table border="1" cellpadding="1" cellspacing="1" width="498"> + <thead> + </thead> + <tbody> + <tr> + <td style="text-align: center; width: 154px;"><code>kerml</code></td> + <td style="width: 332px;">Kernel Modeling Language</td> + </tr> + <tr> + <td style="text-align: center; width: 154px;"><code>ocl</code></td> + <td style="width: 332px;">Object Constraint Language</td> + </tr> + <tr> + <td style="text-align: center; width: 154px;"><code>alf</code></td> + <td style="width: 332px;">Action Language for fUML</td> + </tr> + </tbody> + </table> -<p>If the <code>language</code> of a <code>TextualRepresentation</code> is &quot;<code>kerml</code>&quot;, then the <code>body</code> text shall be a legal representation of the <code>representedElement</code> in the KerML textual concrete syntax. A conforming tool can use such a <code>TextualRepresentation</code> <code>Annotation</code> to record the original KerML concrete syntax text from which an <code>Element</code> was parsed. In this case, it is a tool responsibility to ensure that the <code>body</code> of the <code>TextualRepresentation</code> remains correct (or the Annotation is removed) if the annotated <code>Element</code> changes other than by re-parsing the <code>body</code> text.</p> + <p>Other specifications may define specific <code>language</code> strings, other than those shown above, to be used to indicate the use of languages from those specifications in KerML <code>TextualRepresentation</code>.</p> -<p>An <code>Element</code> with a <code>TextualRepresentation</code> in a language other than KerML is essentially a semantically &quot;opaque&quot; <code>Element</code> specified in the other language. However, a conforming KerML tool may interpret such an element consistently with the specification of the named language.</p> - - - - - - <p>The natural or artifical language in which the <code>body</code> text is written.</p> - - - - - - - - - <p>The <code>Element</code> that is represented by this <code>TextualRepresentation</code>.</p> - - - - - - - - <p>The textual representation of the <code>representedElement</code> in the given <code>language</code>.</p> - - - - - - - - - - <p><code>Documentation</code> is a <code>Comment</code> that specifically documents a <code>documentedElement</code>, which must be its <code>owner</code>.</p> - - - - - - <p>The <code>Element</code> that is documented by this <code>Documentation</code>.</p> - - - - - - - - - - - - - <p>A <code>Namespace</code> is an <code>Element</code> that contains other <code>Elements</code>, known as its <code>members</code>, via <code>Membership</code> <code>Relationships</code> with those <code>Elements</code>. The <code>members</code> of a <code>Namespace</code> may be owned by the <code>Namespace</code>, aliased in the <code>Namespace</code>, or imported into the <code>Namespace</code> via <code>Import</code> <code>Relationships</code>.</p> + <p>If the <code>language</code> of a <code>TextualRepresentation</code> is &quot;<code>kerml</code>&quot;, then the <code>body</code> text shall be a legal representation of the <code>representedElement</code> in the KerML textual concrete syntax. A conforming tool can use such a <code>TextualRepresentation</code> <code>Annotation</code> to record the original KerML concrete syntax text from which an <code>Element</code> was parsed. In this case, it is a tool responsibility to ensure that the <code>body</code> of the <code>TextualRepresentation</code> remains correct (or the Annotation is removed) if the annotated <code>Element</code> changes other than by re-parsing the <code>body</code> text.</p> -<p>A <code>Namespace</code> can provide names for its <code>members</code> via the <code>memberNames</code> and <code>memberShortNames</code> specified by the <code>Memberships</code> in the <code>Namespace</code>. If a <code>Membership</code> specifies a <code>memberName</code> and/or <code>memberShortName</code>, then those are names of the corresponding <code>memberElement</code> relative to the <code>Namespace</code>. For an <code>OwningMembership</code>, the <code>ownedMemberName</code> and <code>ownedMemberShortName</code> are given by the <code>Element</code> <code>name</code> and <code>shortName</code>. Note that the same <code>Element</code> may be the <code>memberElement</code> of multiple <code>Memberships</code> in a <code>Namespace</code> (though it may be owned at most once), each of which may define a separate alias for the <code>Element</code> relative to the <code>Namespace</code>.</p> - - - - - <p>All <code>memberships</code> of a <code>Namespace</code> must be distinguishable from each other.</p> - - - OCL2.0 - membership->forAll(m1 | - membership->forAll(m2 | - m1 <> m2 implies m1.isDistinguishableFrom(m2))) - - - - - <p>The <code>members</code> of a <code>Namespace</code> are the <code>memberElements</code> of all its <code>memberships</code>.</p> - - - OCL2.0 - member = membership.memberElement - - - - - <p>The <code>ownedMembers</code> of a <code>Namespace</code> are the <code>ownedMemberElements</code> of all its <code>ownedMemberships</code> that are <code>OwningMemberships</code>. - - - OCL2.0 - ownedMember = ownedMembership->selectByKind(OwningMembership).ownedMemberElement - - - - - <p>The <code>importedMemberships</code> of a <code>Namespace</code> are derived using the <code>importedMemberships()</code> operation, with no initially <code>excluded</code> <code>Namespaces</code>.</p> - - - OCL2.0 - importedMembership = importedMemberships(Set{}) - - - - - <p>The <code>ownedImports</code> of a <code>Namespace</code> are all its <code>ownedRelationships</code> that are <code>Imports</code>.</p> - - - OCL2.0 - ownedImport = ownedRelationship->selectByKind(Import) - - - - - <p>The <code>ownedMemberships</code> of a <code>Namespace</code> are all its <code>ownedRelationships</code> that are <code>Memberships</code>.</p> - - - OCL2.0 - ownedMembership = ownedRelationship->selectByKind(Membership) - - - - - - <p>All <code>Memberships</code> in this <code>Namespace</code>, including (at least) the union of <code>ownedMemberships</code> and <code>importedMemberships</code>.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Namespace</code> that are <code>Imports</code>, for which the <code>Namespace</code> is the <code>importOwningNamespace</code>.</p> - - - - - - - - <p>The set of all member <code>Elements</code> of this <code>Namespace</code>, which are the <code>memberElements</code> of all <code>memberships</code> of the <code>Namespace</code>.</p> - - - - - - - - <p>The owned <code>members</code> of this <code>Namespace</code>, which are the <cpde><code>ownedMemberElements</code> of the <code>ownedMemberships</code> of the <code>Namespace</code>.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Namespace</code> that are <code>Memberships</code>, for which the <code>Namespace</code> is the <code>membershipOwningNamespace</code>.</p> - - - - - - - - <p>The <code>Memberships</code> in this <code>Namespace</code> that result from the <code>ownedImports</code> of this <code>Namespace</code>.</p> - - - - - - - - <p>Return the names of the given <code>element</code> as it is known in this <code>Namespace</code>.</p> - - - - - OCL2.0 - let elementMemberships : Sequence(Membership) = - memberships->select(memberElement = element) in -memberships.memberShortName-> - union(memberships.memberName)-> - asSet() - - - - - - - - - - - - <p>Returns this visibility of <code>mem</code> relative to this <code>Namespace</code>. If <code>mem</code> is an <code>importedMembership</code>, this is the <code>visibility</code> of its Import. Otherwise it is the <code>visibility</code> of the <code>Membership</code> itself.</p> - - - - - OCL2.0 - if importedMembership->includes(mem) then - ownedImport-> - select(importedMemberships(Set{})->includes(mem)). - first().visibility -else if memberships->includes(mem) then - mem.visibility -else - VisibilityKind::private -endif - - - - - - - - <p>If <code>includeAll = true</code>, then return all the <code>Memberships</code> of this <code>Namespace</code>. Otherwise, return only the publicly visible <code>Memberships</code> of this <code>Namespace</code>, including <code>ownedMemberships</code> that have a <code>visibility</code> of <code>public</code> and <code>Memberships</code> imported with a <code>visibility</code> of <code>public</code>. If <code>isRecursive = true</code>, also recursively include all visible <code>Memberships</code> of any <code>public</code> owned <code>Namespaces</code>, or, if <code>IncludeAll = true</code>, all <code>Memberships</code> of all owned <code>Namespaces</code>. When computing imported <code>Memberships</code>, ignore this <code>Namespace</code> and any <code>Namespaces</code> in the given <code>excluded</code> set.</p> - - - - - OCL2.0 - let visibleMemberships : OrderedSet(Membership) = - if includeAll then membershipsOfVisibility(null, excluded) - else membershipsOfVisibility(VisibilityKind::public, excluded) - endif in -if not isRecursive then visibleMemberships -else visibleMemberships->union(ownedMember-> - selectAsKind(Namespace). - select(includeAll or owningMembership.visibility = VisibilityKind::public)-> - visibleMemberships(excluded->including(self), true, includeAll)) -endif - - - - - - - - - - - - - - - - - - - - - <p>Derive the imported <code>Memberships</code> of this <code>Namespace</code> as the <code>importedMembership</code> of all <code>ownedImports</code>, excluding those Imports whose <code>importOwningNamespace</code> is in the <code>excluded</code> set, and excluding <code>Memberships</code> that have distinguisibility collisions with each other or with any <code>ownedMembership</code>.</p> - - - - - OCL2.0 - ownedImport.importedMemberships(excluded->including(self)) - - - - - - - - - - - - - - <p>If <code>visibility</code> is not null, return the <code>Memberships</code> of this <code>Namespace</code> with the given <code>visibility</code>, including <code>ownedMemberships</code> with the given <code>visibility</code> and <code>Memberships</code> imported with the given <code>visibility</code>. If <code>visibility</code> is null, return all <code>ownedMemberships</code> and imported <code>Memberships</code> regardless of visibility. When computing imported <code>Memberships</code>, ignore this <code>Namespace</code> and any <code>Namespaces</code> in the given <code>excluded</code> set.</p> - - - - OCL2.0 - ownedMembership-> - select(mem | visibility = null or mem.visibility = visibility)-> - union(ownedImport-> - select(imp | visibility = null or imp.visibility = visibility). - importedMemberships(excluded->including(self))) - - - - - - - - - - - - - - - - - - <p>Resolve the given qualified name to the named <code>Membership</code> (if any), starting with this <code>Namespace</code> as the local scope. The qualified name string must conform to the concrete syntax of the KerML textual notation. According to the KerML name resolution rules every qualified name will resolve to either a single <code>Membership</code>, or to none.</p> - - - - - OCL2.0 - let qualification : String = qualificationOf(qualifiedName) in -let name : String = unqualifiedNameOf(qualifiedName) in -if qualification = null then resolveLocal(name) -else if qualification = '$' then resolveGlobal(name) -else - let namespaceMembership : Membership = resolve(qualification) in - if namespaceMembership = null or - not namespaceMembership.memberElement.oclIsKindOf(Namespace) - then null - else - namespaceMembership.memberElement.oclAsType(Namespace). - resolveVisible(name) - endif -endif endif - - - - - - - - - - - - - <p>Resolve the given qualified name to the named <code>Membership</code> (if any) in the effective global <code>Namespace</code> that is the outermost naming scope. The qualified name string must conform to the concrete syntax of the KerML textual notation.</p> - - - - - English - No OCL - - - - - - - - - - - - - <p>Resolve a simple <code>name</code> starting with this <code>Namespace</code> as the local scope, and continuing with containing outer scopes as necessary. However, if this <code>Namespace</code> is a root <code>Namespace</code>, then the resolution is done directly in global scope.</p> - - - - - OCL2.0 - if owningNamespace = null then resolveGlobal(name) -else - let memberships : Membership = membership-> - select(memberShortName = name or memberName = name) in - if memberships->notEmpty() then memberships->first() - else owningNamspace.resolveLocal(name) - endif -endif - - - - - - - - - - - - - <p>Resolve a simple name from the visible <code>Memberships</code> of this <code>Namespace</code>.</p> - - - - - OCL2.0 - let memberships : Sequence(Membership) = - visibleMemberships(Set{}, false, false)-> - select(memberShortName = name or memberName = name) in -if memberships->isEmpty() then null -else memberships->first() -endif - - - - - - - - - - - - - <p>Return a string with valid KerML syntax representing the qualification part of a given <code>qualifiedName</code>, that is, a qualified name with all the segment names of the given name except the last. If the given <code>qualifiedName</code> has only one segment, then return null.</p> - - - - English - No OCL - - - - - - - - - - - - - - <p>Return the simple name that is the last segment name of the given <code>qualifiedName</code>. If this segment name has the form of a KerML unrestricted name, then "unescape" it by removing the surrounding single quotes and replacing all escape sequences with the specified character.</p> - - - - English - No OCL - - - - - - - - - - - - - - - <p>An <code>Import</code> is an <code>Relationship</code> between its <code>importOwningNamespace</code> and either a <code>Membership</code> (for a <code>MembershipImport</code>) or another <code>Namespace</code> (for a <code>NamespaceImport</code>), which determines a set of <code>Memberships</code> that become <code>importedMemberships</code> of the <code>importOwningNamespace</code>. If <code>isImportAll = false</code> (the default), then only public <code>Memberships</code> are considered &quot;visible&quot;. If <code>isImportAll = true</code>, then all <code>Memberships</code> are considered &quot;visible&quot;, regardless of their declared <code>visibility</code>. If <code>isRecursive = true</code>, then visible <code>Memberships</code> are also recursively imported from owned sub-<code>Namespaces</code>.</p> + <p>An <code>Element</code> with a <code>TextualRepresentation</code> in a language other than KerML is essentially a semantically &quot;opaque&quot; <code>Element</code> specified in the other language. However, a conforming KerML tool may interpret such an element consistently with the specification of the named language.</p> + + + + + + <p>The natural or artifical language in which the <code>body</code> text is written.</p> + + + + + + + + + <p>The <code>Element</code> that is represented by this <code>TextualRepresentation</code>.</p> + + + + + + + + <p>The textual representation of the <code>representedElement</code> in the given <code>language</code>.</p> + + + + + + + + + + <p><code>Documentation</code> is a <code>Comment</code> that specifically documents a <code>documentedElement</code>, which must be its <code>owner</code>.</p> + + + + + + <p>The <code>Element</code> that is documented by this <code>Documentation</code>.</p> + + + + + + + + + + + + + <p>A <code>Namespace</code> is an <code>Element</code> that contains other <code>Elements</code>, known as its <code>members</code>, via <code>Membership</code> <code>Relationships</code> with those <code>Elements</code>. The <code>members</code> of a <code>Namespace</code> may be owned by the <code>Namespace</code>, aliased in the <code>Namespace</code>, or imported into the <code>Namespace</code> via <code>Import</code> <code>Relationships</code>.</p> - - - - - <p>A top-level <code>Import</code> (that is, one that is owned by a root <code>Namespace</code>) must have a <code>visibility</code> of <code>private</code>.</p> - - - OCL2.0 - importOwningNamespace.owner = null implies - visibility = VisibilityKind::private - - - - - - <p>The Namespace into which Memberships are imported by this Import, which must be the <code>owningRelatedElement</code> of the Import.</p> - - - - - - - - <p>The visibility level of the imported <code>members</code> from this Import relative to the <code>importOwningNamespace</code>. The default is <code>private</code>.</p> - - - - - - - <p>Whether to recursively import Memberships from visible, owned sub-Namespaces.</p> - - - - - - - <p>Whether to import memberships without regard to declared visibility.</p> - - - - - - - - <p>The effectively imported <code>Element</code> for this </code>Import</code>. For a <code>MembershipImport</code>, this is the <code>memberElement</code> of the <code>importedMembership</code>. For a <code>NamespaceImport</code>, it is the <code>importedNamespace</code>.</p> - - - - - - - <p>Returns Memberships that are to become <code>importedMemberships</code> of the <code>importOwningNamespace</code>. (The <code>excluded</code> parameter is used to handle the possibility of circular Import Relationships.)</p> - - - - - - - - - - - - - - - - <p>A <code>MembershipImport</code> is an <code>Import</code> that imports its <code>importedMembership</code> into the <code>importOwningNamespace</code>. If <code>isRecursive = true</code> and the <code>memberElement</code> of the <code>importedMembership</code> is a <code>Namespace</code>, then the equivalent of a recursive <code>NamespaceImport</code> is also performed on that <code>Namespace</code>.</p> - - - - - <p>The <code>importedElement</code> of a <code>MembershipImport</code> is the <code>memberElement</code> of its <code>importedMembership</code>.</p> - - - OCL2.0 - importedElement = importedMembership.memberElement - - - - - - <p>The <code>Membership</code> to be imported.</p> - - - - - - - - <p>Returns at least the <code>importedMembership</code>. If <code>isRecursive = true</code> and the <code>memberElement</code> of the <code>importedMembership</code> is a <code>Namespace</code>, then <code>Memberships</code> are also recursively imported from that <code>Namespace</code>.</p> - - - - - OCL2.0 - if not isRecursive or - not importedElement.oclIsKindOf(Namespace) or - excluded->includes(importedElement) -then Sequence{importedMembership} -else importedElement.oclAsType(Namespace). - visibleMemberships(excluded, true, importAll)-> - prepend(importedMembership) -endif - - - - - - - - - - - - - - - - <p>The Membership with a certain Element as its <code>memberElement</code>.</p> - - - - - - - - - <p>An Import with a certain <code>importedElement</code>.</p> - - - - - - - - <p>A <code>NamespaceImport</code> is an Import that imports <code>Memberships</code> from its <code>importedNamespace</code> into the <code>importOwningNamespace</code>. If <code> isRecursive = false</code>, then only the visible <code>Memberships</code> of the <code>importedNamespace</code> are imported. If <code> isRecursive = true</code>, then, in addition, <code>Memberships</code> are recursively imported from any <code>ownedMembers</code> of the <code>importedNamespace</code> that are <code>Namespaces</code>.</p> - - - - - <p>The <code>importedElement</code> of a <code>NamespaceImport</code> is its <code>importedNamespace</code>.</p> - - - OCL2.0 - importedElement = importedNamespace - - - - - - <p>The <code>Namespace</code> whose visible <code>Memberships</code> are imported by this <code>NamespaceImport</code>.</p> - - - - - - - - <p>Returns at least the visible <code>Memberships</code> of the <code>importedNamespace</code>. If <code>isRecursive = true</code>, then <code>Memberships</code> are also recursively imported from any <code>ownedMembers</code> of the <code>importedNamespace</code> that are themselves <code>Namespaces</code>.</p> - - - - - OCL2.0 - if excluded->includes(importedNamespace) then Sequence{} -else importedNamespace.visibleMemberships(excluded, isRecursive, isImportAll) - - - - - - - - - - - - - - - - <p>The Namespace that has a certain <code>membership</code>.</p> - - - - - - - - <p>A <code>Membership</code> is a <code>Relationship</code> between a <code>Namespace</code> and an <code>Element</code> that indicates the <code>Element</code> is a <code>member</code> of (i.e., is contained in) the Namespace. Any <code>memberNames</code> specify how the <code>memberElement</code> is identified in the <code>Namespace</code> and the <code>visibility</code> specifies whether or not the <code>memberElement</code> is publicly visible from outside the <code>Namespace</code>.</p> + <p>A <code>Namespace</code> can provide names for its <code>members</code> via the <code>memberNames</code> and <code>memberShortNames</code> specified by the <code>Memberships</code> in the <code>Namespace</code>. If a <code>Membership</code> specifies a <code>memberName</code> and/or <code>memberShortName</code>, then those are names of the corresponding <code>memberElement</code> relative to the <code>Namespace</code>. For an <code>OwningMembership</code>, the <code>ownedMemberName</code> and <code>ownedMemberShortName</code> are given by the <code>Element</code> <code>name</code> and <code>shortName</code>. Note that the same <code>Element</code> may be the <code>memberElement</code> of multiple <code>Memberships</code> in a <code>Namespace</code> (though it may be owned at most once), each of which may define a separate alias for the <code>Element</code> relative to the <code>Namespace</code>.</p> + + + + + <p>All <code>memberships</code> of a <code>Namespace</code> must be distinguishable from each other.</p> + + + OCL2.0 + membership->forAll(m1 | + membership->forAll(m2 | + m1 <> m2 implies m1.isDistinguishableFrom(m2))) + + + + + <p>The <code>members</code> of a <code>Namespace</code> are the <code>memberElements</code> of all its <code>memberships</code>.</p> + + + OCL2.0 + member = membership.memberElement + + + + + <p>The <code>ownedMembers</code> of a <code>Namespace</code> are the <code>ownedMemberElements</code> of all its <code>ownedMemberships</code> that are <code>OwningMemberships</code>. + + + OCL2.0 + ownedMember = ownedMembership->selectByKind(OwningMembership).ownedMemberElement + + + + + <p>The <code>importedMemberships</code> of a <code>Namespace</code> are derived using the <code>importedMemberships()</code> operation, with no initially <code>excluded</code> <code>Namespaces</code>.</p> + + + OCL2.0 + importedMembership = importedMemberships(Set{}) + + + + + <p>The <code>ownedImports</code> of a <code>Namespace</code> are all its <code>ownedRelationships</code> that are <code>Imports</code>.</p> + + + OCL2.0 + ownedImport = ownedRelationship->selectByKind(Import) + + + + + <p>The <code>ownedMemberships</code> of a <code>Namespace</code> are all its <code>ownedRelationships</code> that are <code>Memberships</code>.</p> + + + OCL2.0 + ownedMembership = ownedRelationship->selectByKind(Membership) + + + + + + <p>All <code>Memberships</code> in this <code>Namespace</code>, including (at least) the union of <code>ownedMemberships</code> and <code>importedMemberships</code>.</p> + + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Namespace</code> that are <code>Imports</code>, for which the <code>Namespace</code> is the <code>importOwningNamespace</code>.</p> + + + + + + + + <p>The set of all member <code>Elements</code> of this <code>Namespace</code>, which are the <code>memberElements</code> of all <code>memberships</code> of the <code>Namespace</code>.</p> + + + + + + + + <p>The owned <code>members</code> of this <code>Namespace</code>, which are the <cpde><code>ownedMemberElements</code> of the <code>ownedMemberships</code> of the <code>Namespace</code>.</p> + + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Namespace</code> that are <code>Memberships</code>, for which the <code>Namespace</code> is the <code>membershipOwningNamespace</code>.</p> + + + + + + + + <p>The <code>Memberships</code> in this <code>Namespace</code> that result from the <code>ownedImports</code> of this <code>Namespace</code>.</p> + + + + + + + + <p>Return the names of the given <code>element</code> as it is known in this <code>Namespace</code>.</p> + + + + + OCL2.0 + let elementMemberships : Sequence(Membership) = + memberships->select(memberElement = element) in + memberships.memberShortName-> + union(memberships.memberName)-> + asSet() + + + + + + + + + + + + <p>Returns this visibility of <code>mem</code> relative to this <code>Namespace</code>. If <code>mem</code> is an <code>importedMembership</code>, this is the <code>visibility</code> of its Import. Otherwise it is the <code>visibility</code> of the <code>Membership</code> itself.</p> + + + + + OCL2.0 + if importedMembership->includes(mem) then + ownedImport-> + select(importedMemberships(Set{})->includes(mem)). + first().visibility + else if memberships->includes(mem) then + mem.visibility + else + VisibilityKind::private + endif + + + + + + + + <p>If <code>includeAll = true</code>, then return all the <code>Memberships</code> of this <code>Namespace</code>. Otherwise, return only the publicly visible <code>Memberships</code> of this <code>Namespace</code>, including <code>ownedMemberships</code> that have a <code>visibility</code> of <code>public</code> and <code>Memberships</code> imported with a <code>visibility</code> of <code>public</code>. If <code>isRecursive = true</code>, also recursively include all visible <code>Memberships</code> of any <code>public</code> owned <code>Namespaces</code>, or, if <code>IncludeAll = true</code>, all <code>Memberships</code> of all owned <code>Namespaces</code>. When computing imported <code>Memberships</code>, ignore this <code>Namespace</code> and any <code>Namespaces</code> in the given <code>excluded</code> set.</p> + + + + + OCL2.0 + let visibleMemberships : OrderedSet(Membership) = + if includeAll then membershipsOfVisibility(null, excluded) + else membershipsOfVisibility(VisibilityKind::public, excluded) + endif in + if not isRecursive then visibleMemberships + else visibleMemberships->union(ownedMember-> + selectAsKind(Namespace). + select(includeAll or owningMembership.visibility = VisibilityKind::public)-> + visibleMemberships(excluded->including(self), true, includeAll)) + endif + + + + + + + + + + + + + + + + + + + + + <p>Derive the imported <code>Memberships</code> of this <code>Namespace</code> as the <code>importedMembership</code> of all <code>ownedImports</code>, excluding those Imports whose <code>importOwningNamespace</code> is in the <code>excluded</code> set, and excluding <code>Memberships</code> that have distinguisibility collisions with each other or with any <code>ownedMembership</code>.</p> + + + + + OCL2.0 + ownedImport.importedMemberships(excluded->including(self)) + + + + + + + + + + + + + + <p>If <code>visibility</code> is not null, return the <code>Memberships</code> of this <code>Namespace</code> with the given <code>visibility</code>, including <code>ownedMemberships</code> with the given <code>visibility</code> and <code>Memberships</code> imported with the given <code>visibility</code>. If <code>visibility</code> is null, return all <code>ownedMemberships</code> and imported <code>Memberships</code> regardless of visibility. When computing imported <code>Memberships</code>, ignore this <code>Namespace</code> and any <code>Namespaces</code> in the given <code>excluded</code> set.</p> + + + + OCL2.0 + ownedMembership-> + select(mem | visibility = null or mem.visibility = visibility)-> + union(ownedImport-> + select(imp | visibility = null or imp.visibility = visibility). + importedMemberships(excluded->including(self))) + + + + + + + + + + + + + + + + + + <p>Resolve the given qualified name to the named <code>Membership</code> (if any), starting with this <code>Namespace</code> as the local scope. The qualified name string must conform to the concrete syntax of the KerML textual notation. According to the KerML name resolution rules every qualified name will resolve to either a single <code>Membership</code>, or to none.</p> + + + + + OCL2.0 + let qualification : String = qualificationOf(qualifiedName) in + let name : String = unqualifiedNameOf(qualifiedName) in + if qualification = null then resolveLocal(name) + else if qualification = '$' then resolveGlobal(name) + else + let namespaceMembership : Membership = resolve(qualification) in + if namespaceMembership = null or + not namespaceMembership.memberElement.oclIsKindOf(Namespace) + then null + else + namespaceMembership.memberElement.oclAsType(Namespace). + resolveVisible(name) + endif + endif endif + + + + + + + + + + + + + <p>Resolve the given qualified name to the named <code>Membership</code> (if any) in the effective global <code>Namespace</code> that is the outermost naming scope. The qualified name string must conform to the concrete syntax of the KerML textual notation.</p> + + + + + English + No OCL + + + + + + + + + + + + + <p>Resolve a simple <code>name</code> starting with this <code>Namespace</code> as the local scope, and continuing with containing outer scopes as necessary. However, if this <code>Namespace</code> is a root <code>Namespace</code>, then the resolution is done directly in global scope.</p> + + + + + OCL2.0 + if owningNamespace = null then resolveGlobal(name) + else + let memberships : Membership = membership-> + select(memberShortName = name or memberName = name) in + if memberships->notEmpty() then memberships->first() + else owningNamspace.resolveLocal(name) + endif + endif + + + + + + + + + + + + + <p>Resolve a simple name from the visible <code>Memberships</code> of this <code>Namespace</code>.</p> + + + + + OCL2.0 + let memberships : Sequence(Membership) = + visibleMemberships(Set{}, false, false)-> + select(memberShortName = name or memberName = name) in + if memberships->isEmpty() then null + else memberships->first() + endif + + + + + + + + + + + + + <p>Return a string with valid KerML syntax representing the qualification part of a given <code>qualifiedName</code>, that is, a qualified name with all the segment names of the given name except the last. If the given <code>qualifiedName</code> has only one segment, then return null.</p> + + + + English + No OCL + + + + + + + + + + + + + + <p>Return the simple name that is the last segment name of the given <code>qualifiedName</code>. If this segment name has the form of a KerML unrestricted name, then "unescape" it by removing the surrounding single quotes and replacing all escape sequences with the specified character.</p> + + + + English + No OCL + + + + + + + + + + + + + + + <p>An <code>Import</code> is an <code>Relationship</code> between its <code>importOwningNamespace</code> and either a <code>Membership</code> (for a <code>MembershipImport</code>) or another <code>Namespace</code> (for a <code>NamespaceImport</code>), which determines a set of <code>Memberships</code> that become <code>importedMemberships</code> of the <code>importOwningNamespace</code>. If <code>isImportAll = false</code> (the default), then only public <code>Memberships</code> are considered &quot;visible&quot;. If <code>isImportAll = true</code>, then all <code>Memberships</code> are considered &quot;visible&quot;, regardless of their declared <code>visibility</code>. If <code>isRecursive = true</code>, then visible <code>Memberships</code> are also recursively imported from owned sub-<code>Namespaces</code>.</p> -<p>If a <code>Membership</code> is an <code>OwningMembership</code>, then it owns its <code>memberElement</code>, which becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code>. Otherwise, the <code>memberNames</code> of a <code>Membership</code> are effectively aliases within the <code>membershipOwningNamespace</code> for an <code>Element</code> with a separate <code>OwningMembership</code> in the same or a different <code>Namespace</code>.</p> + + + + + <p>A top-level <code>Import</code> (that is, one that is owned by a root <code>Namespace</code>) must have a <code>visibility</code> of <code>private</code>.</p> + + + OCL2.0 + importOwningNamespace.owner = null implies + visibility = VisibilityKind::private + + + + + + <p>The Namespace into which Memberships are imported by this Import, which must be the <code>owningRelatedElement</code> of the Import.</p> + + + + + + + + <p>The visibility level of the imported <code>members</code> from this Import relative to the <code>importOwningNamespace</code>. The default is <code>private</code>.</p> + + + + + + + <p>Whether to recursively import Memberships from visible, owned sub-Namespaces.</p> + + + + + + + <p>Whether to import memberships without regard to declared visibility.</p> + + + + + + + + <p>The effectively imported <code>Element</code> for this </code>Import</code>. For a <code>MembershipImport</code>, this is the <code>memberElement</code> of the <code>importedMembership</code>. For a <code>NamespaceImport</code>, it is the <code>importedNamespace</code>.</p> + + + + + + + <p>Returns Memberships that are to become <code>importedMemberships</code> of the <code>importOwningNamespace</code>. (The <code>excluded</code> parameter is used to handle the possibility of circular Import Relationships.)</p> + + + + + + + + + + + + + + + + <p>A <code>MembershipImport</code> is an <code>Import</code> that imports its <code>importedMembership</code> into the <code>importOwningNamespace</code>. If <code>isRecursive = true</code> and the <code>memberElement</code> of the <code>importedMembership</code> is a <code>Namespace</code>, then the equivalent of a recursive <code>NamespaceImport</code> is also performed on that <code>Namespace</code>.</p> + + + + + <p>The <code>importedElement</code> of a <code>MembershipImport</code> is the <code>memberElement</code> of its <code>importedMembership</code>.</p> + + + OCL2.0 + importedElement = importedMembership.memberElement + + + + + + <p>The <code>Membership</code> to be imported.</p> + + + + + + + + <p>Returns at least the <code>importedMembership</code>. If <code>isRecursive = true</code> and the <code>memberElement</code> of the <code>importedMembership</code> is a <code>Namespace</code>, then <code>Memberships</code> are also recursively imported from that <code>Namespace</code>.</p> + + + + + OCL2.0 + if not isRecursive or + not importedElement.oclIsKindOf(Namespace) or + excluded->includes(importedElement) + then Sequence{importedMembership} + else importedElement.oclAsType(Namespace). + visibleMemberships(excluded, true, importAll)-> + prepend(importedMembership) + endif + + + + + + + + + + + + + + + + <p>The Membership with a certain Element as its <code>memberElement</code>.</p> + + + + + + + + + <p>An Import with a certain <code>importedElement</code>.</p> + + + + + + + + <p>A <code>NamespaceImport</code> is an Import that imports <code>Memberships</code> from its <code>importedNamespace</code> into the <code>importOwningNamespace</code>. If <code> isRecursive = false</code>, then only the visible <code>Memberships</code> of the <code>importedNamespace</code> are imported. If <code> isRecursive = true</code>, then, in addition, <code>Memberships</code> are recursively imported from any <code>ownedMembers</code> of the <code>importedNamespace</code> that are <code>Namespaces</code>.</p> + + + + + <p>The <code>importedElement</code> of a <code>NamespaceImport</code> is its <code>importedNamespace</code>.</p> + + + OCL2.0 + importedElement = importedNamespace + + + + + + <p>The <code>Namespace</code> whose visible <code>Memberships</code> are imported by this <code>NamespaceImport</code>.</p> + + + + + + + + <p>Returns at least the visible <code>Memberships</code> of the <code>importedNamespace</code>. If <code>isRecursive = true</code>, then <code>Memberships</code> are also recursively imported from any <code>ownedMembers</code> of the <code>importedNamespace</code> that are themselves <code>Namespaces</code>.</p> + + + + + OCL2.0 + if excluded->includes(importedNamespace) then Sequence{} + else importedNamespace.visibleMemberships(excluded, isRecursive, isImportAll) + + + + + + + + + + + + + + + + <p>The Namespace that has a certain <code>membership</code>.</p> + + + + + + + + <p>A <code>Membership</code> is a <code>Relationship</code> between a <code>Namespace</code> and an <code>Element</code> that indicates the <code>Element</code> is a <code>member</code> of (i.e., is contained in) the Namespace. Any <code>memberNames</code> specify how the <code>memberElement</code> is identified in the <code>Namespace</code> and the <code>visibility</code> specifies whether or not the <code>memberElement</code> is publicly visible from outside the <code>Namespace</code>.</p> -<p>&nbsp;</p> - - - - - <p>The <code>memberElementId</code> of a <code>Membership</code> is the <code>elementId</code> of its <code>memberElement</code>.</p> - - - OCL2.0 - memberElementId = memberElement.elementId - - - - - - <p>The <code>elementId</code> of the <code>memberElement</code>.</p> - - - - - - <p>The <code>Namespace</code> of which the <code>memberElement</code> becomes a <code>member</code> due to this <code>Membership</code>.</p> - - - - - - - - <p>The short name of the <code>memberElement</code> relative to the <code>membershipOwningNamespace</code>.</p> - - - - - - - - <p>The <code>Element</code> that becomes a <code>member</code> of the <code>membershipOwningNamespace</code> due to this <code>Membership</code>.</p> - - - - - - - - <p>The name of the <code>memberElement</code> relative to the <code>membershipOwningNamespace</code>.</p> - - - - - - - - - <p>Whether or not the <code>Membership</code> of the <code>memberElement</code> in the <code>membershipOwningNamespace</code> is publicly visible outside that <code>Namespace</code>.</p> - - - - - - - <p>Whether this <code>Membership</code> is distinguishable from a given <code>other</code> <code>Membership</code>. By default, this is true if this <code>Membership</code> has no <code>memberShortName</code> or <code>memberName</code>; or each of the <code>memberShortName</code> and <code>memberName</code> are different than both of those of the <code>other</code> <code>Membership</code>; or neither of the metaclasses of the <code>memberElement</code> of this <code>Membership</code> and the <code>memberElement</code> of the <code>other</code> <code>Membership</code> conform to the other. But this may be overridden in specializations of <code>Membership</code>.</p> - - - - - OCL2.0 - not (memberElement.oclKindOf(other.memberElement.oclType()) or - other.memberElement.oclKindOf(memberElement.oclType())) or -(shortMemberName = null or - (shortMemberName <> other.shortMemberName and - shortMemberName <> other.memberName)) and -(memberName = null or - (memberName <> other.shortMemberName and - memberName <> other.memberName))) - - - - - - - - - - - - - <p>The Namespace with a certain <code>importedMembership</code>.</p> - - - - - - - - - - <p>A NamespaceImport that has a certain <code>importedNamespace</code>.</p> - - - - - - - - <p>An <code>OwningMembership</code> is a <code>Membership</code> that owns its <code>memberElement</code> as a <code>ownedRelatedElement</code>. The <code>ownedMemberElement</code> becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code>.</p> - - - - - <p>The <code>ownedMemberName</code> of an <code>OwningMembership</code> is the <code>name</code> of its <code>ownedMemberElement</code>.</p> - - - OCL2.0 - ownedMemberName = ownedMemberElement.name - - - - - <p>The <code>ownedMemberShortName</code> of an <code>OwningMembership</code> is the <code>shortName</code> of its <code>ownedMemberElement</code>.</p> - - - OCL2.0 - ownedMemberShortName = ownedMemberElement.shortName - - - - - - <p>The <code>Element</code> that becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code> due to this <code>OwningMembership</code>.</p> - - - - - - - - <p>The <code>elementId</code> of the <code>ownedMemberElement</code>.</p> - - - - - - <p>The <code>shortName</code> of the <code>ownedMemberElement</code>.</p> - - - - - - - - <p>The <code>name</code> of the <code>ownedMemberElement</code>.</p> - - - - - - - - - <p>If the <code>ownedMemberElement</code> of this <code>OwningMembership</code> has a non-null <code>qualifiedName</code>, then return the string constructed by appending to that <code>qualifiedName</code> the string <code>"/owningMembership"</code>. Otherwise, return the <code>path</code> of the <code>OwningMembership</code> as specified for a <code>Relationship</code> in general. - - - - OCL2.0 - if ownedElement.qualifiedName <> null then - ownedElement.qualifiedName + '/owningMembership' -else self.oclAsType(Relationship).path() -endif - - - - - - - - - - - <p>The Namespace the has a certain Element as a <code>member</code>.</p> - - - - - - - - <p><code>VisibilityKind</code> is an enumeration whose literals specify the visibility of a <code>Membership</code> of an <code>Element</code> in a <code>Namespace</code> outside of that <code>Namespace</code>. Note that &quot;visibility&quot; specifically restricts whether an <code>Element</code> in a <code>Namespace</code> may be referenced by name from outside the <code>Namespace</code> and only otherwise restricts access to an <code>Element</code> as provided by specific constraints in the abstract syntax (e.g., preventing the import or inheritance of private <code>Elements</code>).</p> - - - - - <p>Indicates a <code>Membership</code> is not visible outside its owning <code>Namespace</code>.</p> - - - - - <p>An intermediate level of visibility between <code>public</code> and <code>private</code>. By default, it is equivalent to <code>private</code> for the purposes of normal access to and import of <code>Elements</code> from a <code>Namespace</code>. However, other <code>Relationships</code> may be specified to include <code>Memberships</code> with <code>protected</code> visibility in the list of <code>memberships</code> for a <code>Namespace</code> (e.g., <code>Specialization</code>).</p> - - - - - - <p>Indicates that a <code>Membership</code> is publicly visible outside its owning <code>Namespace</code>.</p> - - - - - - - <p>A MembershipImport that has a certain <code>importedMembership</code>.</p> - - - - - - - - - - <p>An <code>Element</code> is a constituent of a model that is uniquely identified relative to all other <code>Elements</code>. It can have <code>Relationships</code> with other <code>Elements</code>. Some of these <code>Relationships</code> might imply ownership of other <code>Elements</code>, which means that if an <code>Element</code> is deleted from a model, then so are all the <code>Elements</code> that it owns.</p> - - - - - <p>The <code>ownedElements</code> of an <code>Element</code> are the <code>ownedRelatedElements</code> of its <code>ownedRelationships</code>.</p> - - - OCL2.0 - ownedElement = ownedRelationship.ownedRelatedElement - - - - - <p>The <code>owner</code> of an <code>Element</code> is the <code>owningRelatedElement</code> of its <code>owningRelationship</code>.</p> - - - OCL2.0 - owner = owningRelationship.owningRelatedElement - - - - - <p>If this <code>Element</code> does not have an <code>owningNamespace</code>, then its <code>qualifiedName</code> is null. If the <code>owningNamespace</code> of this Element is a root <code>Namespace</code>, then the <code>qualifiedName</code> of the <code>Element</code> is the escaped name of the <code>Element</code> (if any). If the <code>owningNamespace</code> is non-null but not a root <code>Namespace</code>, then the <code>qualifiedName</code> of this <code>Element</code> is constructed from the <code>qualifiedName</code> of the <code>owningNamespace</code> and the escaped name of the <code>Element</code>, unless the <code>qualifiedName</code> of the <code>owningNamespace</code> is null or the escaped name is null, in which case the <code>qualifiedName</code> of this <code>Element</code> is also null. Further, if the <code>owningNamespace</code> has other <code>ownedMembers</code> with the same non-null name as this <code>Element</code>, and this <code>Element</code> is not the first, then the <code>qualifiedName</code> of this <code>Element</code> is null.</p> - - - OCL2.0 - qualifiedName = - if owningNamespace = null then null - else if name <> null and - owningNamespace.ownedMember-> - select(m | m.name = name).indexOf(self) <> 1 then null - else if owningNamespace.owner = null then escapedName() - else if owningNamespace.qualifiedName = null or - escapedName() = null then null - else owningNamespace.qualifiedName + '::' + escapedName() - endif endif endif endif - - - - - <p>The <code>documentation</code> of an <code>Element</code> is its <code>ownedElements</code> that are <code>Documentation</code>.</p> - - - OCL2.0 - documentation = ownedElement->selectByKind(Documentation) - - - - - <p>The <code>ownedAnnotations</code> of an <code>Element</code> are its <code>ownedRelationships</code> that are <code>Annotations</code>, for which the <code>Element</code> is the <code>annotatedElement</code>.</p> - - - OCL2.0 - ownedAnnotation = ownedRelationship-> - selectByKind(Annotation)-> - select(a | a.annotatedElement = self) - - - - - <p>The <code>name</code> of an <code>Element</code> is given by the result of the <code>effectiveName()</code> operation.</p> - - - OCL2.0 - name = effectiveName() - - - - - <p>If an <code>Element</code> has any <code>ownedRelationships</code> for which <code>isImplied = true</code>, then the <code>Element</code> must also have <code>isImpliedIncluded = true</code>. (Note that an <code>Element</code> <em>can</em> have <code>isImplied = true</code> even if no <code>ownedRelationships</code> have <code>isImplied = true</code>, indicating the <code>Element</code> simply has no implied <code>Relationships</code>.</p> - - - OCL2.0 - ownedRelationship->exists(isImplied) implies isImpliedIncluded - - - - - <p>An <code>Element</code> <code>isLibraryElement</code> if <code>libraryNamespace()</code> is not null.</p> - - - OCL2.0 - isLibraryElement = libraryNamespace() <> null - - - - - - <p>The <code>shortName</code> of an <code>Element</code> is given by the result of the <code>effectiveShortName()</code> operation.</p> - - - OCL2.0 - shortName = effectiveShortName() - - - - - <p>The <code>owningNamespace</code> of an <code>Element</code> is the <code>membershipOwningNamspace</code> of its <code>owningMembership</code> (if any).</p> - - - OCL2.0 - owningNamespace = - if owningMembership = null then null - else owningMembership.membershipOwningNamespace - endif - - - - - <p>The <code>textualRepresentations</code> of an <code>Element</code> are its <code>ownedElements</code> that are <code>TextualRepresentations</code>.</p> - - - OCL2.0 - textualRepresentation = ownedElement->selectByKind(TextualRepresentation) - - - - - <p>The <code>owningRelationship</code> of this <code>Element</code>, if that <code>Relationship</code> is a <code>Membership</code>.</p> - - - - - - - - <p>The Relationship for which this Element is an <tt>ownedRelatedElement</tt>, if any.</p> - - - - - - - - <p>The <code>Namespace</code> that owns this <code>Element</code>, which is the <code>membershipOwningNamespace</code> of the <code>owningMembership</code> of this <code>Element</code>, if any.</p> - - - - - - - - <p>The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element.</p> - - - - - - <p>The Relationships for which this Element is the <tt>owningRelatedElement</tt>.</p> - - - - - - - <p>The owner of this Element, derived as the <code>owningRelatedElement</code> of the <code>owningRelationship</code> of this Element, if any.</p> - - - - - - - <p>The Elements owned by this Element, derived as the <tt>ownedRelatedElements</tt> of the <tt>ownedRelationships</tt> of this Element.</p> - - - - - - - - <p>The Documentation owned by this Element.</p> - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Element</code> that are <code>Annotations</code>, for which this <code>Element</code> is the <code>annotatedElement</code>.</code> - - - - - - - <p>The <code>TextualRepresentations</code> that annotate this <code>Element</code>.</p> - - - - - - - <p>Various alternative identifiers for this Element. Generally, these will be set by tools.</p> - - - - - - - - <p>An optional alternative name for the <code>Element</code> that is intended to be shorter or in some way more succinct than its primary <code>name</code>. It may act as a modeler-specified identifier for the <code>Element</code>, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.</p> - - - - - - - - - <p>The declared name of this <code>Element</code>.</p> - - - - - - - - - <p>The short name to be used for this <code>Element</code> during name resolution within its <code>owningNamespace</code>. This is derived using the <code>effectiveShortName()</code> operation. By default, it is the same as the <code>declaredShortName</code>, but this is overridden for certain kinds of <code>Elements</code> to compute a <code>shortName</code> even when the <code>declaredName</code> is null.</p> - - - - - - - - <p>The name to be used for this <code>Element</code> during name resolution within its <code>owningNamespace</code>. This is derived using the <code>effectiveName()</code> operation. By default, it is the same as the <code>declaredName</code>, but this is overridden for certain kinds of <code>Elements</code> to compute a <code>name</code> even when the <code>declaredName</code> is null.</p> - - - - - - - - <p>The full ownership-qualified name of this <code>Element</code>, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The <code>qualifiedName</code> is null if this <code>Element</code> has no <code>owningNamespace</code> or if there is not a complete ownership chain of named <code>Namespaces</code> from a root <code>Namespace</code> to this <code>Element</code>. If the <code>owningNamespace</code> has other <code>Elements</code> with the same name as this one, then the <code>qualifiedName</code> is null for all such <code>Elements</code> other than the first.</p> - - - - - - - - <p>Whether all necessary implied Relationships have been included in the <code>ownedRelationships</code> of this Element. This property may be true, even if there are not actually any <code>ownedRelationships</code> with <code>isImplied = true</code>, meaning that no such Relationships are actually implied for this Element. However, if it is false, then <code>ownedRelationships</code> may <em>not</em> contain any implied Relationships. That is, either <em>all</em> required implied Relationships must be included, or none of them.</p> - - - - - - - <p>Whether this Element is contained in the ownership tree of a library model.</p> - - - - - - <p>Return <code>name</code>, if that is not null, otherwise the <code>shortName</code>, if that is not null, otherwise null. If the returned value is non-null, it is returned as-is if it has the form of a basic name, or, otherwise, represented as a restricted name according to the lexical structure of the KerML textual notation (i.e., surrounded by single quote characters and with special characters escaped).</p> - - - - - - - - - - <p>Return an effective <code>shortName</code> for this <code>Element</code>. By default this is the same as its <code>declaredShortName</code>.</p> - - - - OCL2.0 - declaredShortName - - - - - - - - - - - <p>Return an effective <code>name</code> for this <code>Element</code>. By default this is the same as its <code>declaredName</code>.</p> - - - - OCL2.0 - declaredName - - - - - - - - - - - <p>By default, return the library Namespace of the <code>owningRelationship</code> of this Element, if it has one.</p> - - - - OCL2.0 - if owningRelationship <> null then owningRelationship.libraryNamespace() -else null endif - - - - - - - - - - <p>Return a unique description of the location of this <code>Element</code> in the containment structure rooted in a root <code>Namespace</code>. If the <code>Element</code> has a non-null <code>qualifiedName</code>, then return that. Otherwise, if it has an <code>owningRelationship</code>, then return the string constructed by appending to the <code>path</code> of it's <code>owningRelationship</code> the character <code>/</code> followed by the string representation of its position in the list of <code>ownedRelatedElements</code> of the <code>owningRelationship</code> (indexed starting at 1). Otherwise, return the empty string.</p> + <p>If a <code>Membership</code> is an <code>OwningMembership</code>, then it owns its <code>memberElement</code>, which becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code>. Otherwise, the <code>memberNames</code> of a <code>Membership</code> are effectively aliases within the <code>membershipOwningNamespace</code> for an <code>Element</code> with a separate <code>OwningMembership</code> in the same or a different <code>Namespace</code>.</p> -<p>(Note that this operation is overridden for <code>Relationships</code> to use <code>owningRelatedElement</code> when appropriate.)</p> - - - - OCL2.0 - if qualifiedName <> null then qualifiedName -else if owningRelationship <> null then - owningRelationship.path() + '/' + - owningRelationship.ownedRelatedElement->indexOf(self).toString() - -- A position index shall be converted to a decimal string representation - -- consisting of only decimal digits, with no sign, leading zeros or leading - -- or trailing whitespace. -else '' -endif endif - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>Relationship</code> is an <code>Element</code> that relates other <code>Element</code>. Some of its <code>relatedElements</code> may be owned, in which case those <code>ownedRelatedElements</code> will be deleted from a model if their <code>owningRelationship</code> is. A <code>Relationship</code> may also be owned by another <code>Element</code>, in which case the <code>ownedRelatedElements</code> of the <code>Relationship</code> are also considered to be transitively owned by the <code>owningRelatedElement</code> of the <code>Relationship</code>.</p> + <p>&nbsp;</p> + + + + + <p>The <code>memberElementId</code> of a <code>Membership</code> is the <code>elementId</code> of its <code>memberElement</code>.</p> + + + OCL2.0 + memberElementId = memberElement.elementId + + + + + + <p>The <code>elementId</code> of the <code>memberElement</code>.</p> + + + + + + <p>The <code>Namespace</code> of which the <code>memberElement</code> becomes a <code>member</code> due to this <code>Membership</code>.</p> + + + + + + + + <p>The short name of the <code>memberElement</code> relative to the <code>membershipOwningNamespace</code>.</p> + + + + + + + + <p>The <code>Element</code> that becomes a <code>member</code> of the <code>membershipOwningNamespace</code> due to this <code>Membership</code>.</p> + + + + + + + + <p>The name of the <code>memberElement</code> relative to the <code>membershipOwningNamespace</code>.</p> + + + + + + + + + <p>Whether or not the <code>Membership</code> of the <code>memberElement</code> in the <code>membershipOwningNamespace</code> is publicly visible outside that <code>Namespace</code>.</p> + + + + + + + <p>Whether this <code>Membership</code> is distinguishable from a given <code>other</code> <code>Membership</code>. By default, this is true if this <code>Membership</code> has no <code>memberShortName</code> or <code>memberName</code>; or each of the <code>memberShortName</code> and <code>memberName</code> are different than both of those of the <code>other</code> <code>Membership</code>; or neither of the metaclasses of the <code>memberElement</code> of this <code>Membership</code> and the <code>memberElement</code> of the <code>other</code> <code>Membership</code> conform to the other. But this may be overridden in specializations of <code>Membership</code>.</p> + + + + + OCL2.0 + not (memberElement.oclKindOf(other.memberElement.oclType()) or + other.memberElement.oclKindOf(memberElement.oclType())) or + (shortMemberName = null or + (shortMemberName <> other.shortMemberName and + shortMemberName <> other.memberName)) and + (memberName = null or + (memberName <> other.shortMemberName and + memberName <> other.memberName))) + + + + + + + + + + + + + <p>The Namespace with a certain <code>importedMembership</code>.</p> + + + + + + + + + + <p>A NamespaceImport that has a certain <code>importedNamespace</code>.</p> + + + + + + + + <p>An <code>OwningMembership</code> is a <code>Membership</code> that owns its <code>memberElement</code> as a <code>ownedRelatedElement</code>. The <code>ownedMemberElement</code> becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code>.</p> + + + + + <p>The <code>ownedMemberName</code> of an <code>OwningMembership</code> is the <code>name</code> of its <code>ownedMemberElement</code>.</p> + + + OCL2.0 + ownedMemberName = ownedMemberElement.name + + + + + <p>The <code>ownedMemberShortName</code> of an <code>OwningMembership</code> is the <code>shortName</code> of its <code>ownedMemberElement</code>.</p> + + + OCL2.0 + ownedMemberShortName = ownedMemberElement.shortName + + + + + + <p>The <code>Element</code> that becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code> due to this <code>OwningMembership</code>.</p> + + + + + + + + <p>The <code>elementId</code> of the <code>ownedMemberElement</code>.</p> + + + + + + <p>The <code>shortName</code> of the <code>ownedMemberElement</code>.</p> + + + + + + + + <p>The <code>name</code> of the <code>ownedMemberElement</code>.</p> + + + + + + + + + <p>If the <code>ownedMemberElement</code> of this <code>OwningMembership</code> has a non-null <code>qualifiedName</code>, then return the string constructed by appending to that <code>qualifiedName</code> the string <code>"/owningMembership"</code>. Otherwise, return the <code>path</code> of the <code>OwningMembership</code> as specified for a <code>Relationship</code> in general. + + + + OCL2.0 + if ownedElement.qualifiedName <> null then + ownedElement.qualifiedName + '/owningMembership' + else self.oclAsType(Relationship).path() + endif + + + + + + + + + + + <p>The Namespace the has a certain Element as a <code>member</code>.</p> + + + + + + + + <p><code>VisibilityKind</code> is an enumeration whose literals specify the visibility of a <code>Membership</code> of an <code>Element</code> in a <code>Namespace</code> outside of that <code>Namespace</code>. Note that &quot;visibility&quot; specifically restricts whether an <code>Element</code> in a <code>Namespace</code> may be referenced by name from outside the <code>Namespace</code> and only otherwise restricts access to an <code>Element</code> as provided by specific constraints in the abstract syntax (e.g., preventing the import or inheritance of private <code>Elements</code>).</p> + + + + + <p>Indicates a <code>Membership</code> is not visible outside its owning <code>Namespace</code>.</p> + + + + + <p>An intermediate level of visibility between <code>public</code> and <code>private</code>. By default, it is equivalent to <code>private</code> for the purposes of normal access to and import of <code>Elements</code> from a <code>Namespace</code>. However, other <code>Relationships</code> may be specified to include <code>Memberships</code> with <code>protected</code> visibility in the list of <code>memberships</code> for a <code>Namespace</code> (e.g., <code>Specialization</code>).</p> + + + + + + <p>Indicates that a <code>Membership</code> is publicly visible outside its owning <code>Namespace</code>.</p> + + + + + + + <p>A MembershipImport that has a certain <code>importedMembership</code>.</p> + + + + + + + + + + <p>An <code>Element</code> is a constituent of a model that is uniquely identified relative to all other <code>Elements</code>. It can have <code>Relationships</code> with other <code>Elements</code>. Some of these <code>Relationships</code> might imply ownership of other <code>Elements</code>, which means that if an <code>Element</code> is deleted from a model, then so are all the <code>Elements</code> that it owns.</p> + + + + + <p>The <code>ownedElements</code> of an <code>Element</code> are the <code>ownedRelatedElements</code> of its <code>ownedRelationships</code>.</p> + + + OCL2.0 + ownedElement = ownedRelationship.ownedRelatedElement + + + + + <p>The <code>owner</code> of an <code>Element</code> is the <code>owningRelatedElement</code> of its <code>owningRelationship</code>.</p> + + + OCL2.0 + owner = owningRelationship.owningRelatedElement + + + + + <p>If this <code>Element</code> does not have an <code>owningNamespace</code>, then its <code>qualifiedName</code> is null. If the <code>owningNamespace</code> of this Element is a root <code>Namespace</code>, then the <code>qualifiedName</code> of the <code>Element</code> is the escaped name of the <code>Element</code> (if any). If the <code>owningNamespace</code> is non-null but not a root <code>Namespace</code>, then the <code>qualifiedName</code> of this <code>Element</code> is constructed from the <code>qualifiedName</code> of the <code>owningNamespace</code> and the escaped name of the <code>Element</code>, unless the <code>qualifiedName</code> of the <code>owningNamespace</code> is null or the escaped name is null, in which case the <code>qualifiedName</code> of this <code>Element</code> is also null. Further, if the <code>owningNamespace</code> has other <code>ownedMembers</code> with the same non-null name as this <code>Element</code>, and this <code>Element</code> is not the first, then the <code>qualifiedName</code> of this <code>Element</code> is null.</p> + + + OCL2.0 + qualifiedName = + if owningNamespace = null then null + else if name <> null and + owningNamespace.ownedMember-> + select(m | m.name = name).indexOf(self) <> 1 then null + else if owningNamespace.owner = null then escapedName() + else if owningNamespace.qualifiedName = null or + escapedName() = null then null + else owningNamespace.qualifiedName + '::' + escapedName() + endif endif endif endif + + + + + <p>The <code>documentation</code> of an <code>Element</code> is its <code>ownedElements</code> that are <code>Documentation</code>.</p> + + + OCL2.0 + documentation = ownedElement->selectByKind(Documentation) + + + + + <p>The <code>ownedAnnotations</code> of an <code>Element</code> are its <code>ownedRelationships</code> that are <code>Annotations</code>, for which the <code>Element</code> is the <code>annotatedElement</code>.</p> + + + OCL2.0 + ownedAnnotation = ownedRelationship-> + selectByKind(Annotation)-> + select(a | a.annotatedElement = self) + + + + + <p>The <code>name</code> of an <code>Element</code> is given by the result of the <code>effectiveName()</code> operation.</p> + + + OCL2.0 + name = effectiveName() + + + + + <p>If an <code>Element</code> has any <code>ownedRelationships</code> for which <code>isImplied = true</code>, then the <code>Element</code> must also have <code>isImpliedIncluded = true</code>. (Note that an <code>Element</code> <em>can</em> have <code>isImplied = true</code> even if no <code>ownedRelationships</code> have <code>isImplied = true</code>, indicating the <code>Element</code> simply has no implied <code>Relationships</code>.</p> + + + OCL2.0 + ownedRelationship->exists(isImplied) implies isImpliedIncluded + + + + + <p>An <code>Element</code> <code>isLibraryElement</code> if <code>libraryNamespace()</code> is not null.</p> + + + OCL2.0 + isLibraryElement = libraryNamespace() <> null + + + + + + <p>The <code>shortName</code> of an <code>Element</code> is given by the result of the <code>effectiveShortName()</code> operation.</p> + + + OCL2.0 + shortName = effectiveShortName() + + + + + <p>The <code>owningNamespace</code> of an <code>Element</code> is the <code>membershipOwningNamspace</code> of its <code>owningMembership</code> (if any).</p> + + + OCL2.0 + owningNamespace = + if owningMembership = null then null + else owningMembership.membershipOwningNamespace + endif + + + + + <p>The <code>textualRepresentations</code> of an <code>Element</code> are its <code>ownedElements</code> that are <code>TextualRepresentations</code>.</p> + + + OCL2.0 + textualRepresentation = ownedElement->selectByKind(TextualRepresentation) + + + + + <p>The <code>owningRelationship</code> of this <code>Element</code>, if that <code>Relationship</code> is a <code>Membership</code>.</p> + + + + + + + + <p>The Relationship for which this Element is an <tt>ownedRelatedElement</tt>, if any.</p> + + + + + + + + <p>The <code>Namespace</code> that owns this <code>Element</code>, which is the <code>membershipOwningNamespace</code> of the <code>owningMembership</code> of this <code>Element</code>, if any.</p> + + + + + + + + <p>The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element.</p> + + + + + + <p>The Relationships for which this Element is the <tt>owningRelatedElement</tt>.</p> + + + + + + + <p>The owner of this Element, derived as the <code>owningRelatedElement</code> of the <code>owningRelationship</code> of this Element, if any.</p> + + + + + + + <p>The Elements owned by this Element, derived as the <tt>ownedRelatedElements</tt> of the <tt>ownedRelationships</tt> of this Element.</p> + + + + + + + + <p>The Documentation owned by this Element.</p> + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Element</code> that are <code>Annotations</code>, for which this <code>Element</code> is the <code>annotatedElement</code>.</code> + + + + + + + <p>The <code>TextualRepresentations</code> that annotate this <code>Element</code>.</p> + + + + + + + <p>Various alternative identifiers for this Element. Generally, these will be set by tools.</p> + + + + + + + + <p>An optional alternative name for the <code>Element</code> that is intended to be shorter or in some way more succinct than its primary <code>name</code>. It may act as a modeler-specified identifier for the <code>Element</code>, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.</p> + + + + + + + + + <p>The declared name of this <code>Element</code>.</p> + + + + + + + + + <p>The short name to be used for this <code>Element</code> during name resolution within its <code>owningNamespace</code>. This is derived using the <code>effectiveShortName()</code> operation. By default, it is the same as the <code>declaredShortName</code>, but this is overridden for certain kinds of <code>Elements</code> to compute a <code>shortName</code> even when the <code>declaredName</code> is null.</p> + + + + + + + + <p>The name to be used for this <code>Element</code> during name resolution within its <code>owningNamespace</code>. This is derived using the <code>effectiveName()</code> operation. By default, it is the same as the <code>declaredName</code>, but this is overridden for certain kinds of <code>Elements</code> to compute a <code>name</code> even when the <code>declaredName</code> is null.</p> + + + + + + + + <p>The full ownership-qualified name of this <code>Element</code>, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The <code>qualifiedName</code> is null if this <code>Element</code> has no <code>owningNamespace</code> or if there is not a complete ownership chain of named <code>Namespaces</code> from a root <code>Namespace</code> to this <code>Element</code>. If the <code>owningNamespace</code> has other <code>Elements</code> with the same name as this one, then the <code>qualifiedName</code> is null for all such <code>Elements</code> other than the first.</p> + + + + + + + + <p>Whether all necessary implied Relationships have been included in the <code>ownedRelationships</code> of this Element. This property may be true, even if there are not actually any <code>ownedRelationships</code> with <code>isImplied = true</code>, meaning that no such Relationships are actually implied for this Element. However, if it is false, then <code>ownedRelationships</code> may <em>not</em> contain any implied Relationships. That is, either <em>all</em> required implied Relationships must be included, or none of them.</p> + + + + + + + <p>Whether this Element is contained in the ownership tree of a library model.</p> + + + + + + <p>Return <code>name</code>, if that is not null, otherwise the <code>shortName</code>, if that is not null, otherwise null. If the returned value is non-null, it is returned as-is if it has the form of a basic name, or, otherwise, represented as a restricted name according to the lexical structure of the KerML textual notation (i.e., surrounded by single quote characters and with special characters escaped).</p> + + + + + + + + + + <p>Return an effective <code>shortName</code> for this <code>Element</code>. By default this is the same as its <code>declaredShortName</code>.</p> + + + + OCL2.0 + declaredShortName + + + + + + + + + + + <p>Return an effective <code>name</code> for this <code>Element</code>. By default this is the same as its <code>declaredName</code>.</p> + + + + OCL2.0 + declaredName + + + + + + + + + + + <p>By default, return the library Namespace of the <code>owningRelationship</code> of this Element, if it has one.</p> + + + + OCL2.0 + if owningRelationship <> null then owningRelationship.libraryNamespace() + else null endif + + + + + + + + + + <p>Return a unique description of the location of this <code>Element</code> in the containment structure rooted in a root <code>Namespace</code>. If the <code>Element</code> has a non-null <code>qualifiedName</code>, then return that. Otherwise, if it has an <code>owningRelationship</code>, then return the string constructed by appending to the <code>path</code> of it's <code>owningRelationship</code> the character <code>/</code> followed by the string representation of its position in the list of <code>ownedRelatedElements</code> of the <code>owningRelationship</code> (indexed starting at 1). Otherwise, return the empty string.</p> -<p>The <code>relatedElements</code> of a <code>Relationship</code> are divided into <code>source</code> and <code>target</code> <code>Elements</code>. The <code>Relationship</code> is considered to be directed from the <code>source</code> to the <code>target</code> <code>Elements</code>. An undirected <code>Relationship</code> may have either all <code>source</code> or all <code>target</code> <code>Elements</code>.</p> + <p>(Note that this operation is overridden for <code>Relationships</code> to use <code>owningRelatedElement</code> when appropriate.)</p> + + + + OCL2.0 + if qualifiedName <> null then qualifiedName + else if owningRelationship <> null then + owningRelationship.path() + '/' + + owningRelationship.ownedRelatedElement->indexOf(self).toString() + -- A position index shall be converted to a decimal string representation + -- consisting of only decimal digits, with no sign, leading zeros or leading + -- or trailing whitespace. + else '' + endif endif + + + + + + + + + + + + + + + + + + + + + + + + + + <p>A <code>Relationship</code> is an <code>Element</code> that relates other <code>Element</code>. Some of its <code>relatedElements</code> may be owned, in which case those <code>ownedRelatedElements</code> will be deleted from a model if their <code>owningRelationship</code> is. A <code>Relationship</code> may also be owned by another <code>Element</code>, in which case the <code>ownedRelatedElements</code> of the <code>Relationship</code> are also considered to be transitively owned by the <code>owningRelatedElement</code> of the <code>Relationship</code>.</p> -<p>A &quot;relationship <code>Element</code>&quot; in the abstract syntax is generically any <code>Element</code> that is an instance of either <code>Relationship</code> or a direct or indirect specialization of <code>Relationship</code>. Any other kind of <code>Element</code> is a &quot;non-relationship <code>Element</code>&quot;. It is a convention of that non-relationship <code>Elements</code> are <em>only</em> related via reified relationship <code>Elements</code>. Any meta-associations directly between non-relationship <code>Elements</code> must be derived from underlying reified <code>Relationship</code>.</p> - - - - - <p>The <code>relatedElements</code> of a <code>Relationship</code> consist of all of its <code>source</code> <code>Elements</code> followed by all of its <code>target</code> <code>Elements</code>.</p> - - - OCL2.0 - relatedElement = source->union(target) - - - - - - <p>The Elements that are related by this Relationship, derived as the union of the <code>source</code> and <code>target</code> Elements of the Relationship.</p> - - - - - - - <p>The <code>relatedElements</code> to which this Relationship is considered to be directed.</p> - - - - - - - - <p>The <code>relatedElements</c ode> from which this Relationship is considered to be directed.</p> - - - - - - - <p>The <tt>relatedElement</tt> of this Relationship that owns the Relationship, if any.</p> - - - - - - - <p>The <tt>relatedElements</tt> of this Relationship that are owned by the Relationship.</p> - - - - - - - <p>Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.</p> - - - - - - - <p>Return whether this Relationship has either an <code>owningRelatedElement</code> or <code>owningRelationship</code> that is a library element.</p> - - - - OCL2.0 - if owningRelatedElement <> null then owningRelatedElement.libraryNamespace() -else if owningRelationship <> null then owningRelationship.libraryNamespace() -else null endif endif - - - - - - - - - - <p>If the <code>owningRelationship</code> of the <code>Relationship</code> is null but its <code>owningRelatedElement</code> is non-null, construct the <code>path</code> using the position of the <code>Relationship</code> in the list of <code>ownedRelationships</code> of its <code>owningRelatedElement</code>. Otherwise, return the <code>path</code> of the <code>Relationship</code> as specified for an <code>Element</code> in general.</p> - - - - OCL2.0 - if owningRelationship = null and owningRelatedElement <> null then - owningRelatedElement.path() + '/' + - owningRelatedElement.ownedRelationship->indexOf(self).toString() - -- A position index shall be converted to a decimal string representation - -- consisting of only decimal digits, with no sign, leading zeros or leading - -- or trailing whitespace. -else self.oclAsType(Element).path() -endif - - - - - - - - - - - - - - - + <p>The <code>relatedElements</code> of a <code>Relationship</code> are divided into <code>source</code> and <code>target</code> <code>Elements</code>. The <code>Relationship</code> is considered to be directed from the <code>source</code> to the <code>target</code> <code>Elements</code>. An undirected <code>Relationship</code> may have either all <code>source</code> or all <code>target</code> <code>Elements</code>.</p> + + <p>A &quot;relationship <code>Element</code>&quot; in the abstract syntax is generically any <code>Element</code> that is an instance of either <code>Relationship</code> or a direct or indirect specialization of <code>Relationship</code>. Any other kind of <code>Element</code> is a &quot;non-relationship <code>Element</code>&quot;. It is a convention of that non-relationship <code>Elements</code> are <em>only</em> related via reified relationship <code>Elements</code>. Any meta-associations directly between non-relationship <code>Elements</code> must be derived from underlying reified <code>Relationship</code>.</p> + + + + + <p>The <code>relatedElements</code> of a <code>Relationship</code> consist of all of its <code>source</code> <code>Elements</code> followed by all of its <code>target</code> <code>Elements</code>.</p> + + + OCL2.0 + relatedElement = source->union(target) + + + + + + <p>The Elements that are related by this Relationship, derived as the union of the <code>source</code> and <code>target</code> Elements of the Relationship.</p> + + + + + + + <p>The <code>relatedElements</code> to which this Relationship is considered to be directed.</p> + + + + + + + + <p>The <code>relatedElements</c ode> from which this Relationship is considered to be directed.</p> + + + + + + + <p>The <tt>relatedElement</tt> of this Relationship that owns the Relationship, if any.</p> + + + + + + + <p>The <tt>relatedElements</tt> of this Relationship that are owned by the Relationship.</p> + + + + + + + <p>Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.</p> + + + + + + + <p>Return whether this Relationship has either an <code>owningRelatedElement</code> or <code>owningRelationship</code> that is a library element.</p> + + + + OCL2.0 + if owningRelatedElement <> null then owningRelatedElement.libraryNamespace() + else if owningRelationship <> null then owningRelationship.libraryNamespace() + else null endif endif + + + + + + + + + + <p>If the <code>owningRelationship</code> of the <code>Relationship</code> is null but its <code>owningRelatedElement</code> is non-null, construct the <code>path</code> using the position of the <code>Relationship</code> in the list of <code>ownedRelationships</code> of its <code>owningRelatedElement</code>. Otherwise, return the <code>path</code> of the <code>Relationship</code> as specified for an <code>Element</code> in general.</p> + + + + OCL2.0 + if owningRelationship = null and owningRelatedElement <> null then + owningRelatedElement.path() + '/' + + owningRelatedElement.ownedRelationship->indexOf(self).toString() + -- A position index shall be converted to a decimal string representation + -- consisting of only decimal digits, with no sign, leading zeros or leading + -- or trailing whitespace. + else self.oclAsType(Element).path() + endif + + + + + + + + + + + + + + + + - - - - The Core layer provides the semantic foundation for KerML. - - - - - - - <p>A Type with a certain <code>input</code>.</p> - - - - - - - - - <p>A Type that has an EndFeatureMembership in which the <code>endFeature</code> is a <code>memberFeature</code>.</p> - - - - - - - - - - <p>A Type with a certain <code>output</code>.</p> - - - - - - - - - - <p><code>Specialization</code> is a <code>Relationship</code> between two <code>Types</code> that requires all instances of the <code>specific</code> type to also be instances of the <code>general</code> Type (i.e., the set of instances of the <code>specific</code> Type is a <em>subset</em> of those of the <code>general</code> Type, which might be the same set).</p> - - - - - <p>The <code>specific</code> <code>Type</code> of a <code>Specialization</code> cannot be a conjugated <code>Type</code>.</p> - - - OCL2.0 - not specific.isConjugated - - - - - - <p>The <code>Type</code> that is the <code>specific</code> <code>Type</code> of this <code>Specialization</code> and owns it as its <code>owningRelatedElement</code>.</p> - - - - - - - - <p>A <code>Type</code> with a superset of all instances of the <code>specific</code> <code>Type</code>, which might be the same set.</p> - - - - - - - - <p>A <code>Type</code> with a subset of all instances of the <code>general</code> <code>Type</code>, which might be the same set.</p> - - - - - - - - - <p><code>FeatureDirectionKind</code> enumerates the possible kinds of <code>direction</code> that a <code>Feature</code> may be given as a member of a <code>Type</code>.</p> - + + + The Core layer provides the semantic foundation for KerML. - - - <p>Values of the <code>Feature</code> on each instance of its domain are determined externally to that instance and used internally.</p> - - - - - - <p>Values of the <code>Feature</code> on each instance are determined either as <em>in</em> or <em>out</em> directions, or both.</p> - - - - - - <p>Values of the <code>Feature</code> on each instance of its domain are determined internally to that instance and used externally.</p> - - - - - - - - <p>The Specializations with a certain <code>specific</code> Type.</p> - - - - - - - - - - <p>The Specializations with a certain <code>general<code> Type.</p> - - - - - - - - <p>A <code>Type</code> is a <code>Namespace</code> that is the most general kind of <code>Element</code> supporting the semantics of classification. A <code>Type</code> may be a <code>Classifier</code> or a <code>Feature</code>, defining conditions on what is classified by the <code>Type</code> (see also the description of <code>isSufficient</code>).</p> - - - - - <p>The <code>ownedSpecializations</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Specializations</code> whose <code>special</code> <code>Type</code> is the owning <code>Type</code>.</p> - - - OCL2.0 - ownedSpecialization = ownedRelationship->selectByKind(Specialization)-> - select(s | s.special = self) - - - - - - <p>If a <code>Type</code> has an owned <code>Multiplicity</code>, then that is its <code>multiplicity</code>. Otherwise, if the <code>Type</code> has an <code>ownedSpecialization</code>, then its <code>multiplicity</code> is the <code>multiplicity</code> of the <code>general</code> <code>Type</code> of that <code>Specialization</code>.</p> - - - OCL2.0 - multiplicity = - let ownedMultiplicities: Sequence(Multiplicity) = - ownedMember->selectByKind(Multiplicity) in - if ownedMultiplicities->isEmpty() then null - else ownedMultiplicities->first() - endif - - - - - <p>The <code>ownedFeatureMemberships</code> of a <code>Type</code> are its <code>ownedMemberships</code> that are <code>FeatureMemberships</code>.</p> - - - OCL2.0 - ownedFeatureMembership = ownedRelationship->selectByKind(FeatureMembership) - - - - - <p>The <code>ownedConjugator</code> of a <code>Type</code> is the its single <code>ownedRelationship</code> that is a <code>Conjugation</code>.</p> - - - OCL2.0 - ownedConjugator = - let ownedConjugators: Sequence(Conjugator) = - ownedRelationship->selectByKind(Conjugation) in - if ownedConjugators->isEmpty() then null - else ownedConjugators->at(1) endif - - - - - <p>The <code>outputs</code> of a <code>Type</code> are those of its <code>features</code> that have a direction of <ode>out</code> or <code>inout</code> relative to the <code>Type</code>, taking conjugation into account.</p> - - - OCL2.0 - output = feature->select(f | - let direction: FeatureDirectionKind = directionOf(f) in - direction = FeatureDirectionKind::out or - direction = FeatureDirectionKind::inout) - - - - - <p>The <code>inputs</code> of a <code>Type</code> are those of its features that have a direction of <code>in</code> or <code>inout</code> relative to the <code>Type</code>, taking conjugation into account.</p> - - - OCL2.0 - input = feature->select(f | - let direction: FeatureDirectionKind = directionOf(f) in - direction = FeatureDirectionKind::_'in' or - direction = FeatureDirectionKind::inout) - - - - - <p>The <code>inheritedMemberships<code> of a <code>Type</code> are determined by the <code>inheritedMemberships()</code> operation.</p> - - - OCL2.0 - inheritedMembership = inheritedMemberships(Set{}, Set{}, false) - - - - - <p>A <code>Type</code> must directly or indirectly specialize <code><em>Base::Anything</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::Anything') - - - - - <p>The <code>directedFeatures</code> of a <code>Type</code> are those <code>features</code> for which the <code>direction</code> is non-null.</p> - - - OCL2.0 - directedFeature = feature->select(f | directionOf(f) <> null) - - - - - <p>The <code>features</code> of a <code>Type</code> are the <code>ownedMemberFeatures</code> of its <code>featureMemberships</code>. - - - OCL2.0 - feature = featureMembership.ownedMemberFeature - - - - - <p>The <code>featureMemberships</code> of a <code>Type</code> is the union of the <code>ownedFeatureMemberships</code> and those <code>inheritedMemberships</code> that are <code>FeatureMemberships</code>.</p> - - - OCL2.0 - featureMembership = ownedFeatureMembership->union( - inheritedMembership->selectByKind(FeatureMembership)) - - - - - <p>The <code>ownedFeatures</code> of a <code>Type</code> are the <code>ownedMemberFeatures</code> of its <code>ownedFeatureMemberships</code>. - - - English - ownedFeature = ownedFeatureMembership.ownedMemberFeature - - - - - <p>The <code>differencingTypes</code> of a <code>Type</code> are the <code>differencingTypes</code> of its <code>ownedDifferencings</code>, in the same order.</p> - - - English - differencingType = ownedDifferencing.differencingType - - - - - <p>A <code>Type</code> cannot be one of its own <code>intersectingTypes</code>.</p> - - - English - intersectingType->excludes(self) - - - - - <p>A <code>Type</code> cannot be one of its own <code>differencingTypes</code>.</p> - - - English - differencingType->excludes(self) - - - - - <p>The <code>unioningTypes</code> of a <code>Type</code> are the <code>unioningTypes</code> of its <code>ownedUnionings</code>.<p> - - - OCL2.0 - unioningType = ownedUnioning.unioningType - - - - - <p>A <code>Type</code> cannot be one of its own <code>unioningTypes</code>.</p> - - - English - unioningType->excludes(self) - - - - - <p>The <code>intersectingTypes</code> of a <code>Type</code> are the <code>intersectingTypes</code> of its <code>ownedIntersectings</code>.</p> - - - OCL2.0 - intersectingType = ownedIntersecting.intersectingType - - - - - A <code>Type</code> must have at most one owned <code>Conjugation</code> <code>Relationship</code>. - - - OCL2.0 - ownedRelationship->selectByKind(Conjugation)->size() <= 1 - - - - - <p>A <code>Type</code> may have at most one <code>ownedMember</code> that is a <code>Multiplicity</code>.</p> - - - OCL2.0 - ownedMember->selectByKind(Multiplicity)->size() <= 1 - - - - - <p>The <code>endFeatures</code> of a <code>Type</code> are all its <code>features</code> for which <code>isEnd = true</code>.</p> - - - OCL2.0 - endFeature = feature->select(isEnd) - - - - - <p>The <code>ownedDisjoinings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Disjoinings</code>.</p> - - - OCL2.0 - ownedDisjoining = - ownedRelationship->selectByKind(Disjoining) - - - - - <p>The <code>ownedUnionings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Unionings</code>.</p> - - - OCL2.0 - ownedUnioning = - ownedRelationship->selectByKind(Unioning) - - - - - <p>The <code>ownedIntersectings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Intersectings</code>.</p> - - - OCL2.0 - ownedRelationship->selectByKind(Intersecting) - - - - - <p>The <code>ownedDifferencings</code> of a <code>Type</code> are its <code>ownedRelationships</code> that are <code>Differencings</code>.</p> - - - OCL2.0 - ownedDifferencing = - ownedRelationship->selectByKind(Differencing) - - - - - <p>The <code>ownedEndFeatures</code> of a <code>Type</code> are all its <code>ownedFeatures</code> for which <code>isEnd = true</code>.</p> - - - OCL2.0 - ownedEndFeature = ownedFeature->select(isEnd) - - - - - <p>The <code>inheritedFeatures</code> of this <code>Type</code> are the <code>memberFeatures</code> of the <code>inheritedMemberships</code> that are <code>FeatureMemberships</code>.</p> - - - OCL2.0 - inheritedFeature = inheritedMemberships-> - selectByKind(FeatureMembership).memberFeature - - - - - A <code>Type</code> must not have exactly one <code>ownedUnioning</code>. - - - OCL2.0 - ownedUnioning->size() <> 1 - - - - - A <code>Type</code> must not have exactly one <code>ownedIntersecting</code>. - - - OCL2.0 - ownedIntersecting->size() <> 1 - - - - - A <code>Type</code> must not have exactly one <code>ownedDifferencing</code>. - - - OCL2.0 - ownedDifferencing->size() <> 1 - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Specializations</code>, for which the <code>Type</code> is the <code>specific</code> <code>Type</code>.</p> - - - - - - - - <p>The <code>ownedMemberships</code> of this <code>Type</code> that are <code>FeatureMemberships</code>, for which the <code>Type</code> is the <code>owningType</code>. Each such <code>FeatureMembership</code> identifies an <code>ownedFeature</code> of the <code>Type</code>.</p> - - - - - - - - <p>The <code>ownedMemberFeatures</code> of the <code>featureMemberships</code> of this <code>Type</code>.</p> - - - - - - - - <p>The <code>ownedMemberFeatures</code> of the <code>ownedFeatureMemberships</code> of this <code>Type</code>.</p> - - - - - - - - <p>All <code>features</code> related to this <code>Type</code> by <code>FeatureMemberships</code> that have <code>direction</code> <code>in</code> or <code>inout</code>.</p> - - - - - - - - <p>All <code>features</code> related to this <code>Type</code> by <code>FeatureMemberships</code> that have <code>direction</code> <code>out</code> or <code>inout</code>.</p> - - - - - - - - <p>Indicates whether instances of this <code>Type</code> must also be instances of at least one of its specialized <code>Types</code>.</p> - - - - - - - - <p>All <code>Memberships</code> inherited by this <code>Type</code> via <code>Specialization</code> or <code>Conjugation</code>. These are included in the derived union for the <code>memberships</code> of the <code>Type</code>.</p> - - - - - - - - <p>All <code>features</code> of this <code>Type</code> with <code>isEnd = true</code>.</p> - - - - - - - <p>All <code>endFeatures</code> of this <code>Type</code> that are <code>ownedFeatures</code>.</p> - - - - - - - - <p>Whether all things that meet the classification conditions of this <code>Type</code> must be classified by the <code>Type</code>.</p> + + + + + + <p>A Type with a certain <code>input</code>.</p> + + + + + + + + + <p>A Type that has an EndFeatureMembership in which the <code>endFeature</code> is a <code>memberFeature</code>.</p> + + + + + + + + + + <p>A Type with a certain <code>output</code>.</p> + + + + + + + + + + <p><code>Specialization</code> is a <code>Relationship</code> between two <code>Types</code> that requires all instances of the <code>specific</code> type to also be instances of the <code>general</code> Type (i.e., the set of instances of the <code>specific</code> Type is a <em>subset</em> of those of the <code>general</code> Type, which might be the same set).</p> + + + + + <p>The <code>specific</code> <code>Type</code> of a <code>Specialization</code> cannot be a conjugated <code>Type</code>.</p> + + + OCL2.0 + not specific.isConjugated + + + + + + <p>The <code>Type</code> that is the <code>specific</code> <code>Type</code> of this <code>Specialization</code> and owns it as its <code>owningRelatedElement</code>.</p> + + + + + + + + <p>A <code>Type</code> with a superset of all instances of the <code>specific</code> <code>Type</code>, which might be the same set.</p> + + + + + + + + <p>A <code>Type</code> with a subset of all instances of the <code>general</code> <code>Type</code>, which might be the same set.</p> + + + + + + + + + <p><code>FeatureDirectionKind</code> enumerates the possible kinds of <code>direction</code> that a <code>Feature</code> may be given as a member of a <code>Type</code>.</p> + + + + + <p>Values of the <code>Feature</code> on each instance of its domain are determined externally to that instance and used internally.</p> + + + + + + <p>Values of the <code>Feature</code> on each instance are determined either as <em>in</em> or <em>out</em> directions, or both.</p> + + + + + + <p>Values of the <code>Feature</code> on each instance of its domain are determined internally to that instance and used externally.</p> + + + + + + + + <p>The Specializations with a certain <code>specific</code> Type.</p> + + + + + + + + + + <p>The Specializations with a certain <code>general<code> Type.</p> + + + + + + + + <p>A <code>Type</code> is a <code>Namespace</code> that is the most general kind of <code>Element</code> supporting the semantics of classification. A <code>Type</code> may be a <code>Classifier</code> or a <code>Feature</code>, defining conditions on what is classified by the <code>Type</code> (see also the description of <code>isSufficient</code>).</p> + + + + + <p>The <code>ownedSpecializations</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Specializations</code> whose <code>special</code> <code>Type</code> is the owning <code>Type</code>.</p> + + + OCL2.0 + ownedSpecialization = ownedRelationship->selectByKind(Specialization)-> + select(s | s.special = self) + + + + + + <p>If a <code>Type</code> has an owned <code>Multiplicity</code>, then that is its <code>multiplicity</code>. Otherwise, if the <code>Type</code> has an <code>ownedSpecialization</code>, then its <code>multiplicity</code> is the <code>multiplicity</code> of the <code>general</code> <code>Type</code> of that <code>Specialization</code>.</p> + + + OCL2.0 + multiplicity = + let ownedMultiplicities: Sequence(Multiplicity) = + ownedMember->selectByKind(Multiplicity) in + if ownedMultiplicities->isEmpty() then null + else ownedMultiplicities->first() + endif + + + + + <p>The <code>ownedFeatureMemberships</code> of a <code>Type</code> are its <code>ownedMemberships</code> that are <code>FeatureMemberships</code>.</p> + + + OCL2.0 + ownedFeatureMembership = ownedRelationship->selectByKind(FeatureMembership) + + + + + <p>The <code>ownedConjugator</code> of a <code>Type</code> is the its single <code>ownedRelationship</code> that is a <code>Conjugation</code>.</p> + + + OCL2.0 + ownedConjugator = + let ownedConjugators: Sequence(Conjugator) = + ownedRelationship->selectByKind(Conjugation) in + if ownedConjugators->isEmpty() then null + else ownedConjugators->at(1) endif + + + + + <p>The <code>outputs</code> of a <code>Type</code> are those of its <code>features</code> that have a direction of <ode>out</code> or <code>inout</code> relative to the <code>Type</code>, taking conjugation into account.</p> + + + OCL2.0 + output = feature->select(f | + let direction: FeatureDirectionKind = directionOf(f) in + direction = FeatureDirectionKind::out or + direction = FeatureDirectionKind::inout) + + + + + <p>The <code>inputs</code> of a <code>Type</code> are those of its features that have a direction of <code>in</code> or <code>inout</code> relative to the <code>Type</code>, taking conjugation into account.</p> + + + OCL2.0 + input = feature->select(f | + let direction: FeatureDirectionKind = directionOf(f) in + direction = FeatureDirectionKind::_'in' or + direction = FeatureDirectionKind::inout) + + + + + <p>The <code>inheritedMemberships<code> of a <code>Type</code> are determined by the <code>inheritedMemberships()</code> operation.</p> + + + OCL2.0 + inheritedMembership = inheritedMemberships(Set{}, Set{}, false) + + + + + <p>A <code>Type</code> must directly or indirectly specialize <code><em>Base::Anything</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Base::Anything') + + + + + <p>The <code>directedFeatures</code> of a <code>Type</code> are those <code>features</code> for which the <code>direction</code> is non-null.</p> + + + OCL2.0 + directedFeature = feature->select(f | directionOf(f) <> null) + + + + + <p>The <code>features</code> of a <code>Type</code> are the <code>ownedMemberFeatures</code> of its <code>featureMemberships</code>. + + + OCL2.0 + feature = featureMembership.ownedMemberFeature + + + + + <p>The <code>featureMemberships</code> of a <code>Type</code> is the union of the <code>ownedFeatureMemberships</code> and those <code>inheritedMemberships</code> that are <code>FeatureMemberships</code>.</p> + + + OCL2.0 + featureMembership = ownedFeatureMembership->union( + inheritedMembership->selectByKind(FeatureMembership)) + + + + + <p>The <code>ownedFeatures</code> of a <code>Type</code> are the <code>ownedMemberFeatures</code> of its <code>ownedFeatureMemberships</code>. + + + English + ownedFeature = ownedFeatureMembership.ownedMemberFeature + + + + + <p>The <code>differencingTypes</code> of a <code>Type</code> are the <code>differencingTypes</code> of its <code>ownedDifferencings</code>, in the same order.</p> + + + English + differencingType = ownedDifferencing.differencingType + + + + + <p>A <code>Type</code> cannot be one of its own <code>intersectingTypes</code>.</p> + + + English + intersectingType->excludes(self) + + + + + <p>A <code>Type</code> cannot be one of its own <code>differencingTypes</code>.</p> + + + English + differencingType->excludes(self) + + + + + <p>The <code>unioningTypes</code> of a <code>Type</code> are the <code>unioningTypes</code> of its <code>ownedUnionings</code>.<p> + + + OCL2.0 + unioningType = ownedUnioning.unioningType + + + + + <p>A <code>Type</code> cannot be one of its own <code>unioningTypes</code>.</p> + + + English + unioningType->excludes(self) + + + + + <p>The <code>intersectingTypes</code> of a <code>Type</code> are the <code>intersectingTypes</code> of its <code>ownedIntersectings</code>.</p> + + + OCL2.0 + intersectingType = ownedIntersecting.intersectingType + + + + + A <code>Type</code> must have at most one owned <code>Conjugation</code> <code>Relationship</code>. + + + OCL2.0 + ownedRelationship->selectByKind(Conjugation)->size() <= 1 + + + + + <p>A <code>Type</code> may have at most one <code>ownedMember</code> that is a <code>Multiplicity</code>.</p> + + + OCL2.0 + ownedMember->selectByKind(Multiplicity)->size() <= 1 + + + + + <p>The <code>endFeatures</code> of a <code>Type</code> are all its <code>features</code> for which <code>isEnd = true</code>.</p> + + + OCL2.0 + endFeature = feature->select(isEnd) + + + + + <p>The <code>ownedDisjoinings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Disjoinings</code>.</p> + + + OCL2.0 + ownedDisjoining = + ownedRelationship->selectByKind(Disjoining) + + + + + <p>The <code>ownedUnionings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Unionings</code>.</p> + + + OCL2.0 + ownedUnioning = + ownedRelationship->selectByKind(Unioning) + + + + + <p>The <code>ownedIntersectings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Intersectings</code>.</p> + + + OCL2.0 + ownedRelationship->selectByKind(Intersecting) + + + + + <p>The <code>ownedDifferencings</code> of a <code>Type</code> are its <code>ownedRelationships</code> that are <code>Differencings</code>.</p> + + + OCL2.0 + ownedDifferencing = + ownedRelationship->selectByKind(Differencing) + + + + + <p>The <code>ownedEndFeatures</code> of a <code>Type</code> are all its <code>ownedFeatures</code> for which <code>isEnd = true</code>.</p> + + + OCL2.0 + ownedEndFeature = ownedFeature->select(isEnd) + + + + + <p>The <code>inheritedFeatures</code> of this <code>Type</code> are the <code>memberFeatures</code> of the <code>inheritedMemberships</code> that are <code>FeatureMemberships</code>.</p> + + + OCL2.0 + inheritedFeature = inheritedMemberships-> + selectByKind(FeatureMembership).memberFeature + + + + + A <code>Type</code> must not have exactly one <code>ownedUnioning</code>. + + + OCL2.0 + ownedUnioning->size() <> 1 + + + + + A <code>Type</code> must not have exactly one <code>ownedIntersecting</code>. + + + OCL2.0 + ownedIntersecting->size() <> 1 + + + + + A <code>Type</code> must not have exactly one <code>ownedDifferencing</code>. + + + OCL2.0 + ownedDifferencing->size() <> 1 + + + + + + <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Specializations</code>, for which the <code>Type</code> is the <code>specific</code> <code>Type</code>.</p> + + + + + + + + <p>The <code>ownedMemberships</code> of this <code>Type</code> that are <code>FeatureMemberships</code>, for which the <code>Type</code> is the <code>owningType</code>. Each such <code>FeatureMembership</code> identifies an <code>ownedFeature</code> of the <code>Type</code>.</p> + + + + + + + + <p>The <code>ownedMemberFeatures</code> of the <code>featureMemberships</code> of this <code>Type</code>.</p> + + + + + + + + <p>The <code>ownedMemberFeatures</code> of the <code>ownedFeatureMemberships</code> of this <code>Type</code>.</p> + + + + + + + + <p>All <code>features</code> related to this <code>Type</code> by <code>FeatureMemberships</code> that have <code>direction</code> <code>in</code> or <code>inout</code>.</p> + + + + + + + + <p>All <code>features</code> related to this <code>Type</code> by <code>FeatureMemberships</code> that have <code>direction</code> <code>out</code> or <code>inout</code>.</p> + + + + + + + + <p>Indicates whether instances of this <code>Type</code> must also be instances of at least one of its specialized <code>Types</code>.</p> + + + + + + + + <p>All <code>Memberships</code> inherited by this <code>Type</code> via <code>Specialization</code> or <code>Conjugation</code>. These are included in the derived union for the <code>memberships</code> of the <code>Type</code>.</p> + + + + + + + + <p>All <code>features</code> of this <code>Type</code> with <code>isEnd = true</code>.</p> + + + + + + + <p>All <code>endFeatures</code> of this <code>Type</code> that are <code>ownedFeatures</code>.</p> + + + + + + + + <p>Whether all things that meet the classification conditions of this <code>Type</code> must be classified by the <code>Type</code>.</p> -<p>(A <code>Type</code>&nbsp;gives conditions that must be met by whatever it classifies, but when <code>isSufficient</code> is false, things may meet those conditions but still not be classified by the <code>Type</code>. For example, a Type <code><em>Car</em></code> that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the <code>Type</code> <code><em>Car</em></code> were sufficient, it would classify all four-wheeled things.)</p> - - - - - - - - <p>A <code>Conjugation</code> owned by this <code>Type</code> for which the <code>Type</code> is the <code>originalType</code>.</p> - - - - - - - - <p>Indicates whether this <code>Type</code> has an <code>ownedConjugator</code>.</p> - - - - - - - <p>All the <code>memberFeatures</code> of the <code>inheritedMemberships</code> of this <code>Type</code> that are <code>FeatureMemberships</code>.</p> - - - - - - - - <p>An <code>ownedMember</code> of this <code>Type</code> that is a <code>Multiplicity</code>, which constraints the cardinality of the <code>Type</code>. If there is no such <code>ownedMember</code>, then the cardinality of this <code>Type</code> is constrained by all the <code>Multiplicity</code> constraints applicable to any direct supertypes.</p> - - - - - - - <p>The interpretations of a <code>Type</code> with <code>unioningTypes</code> are asserted to be the same as those of all the <code>unioningTypes</code> together, which are the <code>Types</code> derived from the <code>unioningType</code> of the <code>ownedUnionings</code> of this <code>Type</code>. For example, a <code>Classifier</code> for people might be the union of <code>Classifiers</code> for all the sexes. Similarly, a feature for people&#39;s children might be the union of features dividing them in the same ways as people in general.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Intersectings</code>, have the <code>Type</code> as their <code>typeIntersected</code>.</p> - - - - - - - - <p>The interpretations of a <code>Type</code> with <code>intersectingTypes</code> are asserted to be those in common among the <code>intersectingTypes</code>, which are the <code>Types</code> derived from the <code>intersectingType</code> of the <code>ownedIntersectings</code> of this <code>Type</code>. For example, a <code>Classifier</code> might be an intersection of <code>Classifiers</code> for people of a particular sex and of a particular nationality. Similarly, a feature for people&#39;s children of a particular sex might be the intersection of a <code>Feature</code> for their children and a <code>Classifier</code> for people of that sex (because the interpretations of the children <code>Feature</code> that identify those of that sex are also interpretations of the Classifier for that sex).</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Unionings</code>, having the <code>Type</code> as their <code>typeUnioned</code>.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Disjoinings</code>, for which the <code>Type</code> is the <code>typeDisjoined</code> <code>Type</code>.</p> - - - - - - - - <p>The <code>FeatureMemberships</code> for <code>features</code> of this <code>Type</code>, which include all <code>ownedFeatureMemberships</code> and those <code>inheritedMemberships</code> that are <code>FeatureMemberships</code> (but does <em>not</em> include any <code>importedMemberships</code>).</p> - - - - - - - - <p>The interpretations of a <code>Type</code> with <code>differencingTypes</code> are asserted to be those of the first of those <code>Types</code>, but not including those of the remaining <code>Types</code>. For example, a <code>Classifier</code> might be the difference of a <code>Classifier</code> for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a <code>Classifier</code> for people of a particular sex, identifying their children not of that sex (because the interpretations of the children <code>Feature</code> that identify those of that sex are also interpretations of the <code>Classifier</code> for that sex).</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Differencings</code>, having this <code>Type</code> as their <code>typeDifferenced</code>.</p> - - - - - - - - <p>The <code>features</code> of this <code>Type</code> that have a non-null <code>direction</code>.</p> - - - - - - - - <p>The visible <code>Memberships</code> of a <code>Type</code> include <code>inheritedMemberships</code>.</p> - - - - - OCL2.0 - let visibleMemberships : OrderedSet(Membership) = - self.oclAsType(Namespace). - visibleMemberships(excluded, isRecursive, includeAll) in -let visibleInheritedMemberships : OrderedSet(Membership) = - inheritedMemberships(excluded->including(self), Set{}, isRecursive)-> - select(includeAll or visibility = VisibilityKind::public) in -visibleMemberships->union(visibleInheritedMemberships) - - - - - - - - - - - - - - - - - - - - <p>Return the <code>Memberships</code> inheritable from supertypes of this <code>Type</code> with redefined <code>Features</code> removed. When computing inheritable <code>Memberships</code>, exclude <code>Imports</code> of <code>excludedNamespaces</code>, <code>Specializations</code> of <code>excludedTypes</code>, and, if <code>excludeImplied = true</code>, all implied <code>Specializations</code>.</p> - - - - - OCL2.0 - removeRedefinedFeatures( - inheritableMemberships(excludedNamespaces, excludedTypes, excludeImplied)) - - - - - - - - - - - - - - - - - - - - - <p>Return all the non-<code>private</code> <code>Memberships</code> of all the supertypes of this <code>Type</code>, excluding any supertypes that are this <code>Type</code> or are in the given set of <code>excludedTypes</code>. If <code>excludeImplied = true</code>, then also transitively exclude any supertypes from implied <code>Specializations</code>.</p> - - - - OCL2.0 - let excludingSelf : Set(Type) = excludedType->including(self) in -supertypes(excludeImplied)->reject(t | excludingSelf->includes(t)). - nonPrivateMemberships(excludedNamespaces, excludingSelf, excludeImplied) - - - - - - - - - - - - - - - - - - - - - - <p>Return the <code>public</code>, <code>protected</code> and inherited <code>Memberships</code> of this <code>Type</code>. When computing imported <code>Memberships</code>, exclude the given set of <code>excludedNamespaces</code>. When computing inherited <code>Memberships</code>, exclude <code>Types</code> in the given set of <code>excludedTypes</code>. If <code>excludeImplied = true</code>, then also exclude any supertypes from implied <code>Specializations</code>.</p> - - - - OCL2.0 - let publicMemberships : OrderedSet(Membership) = - membershipsOfVisibility(VisibilityKind::public, excludedNamespaces) in -let protectedMemberships : OrderedSet(Membership) = - membershipsOfVisibility(VisibilityKind::protected, excludedNamespaces) in -let inheritedMemberships : OrderedSet(Membership) = - inheritedMemberships(excludedNamespaces, excludedTypes, excludeImplied) in -publicMemberships-> - union(protectedMemberships)-> - union(inheritedMemberships) - - - - - - - - - - - - - - - - - - - - - <p>Return a subset of <code>memberships</code>, removing those <code>Memberships</code> whose <code>memberElements</code> are <code>Features</code> and for which either of the following two conditions holds:</p> + <p>(A <code>Type</code>&nbsp;gives conditions that must be met by whatever it classifies, but when <code>isSufficient</code> is false, things may meet those conditions but still not be classified by the <code>Type</code>. For example, a Type <code><em>Car</em></code> that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the <code>Type</code> <code><em>Car</em></code> were sufficient, it would classify all four-wheeled things.)</p> + + + + + + + + <p>A <code>Conjugation</code> owned by this <code>Type</code> for which the <code>Type</code> is the <code>originalType</code>.</p> + + + + + + + + <p>Indicates whether this <code>Type</code> has an <code>ownedConjugator</code>.</p> + + + + + + + <p>All the <code>memberFeatures</code> of the <code>inheritedMemberships</code> of this <code>Type</code> that are <code>FeatureMemberships</code>.</p> + + + + + + + + <p>An <code>ownedMember</code> of this <code>Type</code> that is a <code>Multiplicity</code>, which constraints the cardinality of the <code>Type</code>. If there is no such <code>ownedMember</code>, then the cardinality of this <code>Type</code> is constrained by all the <code>Multiplicity</code> constraints applicable to any direct supertypes.</p> + + + + + + + <p>The interpretations of a <code>Type</code> with <code>unioningTypes</code> are asserted to be the same as those of all the <code>unioningTypes</code> together, which are the <code>Types</code> derived from the <code>unioningType</code> of the <code>ownedUnionings</code> of this <code>Type</code>. For example, a <code>Classifier</code> for people might be the union of <code>Classifiers</code> for all the sexes. Similarly, a feature for people&#39;s children might be the union of features dividing them in the same ways as people in general.</p> + + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Intersectings</code>, have the <code>Type</code> as their <code>typeIntersected</code>.</p> + + + + + + + + <p>The interpretations of a <code>Type</code> with <code>intersectingTypes</code> are asserted to be those in common among the <code>intersectingTypes</code>, which are the <code>Types</code> derived from the <code>intersectingType</code> of the <code>ownedIntersectings</code> of this <code>Type</code>. For example, a <code>Classifier</code> might be an intersection of <code>Classifiers</code> for people of a particular sex and of a particular nationality. Similarly, a feature for people&#39;s children of a particular sex might be the intersection of a <code>Feature</code> for their children and a <code>Classifier</code> for people of that sex (because the interpretations of the children <code>Feature</code> that identify those of that sex are also interpretations of the Classifier for that sex).</p> + + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Unionings</code>, having the <code>Type</code> as their <code>typeUnioned</code>.</p> + + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Disjoinings</code>, for which the <code>Type</code> is the <code>typeDisjoined</code> <code>Type</code>.</p> + + + + + + + + <p>The <code>FeatureMemberships</code> for <code>features</code> of this <code>Type</code>, which include all <code>ownedFeatureMemberships</code> and those <code>inheritedMemberships</code> that are <code>FeatureMemberships</code> (but does <em>not</em> include any <code>importedMemberships</code>).</p> + + + + + + + + <p>The interpretations of a <code>Type</code> with <code>differencingTypes</code> are asserted to be those of the first of those <code>Types</code>, but not including those of the remaining <code>Types</code>. For example, a <code>Classifier</code> might be the difference of a <code>Classifier</code> for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a <code>Classifier</code> for people of a particular sex, identifying their children not of that sex (because the interpretations of the children <code>Feature</code> that identify those of that sex are also interpretations of the <code>Classifier</code> for that sex).</p> + + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Differencings</code>, having this <code>Type</code> as their <code>typeDifferenced</code>.</p> + + + + + + + + <p>The <code>features</code> of this <code>Type</code> that have a non-null <code>direction</code>.</p> + + + + + + + + <p>The visible <code>Memberships</code> of a <code>Type</code> include <code>inheritedMemberships</code>.</p> + + + + + OCL2.0 + let visibleMemberships : OrderedSet(Membership) = + self.oclAsType(Namespace). + visibleMemberships(excluded, isRecursive, includeAll) in + let visibleInheritedMemberships : OrderedSet(Membership) = + inheritedMemberships(excluded->including(self), Set{}, isRecursive)-> + select(includeAll or visibility = VisibilityKind::public) in + visibleMemberships->union(visibleInheritedMemberships) + + + + + + + + + + + + + + + + + + + + <p>Return the <code>Memberships</code> inheritable from supertypes of this <code>Type</code> with redefined <code>Features</code> removed. When computing inheritable <code>Memberships</code>, exclude <code>Imports</code> of <code>excludedNamespaces</code>, <code>Specializations</code> of <code>excludedTypes</code>, and, if <code>excludeImplied = true</code>, all implied <code>Specializations</code>.</p> + + + + + OCL2.0 + removeRedefinedFeatures( + inheritableMemberships(excludedNamespaces, excludedTypes, excludeImplied)) + + + + + + + + + + + + + + + + + + + + + <p>Return all the non-<code>private</code> <code>Memberships</code> of all the supertypes of this <code>Type</code>, excluding any supertypes that are this <code>Type</code> or are in the given set of <code>excludedTypes</code>. If <code>excludeImplied = true</code>, then also transitively exclude any supertypes from implied <code>Specializations</code>.</p> + + + + OCL2.0 + let excludingSelf : Set(Type) = excludedType->including(self) in + supertypes(excludeImplied)->reject(t | excludingSelf->includes(t)). + nonPrivateMemberships(excludedNamespaces, excludingSelf, excludeImplied) + + + + + + + + + + + + + + + + + + + + + + <p>Return the <code>public</code>, <code>protected</code> and inherited <code>Memberships</code> of this <code>Type</code>. When computing imported <code>Memberships</code>, exclude the given set of <code>excludedNamespaces</code>. When computing inherited <code>Memberships</code>, exclude <code>Types</code> in the given set of <code>excludedTypes</code>. If <code>excludeImplied = true</code>, then also exclude any supertypes from implied <code>Specializations</code>.</p> + + + + OCL2.0 + let publicMemberships : OrderedSet(Membership) = + membershipsOfVisibility(VisibilityKind::public, excludedNamespaces) in + let protectedMemberships : OrderedSet(Membership) = + membershipsOfVisibility(VisibilityKind::protected, excludedNamespaces) in + let inheritedMemberships : OrderedSet(Membership) = + inheritedMemberships(excludedNamespaces, excludedTypes, excludeImplied) in + publicMemberships-> + union(protectedMemberships)-> + union(inheritedMemberships) + + + + + + + + + + + + + + + + + + + + + <p>Return a subset of <code>memberships</code>, removing those <code>Memberships</code> whose <code>memberElements</code> are <code>Features</code> and for which either of the following two conditions holds:</p> -<ol> - <li>The <code>memberElement</code> of the <code>Membership</code> is included in redefined <code>Features</code> of another <code>Membership</code> in <code>memberships</code>.</li> - <li>One of the redefined <code>Features</code> of the <code>Membership</code> is a directly <code>redefinedFeature</code> of an <code>ownedFeature</code> of this <code>Type</code>.</li> -</ol> + <ol> + <li>The <code>memberElement</code> of the <code>Membership</code> is included in redefined <code>Features</code> of another <code>Membership</code> in <code>memberships</code>.</li> + <li>One of the redefined <code>Features</code> of the <code>Membership</code> is a directly <code>redefinedFeature</code> of an <code>ownedFeature</code> of this <code>Type</code>.</li> + </ol> -<p>For this purpose, the redefined <code>Features</code> of a <code>Membership</code> whose <code>memberElement</code> is a <code>Feature</code> includes the <code>memberElement</code> and all <code>Features</code> directly or indirectly redefined by the <code>memberElement</code>.</p> - - - - OCL2.0 - let reducedMemberships : Sequence(Membership) = - memberships->reject(mem1 | - memberships->excluding(mem1)-> - exists(mem2 | allRedefinedFeaturesOf(mem2)-> - includes(mem1.memberElement))) in -let redefinedFeatures : Set(Feature) = - ownedFeature.redefinition.redefinedFeature->asSet() in -reducedMemberships->reject(mem | allRedefinedFeaturesOf(mem)-> - exists(feature | redefinedFeatures->includes(feature))) - - - - - - - - - - - - - - <p>If the <code>memberElement</code> of the given <code>membership</code> is a <code>Feature</code>, then return all <code>Features</code> directly or indirectly redefined by the <code>memberElement</code>.</p> - - - - OCL2.0 - if not membership.memberElement.oclIsType(Feature) then Set{} -else membership.memberElement.oclAsType(Feature).allRedefinedFeatures() -endif - - - - - - - - - - - <p>If the given <code>feature</code> is a <code>feature</code> of this <code>Type</code>, then return its direction relative to this <code>Type</code>, taking conjugation into account.</p> - - - - - OCL2.0 - directionOfExcluding(f, Set{}) - - - - - - - - - - - <p>Return the direction of the given <code>feature</code> relative to this <code>Type</code>, excluding a given set of <code>Types</code> from the search of supertypes of this <code>Type</code>.</p> - - - - OCL2.0 - let excludedSelf : Set(Type) = excluded->including(self) in -if feature.owningType = self then feature.direction -else - let directions : Sequence(FeatureDirectionKind) = - supertypes(false)->excluding(excludedSelf). - directionOfExcluding(feature, excludedSelf)-> - select(d | d <> null) in - if directions->isEmpty() then null - else - let direction : FeatureDirectionKind = directions->first() in - if not isConjugated then direction - else if direction = FeatureDirectionKind::_'in' then FeatureDirectionKind::out - else if direction = FeatureDirectionKind::out then FeatureDirectionKind::_'in' - else direction - endif endif endif endif -endif - - - - - - - - - - - - - - - <p>If this <code>Type</code> is conjugated, then return just the <code>originalType</code> of the <code>Conjugation</code>. Otherwise, return the <code>general</code> <code>Types</code> from all <code>ownedSpecializations</code> of this type, if <code>excludeImplied = false</code>, or all non-implied <code>ownedSpecializations</code>, if <code>excludeImplied = true</code>.</p> - - - - OCL2.0 - if isConjugated then Sequence{conjugator.originalType} -else if not excludeImplied then ownedSpecialization.general -else ownedSpecialization->reject(isImplied).general -endif -endif - - - - - - - - - - - - - <p>Return this <code>Type</code> and all <code>Types</code> that are directly or transitively supertypes of this <code>Type</code> (as determined by the <code>supertypes</code> operation with <code>excludeImplied = false</code>).</p> - - - - - OCL2.0 - OrderedSet{self}->closure(supertypes(false)) - - - - - - - - - - <p>Check whether this <code>Type</code> is a direct or indirect specialization of the given <code>supertype<code>.</p> - - - - OCL2.0 - if isConjugated then - ownedConjugator.originalType.specializes(supertype) -else - allSupertypes()->includes(supertype) -endif - - - - - - - - - - <p>Check whether this <code>Type</code> is a direct or indirect specialization of the named library <code>Type</code>. <code>libraryTypeName</code> must conform to the syntax of a KerML qualified name and must resolve to a <code>Type</code> in global scope.</p> - - - - - OCL2.0 - let mem : Membership = resolveGlobal(libraryTypeName) in -mem <> null and mem.memberElement.oclIsKindOf(Type) and -specializes(mem.memberElement.oclAsType(Type)) - - - - - - - - - - - - <p>By default, this <code>Type</code> is compatible with an <code>otherType</code> if it directly or indirectly specializes the <code>otherType</code>.</p> - - - - OCL2.0 - specializes(otherType) - - - - - - - - - - <p>Return the owned or inherited <code>Multiplicities</code> for this <code>Type<./code>.</p> - - - - OCL2.0 - if multiplicity <> null then OrderedSet{multiplicity} -else - ownedSpecialization.general->closure(t | - if t.multiplicity <> null then OrderedSet{} - else ownedSpecialization.general - )->select(multiplicity <> null).multiplicity->asOrderedSet() -endif - - - - - - - - - - - - <p>A Type that owns or inherits a FeatureMembership Relationship with the <code>feature</code>.</p> - - - - - - - - <p>A <code>FeatureMembership</code> is an <code>OwningMembership</code> between an <code>ownedMemberFeature</code> and an <code>owningType</code>. If the <code>ownedMemberFeature</code> has <code>isVariable = false</code>, then the <code>FeatureMembership</code> implies that the <code>owningType</code> is also a <code>featuringType</code> of the <code>ownedMemberFeature</code>. If the <code>ownedMemberFeature</code> has <code>isVariable = true</code>, then the <code>FeatureMembership</code> implies that the <code>ownedMemberFeature</code> is featured by the <em><code>snapshots</code></em> of the <code>owningType</code>, which must specialize the Kernel Semantic Library base class <em><code>Occurrence</code></em>.</p> - - - - - - <p>The <code>Type</code> that owns this <code>FeatureMembership</code>.</p> - - - - - - - - <p>The <code>Feature</code> that this <code>FeatureMembership</code> relates to its <code>owningType</code>, making it an <code>ownedFeature</code> of the <code>owningType</code>.</p> - - - - - - - - - - <p>The Type that inherits the <code>inheritedMembership</code>.</p> - - - - - - - - - - <p>A Type that has an <code>inheritedMembership</code> with the <code>inheritedFeature</code> as its <code>memberFeature</code>.</p> - - - - - - - - - - <p>The Conjugations with a certain Type as the <code>originalType</code>.</p> - - - - - - - - <p><code>Conjugation</code> is a <code>Relationship</code> between two types in which the <code>conjugatedType</code> inherits all the <code>Features</code> of the <code>originalType</code>, but with all <code>input</code> and <code>output</code> <code>Features</code> reversed. That is, any <code>Features</code> with a <code>direction</code> <em>in</em> relative to the <code>originalType</code> are considered to have an effective <code>direction</code> of <em>out</em> relative to the <code>conjugatedType</code> and, similarly, <code>Features</code> with <code>direction</code> <em>out</em> in the <code>originalType</code> are considered to have an effective <code>direction</code> of <em>in</em> in the <code>conjugatedType</code>. <code>Features</code> with <code>direction</code> <em>inout</em>, or with no <code>direction</code>, in the <code>originalType</code>, are inherited without change.</p> + <p>For this purpose, the redefined <code>Features</code> of a <code>Membership</code> whose <code>memberElement</code> is a <code>Feature</code> includes the <code>memberElement</code> and all <code>Features</code> directly or indirectly redefined by the <code>memberElement</code>.</p> + + + + OCL2.0 + let reducedMemberships : Sequence(Membership) = + memberships->reject(mem1 | + memberships->excluding(mem1)-> + exists(mem2 | allRedefinedFeaturesOf(mem2)-> + includes(mem1.memberElement))) in + let redefinedFeatures : Set(Feature) = + ownedFeature.redefinition.redefinedFeature->asSet() in + reducedMemberships->reject(mem | allRedefinedFeaturesOf(mem)-> + exists(feature | redefinedFeatures->includes(feature))) + + + + + + + + + + + + + + <p>If the <code>memberElement</code> of the given <code>membership</code> is a <code>Feature</code>, then return all <code>Features</code> directly or indirectly redefined by the <code>memberElement</code>.</p> + + + + OCL2.0 + if not membership.memberElement.oclIsType(Feature) then Set{} + else membership.memberElement.oclAsType(Feature).allRedefinedFeatures() + endif + + + + + + + + + + + <p>If the given <code>feature</code> is a <code>feature</code> of this <code>Type</code>, then return its direction relative to this <code>Type</code>, taking conjugation into account.</p> + + + + + OCL2.0 + directionOfExcluding(f, Set{}) + + + + + + + + + + + <p>Return the direction of the given <code>feature</code> relative to this <code>Type</code>, excluding a given set of <code>Types</code> from the search of supertypes of this <code>Type</code>.</p> + + + + OCL2.0 + let excludedSelf : Set(Type) = excluded->including(self) in + if feature.owningType = self then feature.direction + else + let directions : Sequence(FeatureDirectionKind) = + supertypes(false)->excluding(excludedSelf). + directionOfExcluding(feature, excludedSelf)-> + select(d | d <> null) in + if directions->isEmpty() then null + else + let direction : FeatureDirectionKind = directions->first() in + if not isConjugated then direction + else if direction = FeatureDirectionKind::_'in' then FeatureDirectionKind::out + else if direction = FeatureDirectionKind::out then FeatureDirectionKind::_'in' + else direction + endif endif endif endif + endif + + + + + + + + + + + + + + + <p>If this <code>Type</code> is conjugated, then return just the <code>originalType</code> of the <code>Conjugation</code>. Otherwise, return the <code>general</code> <code>Types</code> from all <code>ownedSpecializations</code> of this type, if <code>excludeImplied = false</code>, or all non-implied <code>ownedSpecializations</code>, if <code>excludeImplied = true</code>.</p> + + + + OCL2.0 + if isConjugated then Sequence{conjugator.originalType} + else if not excludeImplied then ownedSpecialization.general + else ownedSpecialization->reject(isImplied).general + endif + endif + + + + + + + + + + + + + <p>Return this <code>Type</code> and all <code>Types</code> that are directly or transitively supertypes of this <code>Type</code> (as determined by the <code>supertypes</code> operation with <code>excludeImplied = false</code>).</p> + + + + + OCL2.0 + OrderedSet{self}->closure(supertypes(false)) + + + + + + + + + + <p>Check whether this <code>Type</code> is a direct or indirect specialization of the given <code>supertype<code>.</p> + + + + OCL2.0 + if isConjugated then + ownedConjugator.originalType.specializes(supertype) + else + allSupertypes()->includes(supertype) + endif + + + + + + + + + + <p>Check whether this <code>Type</code> is a direct or indirect specialization of the named library <code>Type</code>. <code>libraryTypeName</code> must conform to the syntax of a KerML qualified name and must resolve to a <code>Type</code> in global scope.</p> + + + + + OCL2.0 + let mem : Membership = resolveGlobal(libraryTypeName) in + mem <> null and mem.memberElement.oclIsKindOf(Type) and + specializes(mem.memberElement.oclAsType(Type)) + + + + + + + + + + + + <p>By default, this <code>Type</code> is compatible with an <code>otherType</code> if it directly or indirectly specializes the <code>otherType</code>.</p> + + + + OCL2.0 + specializes(otherType) + + + + + + + + + + <p>Return the owned or inherited <code>Multiplicities</code> for this <code>Type<./code>.</p> + + + + OCL2.0 + if multiplicity <> null then OrderedSet{multiplicity} + else + ownedSpecialization.general->closure(t | + if t.multiplicity <> null then OrderedSet{} + else ownedSpecialization.general + )->select(multiplicity <> null).multiplicity->asOrderedSet() + endif + + + + + + + + + + + + <p>A Type that owns or inherits a FeatureMembership Relationship with the <code>feature</code>.</p> + + + + + + + + <p>A <code>FeatureMembership</code> is an <code>OwningMembership</code> between an <code>ownedMemberFeature</code> and an <code>owningType</code>. If the <code>ownedMemberFeature</code> has <code>isVariable = false</code>, then the <code>FeatureMembership</code> implies that the <code>owningType</code> is also a <code>featuringType</code> of the <code>ownedMemberFeature</code>. If the <code>ownedMemberFeature</code> has <code>isVariable = true</code>, then the <code>FeatureMembership</code> implies that the <code>ownedMemberFeature</code> is featured by the <em><code>snapshots</code></em> of the <code>owningType</code>, which must specialize the Kernel Semantic Library base class <em><code>Occurrence</code></em>.</p> + + + + + + <p>The <code>Type</code> that owns this <code>FeatureMembership</code>.</p> + + + + + + + + <p>The <code>Feature</code> that this <code>FeatureMembership</code> relates to its <code>owningType</code>, making it an <code>ownedFeature</code> of the <code>owningType</code>.</p> + + + + + + + + + + <p>The Type that inherits the <code>inheritedMembership</code>.</p> + + + + + + + + + + <p>A Type that has an <code>inheritedMembership</code> with the <code>inheritedFeature</code> as its <code>memberFeature</code>.</p> + + + + + + + + + + <p>The Conjugations with a certain Type as the <code>originalType</code>.</p> + + + + + + + + <p><code>Conjugation</code> is a <code>Relationship</code> between two types in which the <code>conjugatedType</code> inherits all the <code>Features</code> of the <code>originalType</code>, but with all <code>input</code> and <code>output</code> <code>Features</code> reversed. That is, any <code>Features</code> with a <code>direction</code> <em>in</em> relative to the <code>originalType</code> are considered to have an effective <code>direction</code> of <em>out</em> relative to the <code>conjugatedType</code> and, similarly, <code>Features</code> with <code>direction</code> <em>out</em> in the <code>originalType</code> are considered to have an effective <code>direction</code> of <em>in</em> in the <code>conjugatedType</code>. <code>Features</code> with <code>direction</code> <em>inout</em>, or with no <code>direction</code>, in the <code>originalType</code>, are inherited without change.</p> -<p>A <code>Type</code> may participate as a <code>conjugatedType</code> in at most one <code>Conjugation</code> relationship, and such a <code>Type</code> may not also be the <code>specific</code> <code>Type</code> in any <code>Specialization</code> relationship.</p> - - - - - - <p>The <code>Type</code> to be conjugated.</p> - - - - - - - - <p>The <code>Type</code> that is the result of applying <code>Conjugation</code> to the <code>originalType</code>.</p> - - - - - - - - <p>The <code>conjugatedType</code> of this <code>Conjugation</code> that is also its <code>owningRelatedElement</code>.</p> - - - - - - - - - - <p>The Conjugation corresponding to the <code>conjugatedType</code>.</p> - - - - - - - - <p>A <code>Multiplicity</code> is a <code>Feature</code> whose co-domain is a set of natural numbers giving the allowed cardinalities of each <code>typeWithMultiplicity</code>. The <em>cardinality</em> of a <code>Type</code> is defined as follows, depending on whether the <code>Type</code> is a <code>Classifier</code> or <code>Feature</code>. -<ul> -<li><code>Classifier</code> – The number of basic instances of the <code>Classifier</code>, that is, those instances representing things, which are not instances of any subtypes of the <code>Classifier</code> that are <code>Features</code>. -<li><code>Features</code> – The number of instances with the same featuring instances. In the case of a <code>Feature</code> with a <code>Classifier</code> as its <code>featuringType</code>, this is the number of values of <code>Feature</code> for each basic instance of the <code>Classifier</code>. Note that, for non-unique <code>Features</code>, all duplicate values are included in this count.</li> -</ul> + <p>A <code>Type</code> may participate as a <code>conjugatedType</code> in at most one <code>Conjugation</code> relationship, and such a <code>Type</code> may not also be the <code>specific</code> <code>Type</code> in any <code>Specialization</code> relationship.</p> + + + + + + <p>The <code>Type</code> to be conjugated.</p> + + + + + + + + <p>The <code>Type</code> that is the result of applying <code>Conjugation</code> to the <code>originalType</code>.</p> + + + + + + + + <p>The <code>conjugatedType</code> of this <code>Conjugation</code> that is also its <code>owningRelatedElement</code>.</p> + + + + + + + + + + <p>The Conjugation corresponding to the <code>conjugatedType</code>.</p> + + + + + + + + <p>A <code>Multiplicity</code> is a <code>Feature</code> whose co-domain is a set of natural numbers giving the allowed cardinalities of each <code>typeWithMultiplicity</code>. The <em>cardinality</em> of a <code>Type</code> is defined as follows, depending on whether the <code>Type</code> is a <code>Classifier</code> or <code>Feature</code>. + <ul> + <li><code>Classifier</code> – The number of basic instances of the <code>Classifier</code>, that is, those instances representing things, which are not instances of any subtypes of the <code>Classifier</code> that are <code>Features</code>. + <li><code>Features</code> – The number of instances with the same featuring instances. In the case of a <code>Feature</code> with a <code>Classifier</code> as its <code>featuringType</code>, this is the number of values of <code>Feature</code> for each basic instance of the <code>Classifier</code>. Note that, for non-unique <code>Features</code>, all duplicate values are included in this count.</li> + </ul> -<p><code>Multiplicity</code> co-domains (in models) can be specified by <code>Expression</code> that might vary in their results. If the <code>typeWithMultiplicity</code> is a <code>Classifier</code>, the domain of the <code>Multiplicity</code> shall be <em><code>Base::Anything</code></em>. If the <code>typeWithMultiplicity</code> is a <code>Feature</code>, the <code>Multiplicity</code> shall have the same domain as the <code>typeWithMultiplicity</code>.</p> - - - - - <p>If the <code>owningType</code> of a <code>Multiplicity</code> is a <code>Feature</code>, then the <code>Multiplicity</code> must have the same <code>featuringTypes</code> as that <code>Feature</code>. Otherwise, it must have no <code>featuringTypes</code> (meaning that it is implicitly featured by the base <code>Classifier</code> <em><code>Anything</code></em>).</p> - - - OCL2.0 - if owningType <> null and owningType.oclIsKindOf(Feature) then - featuringType = - owningType.oclAsType(Feature).featuringType -else - featuringType->isEmpty() -endif - - - - - <p>A <code>Multiplicity</code> must directly or indirectly specialize the <code>Feature</code> <code><em>Base::naturals</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::naturals') - - - - - - - - <p>The Disjoinings that identify this Type as their <code>disjoiningType</code>.</p> - - - - - - - - <p>A <code>Disjoining</code> is a <code>Relationship</code> between <code>Types</code> asserted to have interpretations that are not shared (disjoint) between them, identified as <code>typeDisjoined</code> and <code>disjoiningType</code>. For example, a <code>Classifier</code> for mammals is disjoint from a <code>Classifier</code> for minerals, and a <code>Feature</code> for people&#39;s parents is disjoint from a <code>Feature</code> for their children.</p> - - - - - - <p><code>Type</code> asserted to be disjoint with the <code>disjoiningType</code>.</p> - - - - - - - - <p><code>Type</code> asserted to be disjoint with the <code>typeDisjoined</code>.</p> - - - - - - - - <p>A <code>typeDisjoined</code> that is also an <code>owningRelatedElement</code>.</p> - - - - - - - - - - - - - - - <p>The Disjoinings that identify this Type as their <code>typeDisjoined</code>.</p> - - - - - - - - - - - <p>A Type that owns or inherits the <code>featureMembership</code>.</p> - - - - - - - - - <p>The Differencings that identify this Type as their <code>differencingType</code>.</p> - - - - - - - - - <p>The Types that include this one among their <code>unioningTypes</code>.</p> - - - - - - - - - <p>The Unionings that identify all these Types as their <code>unioningType</code>.</p> - - - - - - - - - <p>The Types that include this one among their <code>intersectingTypes</code>.</p> - - - - - - - - - - <p>The Types that include this one among their <code>differencingTypes</code>.</p> - - - - - - - - <p><code>Differencing</code> is a <code>Relationship</code> that makes its <code>differencingType</code> one of the <code>differencingTypes</code> of its <code>typeDifferenced</code>.</p> - - - - - - <p><code>Type</code> with interpretations partly determined by <code>differencingType</code>, as described in <code>Type::differencingType</code>.</p> - - - - - - - - <p><code>Type</code> that partly determines interpretations of <code>typeDifferenced</code>, as described in <code>Type::differencingType</code>.</p> - - - - - - - - - - - <p>The Intersectings that identify this Type as their <code>intersectingType</code>.</p> - - - - - - - - <p><code>Unioning</code> is a <code>Relationship</code> that makes its <code>unioningType</code> one of the <code>unioningTypes</code> of its <code>typeUnioned</code>.</p> - - - - - - <p><code>Type</code> with interpretations partly determined by <code>unioningType</code>, as described in <code>Type::unioningType</code>.</p> - - - - - - - - <p><code>Type</code> that partly determines interpretations of <code>typeUnioned</code>, as described in <code>Type::unioningType</code>.</p> - - - - - - - - - - <p><code>Intersecting</code> is a <code>Relationship</code> that makes its <code>intersectingType</code> one of the <code>intersectingTypes</code> of its <code>typeIntersected</code>.</p> - - - - - - <p><code>Type</code> with interpretations partly determined by <code>intersectingType</code>, as described in <code>Type::intersectingType</code>.</p> - - - - - - - - <p><code>Type</code> that partly determines interpretations of <code>typeIntersected</code>, as described in <code>Type::intersectingType</code>.</p> - - - - - - - - - - - - <p>The Subclassifications with a certain <code>subclassifier</code>.</p> - - - - - - - - - <p><code>Subclassification</code> is <code>Specialization</code> in which both the <code>specific</code> and <code>general</code> <code>Types</code> are <code>Classifier</code>. This means all instances of the specific <code>Classifier</code> are also instances of the general <code>Classifier</code>.</p> - - - - - - <p>The more <code>general</code> Classifier in this <code>Subclassification</code>.</p> - - - - - - - - <p>The more specific <code>Classifier</code> in this <code>Subclassification</code>.</p> - - - - - - - - <p>The <code>Classifier</code> that owns this <code>Subclassification</code> relationship, which must also be its <code>subclassifier</code>.</p> - - - - - - - - - <p>A <code>Classifier</code> is a <code>Type</code> that classifies:</p> + <p><code>Multiplicity</code> co-domains (in models) can be specified by <code>Expression</code> that might vary in their results. If the <code>typeWithMultiplicity</code> is a <code>Classifier</code>, the domain of the <code>Multiplicity</code> shall be <em><code>Base::Anything</code></em>. If the <code>typeWithMultiplicity</code> is a <code>Feature</code>, the <code>Multiplicity</code> shall have the same domain as the <code>typeWithMultiplicity</code>.</p> + + + + + <p>If the <code>owningType</code> of a <code>Multiplicity</code> is a <code>Feature</code>, then the <code>Multiplicity</code> must have the same <code>featuringTypes</code> as that <code>Feature</code>. Otherwise, it must have no <code>featuringTypes</code> (meaning that it is implicitly featured by the base <code>Classifier</code> <em><code>Anything</code></em>).</p> + + + OCL2.0 + if owningType <> null and owningType.oclIsKindOf(Feature) then + featuringType = + owningType.oclAsType(Feature).featuringType + else + featuringType->isEmpty() + endif + + + + + <p>A <code>Multiplicity</code> must directly or indirectly specialize the <code>Feature</code> <code><em>Base::naturals</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Base::naturals') + + + + + + + + <p>The Disjoinings that identify this Type as their <code>disjoiningType</code>.</p> + + + + + + + + <p>A <code>Disjoining</code> is a <code>Relationship</code> between <code>Types</code> asserted to have interpretations that are not shared (disjoint) between them, identified as <code>typeDisjoined</code> and <code>disjoiningType</code>. For example, a <code>Classifier</code> for mammals is disjoint from a <code>Classifier</code> for minerals, and a <code>Feature</code> for people&#39;s parents is disjoint from a <code>Feature</code> for their children.</p> + + + + + + <p><code>Type</code> asserted to be disjoint with the <code>disjoiningType</code>.</p> + + + + + + + + <p><code>Type</code> asserted to be disjoint with the <code>typeDisjoined</code>.</p> + + + + + + + + <p>A <code>typeDisjoined</code> that is also an <code>owningRelatedElement</code>.</p> + + + + + + + + + + + + + + + <p>The Disjoinings that identify this Type as their <code>typeDisjoined</code>.</p> + + + + + + + + + + + <p>A Type that owns or inherits the <code>featureMembership</code>.</p> + + + + + + + + + <p>The Differencings that identify this Type as their <code>differencingType</code>.</p> + + + + + + + + + <p>The Types that include this one among their <code>unioningTypes</code>.</p> + + + + + + + + + <p>The Unionings that identify all these Types as their <code>unioningType</code>.</p> + + + + + + + + + <p>The Types that include this one among their <code>intersectingTypes</code>.</p> + + + + + + + + + + <p>The Types that include this one among their <code>differencingTypes</code>.</p> + + + + + + + + <p><code>Differencing</code> is a <code>Relationship</code> that makes its <code>differencingType</code> one of the <code>differencingTypes</code> of its <code>typeDifferenced</code>.</p> + + + + + + <p><code>Type</code> with interpretations partly determined by <code>differencingType</code>, as described in <code>Type::differencingType</code>.</p> + + + + + + + + <p><code>Type</code> that partly determines interpretations of <code>typeDifferenced</code>, as described in <code>Type::differencingType</code>.</p> + + + + + + + + + + + <p>The Intersectings that identify this Type as their <code>intersectingType</code>.</p> + + + + + + + + <p><code>Unioning</code> is a <code>Relationship</code> that makes its <code>unioningType</code> one of the <code>unioningTypes</code> of its <code>typeUnioned</code>.</p> + + + + + + <p><code>Type</code> with interpretations partly determined by <code>unioningType</code>, as described in <code>Type::unioningType</code>.</p> + + + + + + + + <p><code>Type</code> that partly determines interpretations of <code>typeUnioned</code>, as described in <code>Type::unioningType</code>.</p> + + + + + + + + + + <p><code>Intersecting</code> is a <code>Relationship</code> that makes its <code>intersectingType</code> one of the <code>intersectingTypes</code> of its <code>typeIntersected</code>.</p> + + + + + + <p><code>Type</code> with interpretations partly determined by <code>intersectingType</code>, as described in <code>Type::intersectingType</code>.</p> + + + + + + + + <p><code>Type</code> that partly determines interpretations of <code>typeIntersected</code>, as described in <code>Type::intersectingType</code>.</p> + + + + + + + + + + + + <p>The Subclassifications with a certain <code>subclassifier</code>.</p> + + + + + + + + + <p><code>Subclassification</code> is <code>Specialization</code> in which both the <code>specific</code> and <code>general</code> <code>Types</code> are <code>Classifier</code>. This means all instances of the specific <code>Classifier</code> are also instances of the general <code>Classifier</code>.</p> + + + + + + <p>The more <code>general</code> Classifier in this <code>Subclassification</code>.</p> + + + + + + + + <p>The more specific <code>Classifier</code> in this <code>Subclassification</code>.</p> + + + + + + + + <p>The <code>Classifier</code> that owns this <code>Subclassification</code> relationship, which must also be its <code>subclassifier</code>.</p> + + + + + + + + + <p>A <code>Classifier</code> is a <code>Type</code> that classifies:</p> -<ul> - <li>Things (in the universe) regardless of how <code>Features</code> relate them. (These are interpreted semantically as sequences of exactly one thing.)</li> - <li>How the above things are related by <code>Features.</code> (These are interpreted semantically as sequences of multiple things, such that the last thing in the sequence is also classified by the <code>Classifier</code>. Note that this means that a <code>Classifier</code> modeled as specializing a <code>Feature</code> cannot classify anything.)</li> -</ul> + <ul> + <li>Things (in the universe) regardless of how <code>Features</code> relate them. (These are interpreted semantically as sequences of exactly one thing.)</li> + <li>How the above things are related by <code>Features.</code> (These are interpreted semantically as sequences of multiple things, such that the last thing in the sequence is also classified by the <code>Classifier</code>. Note that this means that a <code>Classifier</code> modeled as specializing a <code>Feature</code> cannot classify anything.)</li> + </ul> - - - - - <p>The <code>ownedSubclassifications</code> of a <code>Classifier</code> are its <code>ownedSpecializations</code> that are <code>Subclassifications</code>.</p> - - - OCL2.0 - ownedSubclassification = - ownedSpecialization->selectByKind(Subclassification) - - - - - <p>If a <code>Classifier</code> has a <code>multiplicity</code>, then the <code>multiplicity</code> must have no <code>featuringTypes</code> (meaning that its domain is implicitly <em>Base::Anything</em>).</p> - - - OCL2.0 - multiplicity <> null implies multiplicity.featuringType->isEmpty() - - - - - - <p>The <code>ownedSpecializations</code> of this <code>Classifier</code> that are <code>Subclassifications</code>, for which this <code>Classifier</code> is the <code>subclassifier</code>.</p> - - - - - - - - - - <p>The Subclassifications with a certain <code>superclassifier</code>.</p> - - - - - - - - - - <p><code>Redefinition</code> is a kind of <code>Subsetting</code> that requires the <code>redefinedFeature</code> and the <code>redefiningFeature</code> to have the same values (on each instance of the domain of the <code>redefiningFeature</code>). This means any restrictions on the <code>redefiningFeature</code>, such as <code>type</code> or <code>multiplicity</code>, also apply to the <code>redefinedFeature</code> (on each instance of the domain of the <code>redefiningFeature</code>), and vice versa. The <code>redefinedFeature</code> might have values for instances of the domain of the <code>redefiningFeature</code>, but only as instances of the domain of the <code>redefinedFeature</code> that happen to also be instances of the domain of the <code>redefiningFeature</code>. This is supported by the constraints inherited from <code>Subsetting</code> on the domains of the <code>redefiningFeature</code> and <code>redefinedFeature</code>. However, these constraints are narrowed for <code>Redefinition</code> to require the <code>owningTypes</code> of the <code>redefiningFeature</code> and <code>redefinedFeature</code> to be different and the <code>redefinedFeature</code> to not be inherited into the <code>owningNamespace</code> of the <code>redefiningFeature</code>.This enables the <code>redefiningFeature</code> to have the same name as the <code>redefinedFeature</code>, if desired.</p> - - - - - <p>The <code>redefiningFeature</code> of a <code>Redefinition</code> must have at least one <code>featuringType</code> that is not also a <code>featuringType</code> of the <code>redefinedFeature</code>.</p> - - - OCL2.0 - let anythingType: Type = - redefiningFeature.resolveGlobal('Base::Anything').modelElement.oclAsType(Type) in --- Including "Anything" accounts for implicit featuringType of Features --- with no explicit featuringType. -let redefiningFeaturingTypes: Set(Type) = - if redefiningFeature.isVariable then Set{redefiningFeature.owningType} - else redefiningFeature.featuringTypes->asSet()->including(anythingType) - endif in -let redefinedFeaturingTypes: Set(Type) = - if redefinedFeature.isVariable then Set{redefinedFeature.owningType} - else redefinedFeature.featuringTypes->asSet()->including(anythingType) - endif in -redefiningFeaturingTypes <> redefinedFeaturingType - - - - - <p>If the <code>redefinedFeature</code> of a <code>Redefinition</code> has a direction of <code>in</code> or <code>out</code> (relative to any <code>featuringType</code> of the <code>redefiningFeature</code> or the <code>owningType</code>, if the <code>redefiningFeature</code> has <code>isVariable = true</code>), then the <code>redefiningFeature</code> must have the same <code>direction</code>. If the <code>redefinedFeature</code> has a direction of <code>inout</code>, then the <code>redefiningFeature</code> must have a non-null <code>direction</code>. (Note: the direction of the <code>redefinedFeature</code> relative to a <code>featuringType</code> of the <code>redefiningFeature</code> is the direction it would have if it had been inherited and not redefined.)</p> - - - OCL2.0 - let featuringTypes : Sequence(Type) = - if redefiningFeature.isVariable then Sequence{redefiningFeature.owningType} - else redefiningFeature.featuringType - endif in -featuringTypes->forAll(t | - let direction : FeatureDirectionKind = t.directionOf(redefinedFeature) in - ((direction = FeatureDirectionKind::_'in' or - direction = FeatureDirectionKind::out) implies - redefiningFeature.direction = direction) - and - (direction = FeatureDirectionKind::inout implies - redefiningFeature.direction <> null)) - - - - - <p>If the redefinedFeature of a Redefinition has isEnd = true, then the redefiningFeature must have isEnd = true.</p> - - - OCL2.0 - redefinedFeature.isEnd implies redefiningFeature.isEnd - - - - - - <p>The <code>Feature</code> that is redefining the <code>redefinedFeature</code> of this <code>Redefinition</code>.</p> - - - - - - - - <p>The <code>Feature</code> that is redefined by the <code>redefiningFeature</code> of this <code>Redefinition</code>.</p> - - - - - - - - - - <p>The FeatureTyping relating this Type to a Feature.</p> - - - - - - - - - <p>The Features for which a certain Type is a <code>type</code>.</p> - - - - - - - - - <p>The FeatureTypings for which a certain Feature is the <code>typedFeature</code>.</p> - - - - - - - - - - <p>The Feature that owns this Redefinition relationship, which must also be its <code>redefiningFeature</code>.</p> - - - - - - - - - <p>The Redefinitions with a certain Feature as the <code>redefinedFeature</code>.</p> - - - - - - - - - <p>The Subsettings with a certain Feature as the <code>subsettingFeature</code>.</p> - - - - - - - - <p>A <code>Feature</code> is a <code>Type</code> that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the <code>featuringTypes</code> of the <code>Feature</code>. (The domain of a <code>Feature</code> with no <code>featuringTyps</code> is implicitly the most general <code>Type</code> <em><code>Base::Anything</code></em> from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the <code>types</code> of the <code>Feature</code>. + + + + + <p>The <code>ownedSubclassifications</code> of a <code>Classifier</code> are its <code>ownedSpecializations</code> that are <code>Subclassifications</code>.</p> + + + OCL2.0 + ownedSubclassification = + ownedSpecialization->selectByKind(Subclassification) + + + + + <p>If a <code>Classifier</code> has a <code>multiplicity</code>, then the <code>multiplicity</code> must have no <code>featuringTypes</code> (meaning that its domain is implicitly <em>Base::Anything</em>).</p> + + + OCL2.0 + multiplicity <> null implies multiplicity.featuringType->isEmpty() + + + + + + <p>The <code>ownedSpecializations</code> of this <code>Classifier</code> that are <code>Subclassifications</code>, for which this <code>Classifier</code> is the <code>subclassifier</code>.</p> + + + + + + + + + + <p>The Subclassifications with a certain <code>superclassifier</code>.</p> + + + + + + + + + + <p><code>Redefinition</code> is a kind of <code>Subsetting</code> that requires the <code>redefinedFeature</code> and the <code>redefiningFeature</code> to have the same values (on each instance of the domain of the <code>redefiningFeature</code>). This means any restrictions on the <code>redefiningFeature</code>, such as <code>type</code> or <code>multiplicity</code>, also apply to the <code>redefinedFeature</code> (on each instance of the domain of the <code>redefiningFeature</code>), and vice versa. The <code>redefinedFeature</code> might have values for instances of the domain of the <code>redefiningFeature</code>, but only as instances of the domain of the <code>redefinedFeature</code> that happen to also be instances of the domain of the <code>redefiningFeature</code>. This is supported by the constraints inherited from <code>Subsetting</code> on the domains of the <code>redefiningFeature</code> and <code>redefinedFeature</code>. However, these constraints are narrowed for <code>Redefinition</code> to require the <code>owningTypes</code> of the <code>redefiningFeature</code> and <code>redefinedFeature</code> to be different and the <code>redefinedFeature</code> to not be inherited into the <code>owningNamespace</code> of the <code>redefiningFeature</code>.This enables the <code>redefiningFeature</code> to have the same name as the <code>redefinedFeature</code>, if desired.</p> + + + + + <p>The <code>redefiningFeature</code> of a <code>Redefinition</code> must have at least one <code>featuringType</code> that is not also a <code>featuringType</code> of the <code>redefinedFeature</code>.</p> + + + OCL2.0 + let anythingType: Type = + redefiningFeature.resolveGlobal('Base::Anything').modelElement.oclAsType(Type) in + -- Including "Anything" accounts for implicit featuringType of Features + -- with no explicit featuringType. + let redefiningFeaturingTypes: Set(Type) = + if redefiningFeature.isVariable then Set{redefiningFeature.owningType} + else redefiningFeature.featuringTypes->asSet()->including(anythingType) + endif in + let redefinedFeaturingTypes: Set(Type) = + if redefinedFeature.isVariable then Set{redefinedFeature.owningType} + else redefinedFeature.featuringTypes->asSet()->including(anythingType) + endif in + redefiningFeaturingTypes <> redefinedFeaturingType + + + + + <p>If the <code>redefinedFeature</code> of a <code>Redefinition</code> has a direction of <code>in</code> or <code>out</code> (relative to any <code>featuringType</code> of the <code>redefiningFeature</code> or the <code>owningType</code>, if the <code>redefiningFeature</code> has <code>isVariable = true</code>), then the <code>redefiningFeature</code> must have the same <code>direction</code>. If the <code>redefinedFeature</code> has a direction of <code>inout</code>, then the <code>redefiningFeature</code> must have a non-null <code>direction</code>. (Note: the direction of the <code>redefinedFeature</code> relative to a <code>featuringType</code> of the <code>redefiningFeature</code> is the direction it would have if it had been inherited and not redefined.)</p> + + + OCL2.0 + let featuringTypes : Sequence(Type) = + if redefiningFeature.isVariable then Sequence{redefiningFeature.owningType} + else redefiningFeature.featuringType + endif in + featuringTypes->forAll(t | + let direction : FeatureDirectionKind = t.directionOf(redefinedFeature) in + ((direction = FeatureDirectionKind::_'in' or + direction = FeatureDirectionKind::out) implies + redefiningFeature.direction = direction) + and + (direction = FeatureDirectionKind::inout implies + redefiningFeature.direction <> null)) + + + + + <p>If the redefinedFeature of a Redefinition has isEnd = true, then the redefiningFeature must have isEnd = true.</p> + + + OCL2.0 + redefinedFeature.isEnd implies redefiningFeature.isEnd + + + + + + <p>The <code>Feature</code> that is redefining the <code>redefinedFeature</code> of this <code>Redefinition</code>.</p> + + + + + + + + <p>The <code>Feature</code> that is redefined by the <code>redefiningFeature</code> of this <code>Redefinition</code>.</p> + + + + + + + + + + <p>The FeatureTyping relating this Type to a Feature.</p> + + + + + + + + + <p>The Features for which a certain Type is a <code>type</code>.</p> + + + + + + + + + <p>The FeatureTypings for which a certain Feature is the <code>typedFeature</code>.</p> + + + + + + + + + + <p>The Feature that owns this Redefinition relationship, which must also be its <code>redefiningFeature</code>.</p> + + + + + + + + + <p>The Redefinitions with a certain Feature as the <code>redefinedFeature</code>.</p> + + + + + + + + + <p>The Subsettings with a certain Feature as the <code>subsettingFeature</code>.</p> + + + + + + + + <p>A <code>Feature</code> is a <code>Type</code> that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the <code>featuringTypes</code> of the <code>Feature</code>. (The domain of a <code>Feature</code> with no <code>featuringTyps</code> is implicitly the most general <code>Type</code> <em><code>Base::Anything</code></em> from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the <code>types</code> of the <code>Feature</code>. -<p>In the simplest cases, the <code>featuringTypes</code> and <code>types</code> are <code>Classifiers</code> and the <code>Feature</code> relates two things, one from the domain and one from the range. Examples include cars paired with wheels, people paired with other people, and cars paired with numbers representing the car length.</p> + <p>In the simplest cases, the <code>featuringTypes</code> and <code>types</code> are <code>Classifiers</code> and the <code>Feature</code> relates two things, one from the domain and one from the range. Examples include cars paired with wheels, people paired with other people, and cars paired with numbers representing the car length.</p> -<p>Since <code>Features</code> are <code>Types</code>, their <code>featuringTypes</code> and <code>types</code> can be <code>Features</code>. In this case, the <code>Feature</code> effectively classifies relations between relations, which can be interpreted as the sequence of things related by the domain <code>Feature</code> concatenated with the sequence of things related by the co-domain <code>Feature</code>.</p> + <p>Since <code>Features</code> are <code>Types</code>, their <code>featuringTypes</code> and <code>types</code> can be <code>Features</code>. In this case, the <code>Feature</code> effectively classifies relations between relations, which can be interpreted as the sequence of things related by the domain <code>Feature</code> concatenated with the sequence of things related by the co-domain <code>Feature</code>.</p> -<p>The <em>values</em> of a <code>Feature</code> for a given instance of its domain are all the instances of its co-domain that are related to that domain instance by the <code>Feature</code>. The values of a <code>Feature</code> with <code>chainingFeatures</code> are the same as values of the last <code>Feature</code> in the chain, which can be found by starting with values of the first <code>Feature</code>, then using those values as domain instances to obtain valus of the second <code>Feature</code>, and so on, to values of the last <code>Feature</code>.</p> - - - - - <p>The <code>ownedRedefinitions</code> of a <code>Feature</code> are its <code>ownedSubsettings</code> that are <code>Redefinitions</code>.</p> - - - OCL2.0 - ownedRedefinition = ownedSubsetting->selectByKind(Redefinition) - - - - - <p>The <code>ownedTypeFeaturings</code> of a <code>Feature</code> are its <code>ownedRelationships</code> that are <code>TypeFeaturings</code> and which have the <code>Feature</code> as their <code>featureOfType</code>.</p> - - - OCL2.0 - ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> - select(tf | tf.featureOfType = self) - - - - - <p>The <code>ownedSubsettings</code> of a <code>Feature</code> are its <code>ownedSpecializations</code> that are <code>Subsettings</code>.</p> - - - OCL2.0 - ownedSubsetting = ownedSpecialization->selectByKind(Subsetting) - - - - - <p>The <code>ownedTypings</code> of a <code>Feature</code> are its <code>ownedSpecializations</code> that are <code>FeatureTypings</code>.</p> - - - OCL2.0 - ownedTyping = ownedGeneralization->selectByKind(FeatureTyping) - - - - - <p>The <code>types</code> of a <code>Feature</code> are the union of the <code>types</code> of its <code>typings</code> and the <code>types</code> of the <code>Features</code> it subsets, with all redundant supertypes removed. If the <code>Feature</code> has <code>chainingFeatures</code>, then the union also includes the types of the last <code>chainingFeature</code>.</p> - - - OCL2.0 - type = - let types : OrderedSet(Types) = OrderedSet{self}-> - -- Note: The closure operation automatically handles circular relationships. - closure(typingFeatures()).typing.type->asOrderedSet() in - types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1))) - - - - - <p>If a <code>Feature</code> has a <code>multiplicity</code>, then the <code>featuringTypes</code> of the <code>multiplicity</code> must be the same as those of the <code>Feature</code> itself.</p> - - - OCL2.0 - multiplicity <> null implies multiplicity.featuringType = featuringType - - - - - <p>A <code>Feature</code> must directly or indirectly specialize <code><em>Base::things</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::things') - - - - - <p>A <code>Feature</code> cannot be one of its own <code>chainingFeatures</code>.</p> - - - English - chainingFeature->excludes(self) - - - - - <p>The <code>ownedFeatureChainings</code> of a <code>Feature</code> are the <code>ownedRelationships</code> that are <code>FeatureChainings</code>.</p> - - - OCL2.0 - ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining) - - - - - <p>The <code>chainingFeatures</code> of a <code>Feature</code> are the <code>chainingFeatures</code> of its <code>ownedFeatureChainings</code>.</p> - - - OCL2.0 - chainingFeature = ownedFeatureChaining.chainingFeature - - - - - A <code>Feature</code> must have either no <code>chainingFeatures</code> or more than one. - - - OCL2.0 - chainingFeature->size() <> 1 - - - - - <p>If a <code>Feature</code> has <code>isEnd = true</code> and an <code>owningType</code> that is not empty, then, for each direct supertype of its <code>owningType</code>, it must redefine the <code>endFeature</code> at the same position, if any.</p> - - - OCL2.0 - isEnd and owningType <> null implies - let i : Integer = - owningType.ownedEndFeature->indexOf(self) in - owningType.ownedSpecialization.general-> - forAll(supertype | - supertype.endFeature->size() >= i implies - redefines(supertype.endFeature->at(i)) - - - - - <p>If a <code>Feature</code> has a <code>FeatureValue</code>, no <code>ownedSpecializations</code> that are not implied, and is not directed, then it must specialize the <code>result</code> of the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code>.</p> - - - OCL2.0 - direction = null and -ownedSpecializations->forAll(isImplied) implies - ownedMembership-> - selectByKind(FeatureValue)-> - forAll(fv | specializes(fv.value.result)) - - - - - <p>If a <code>Feature</code> has <code>isEnd = true</code> and an <code>owningType</code> that is an <code>Association</code> or a <code>Connector</code>, then it must directly or indirectly specialize <code><em>Links::Link::participant</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - isEnd and owningType <> null and -(owningType.oclIsKindOf(Association) or - owningType.oclIsKindOf(Connector)) implies - specializesFromLibrary('Links::Link::participant') - - - - - <p>A composite <code>Feature</code> typed by a <code>Structure</code>, and whose <code>ownedType</code> is a <code>Structure</code> or another <code>Feature</code> typed by a <code>Structure</code> must directly or indirectly specialize <em><code>Objects::Object::subobjects</code></em>. - - - OCL2.0 - isComposite and -ownedTyping.type->includes(oclIsKindOf(Structure)) and -owningType <> null and -(owningType.oclIsKindOf(Structure) or - owningType.type->includes(oclIsKindOf(Structure))) implies - specializesFromLibrary('Occurrence::Occurrence::suboccurrences') - - - - - <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>Class</code>, then it must directly or indirectly specialize <code><em>Occurrences::occurrences</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - ownedTyping.type->exists(selectByKind(Class)) implies - specializesFromLibrary('Occurrences::occurrences') - - - - - <p>A composite <code>Feature</code> that has an <code>ownedTyping</code> relationship to a <code>Class</code>, and whose <code>ownedType</code> is a <code>Class</code> or another <code>Feature</code> typed by a <code>Class</code>, must directly or indirectly specialize <em><code>Occurrences::Occurrence::suboccurrences</code></em>. - - - OCL2.0 - isComposite and -ownedTyping.type->includes(oclIsKindOf(Class)) and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Class))) implies - specializesFromLibrary('Occurrence::Occurrence::suboccurrences') - - - - - <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>DataType</code>, then it must directly or indirectly specialize <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - ownedTyping.type->exists(selectByKind(DataType)) implies - specializesFromLibrary('Base::dataValues') - - - - - <p>If a <code>Feature</code> is the first <code>ownedFeature</code> of a first or second <code>FlowEnd</code>, then it must directly or indirectly specialize either <em><code>Transfers::Transfer::source::sourceOutput</code></em> or <em><code>Transfers::Transfer::target::targetInput</code></em>, respectively, from the Kernel Semantic Library.</p> - - - OCL2.0 - owningType <> null and -owningType.oclIsKindOf(FlowEnd) and -owningType.ownedFeature->at(1) = self implies - let flowType : Type = owningType.owningType in - flowType <> null implies - let i : Integer = - flowType.ownedFeature.indexOf(owningType) in - (i = 1 implies - redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and - (i = 2 implies - redefinesFromLibrary('Transfers::Transfer::source::targetInput')) - - - - - - <p>If a <code>Feature</code> is a <code>parameter</code> of an <code>owningType</code> that is a <code>Behavior</code> or <code>Step</code>, but <em>not</em> -</p> -<ul> - <li>A <code>result</code> <code>parameter</code></li> - <li>A <code>parameter</code> of an <code>InvocationExpression</code>, with at least one non-implied <code>ownedRedefinition</code></li> -</ul> -<p>then, for each direct supertype of its <code>owningType</code> that is also a <code>Behavior</code> or <code>Step</code>, it must redefine the <code>parameter</code> at the same position, if any.</p> - - - OCL2.0 - owningType <> null and -not owningFeatureMembership. - oclIsKindOf(ReturnParameterMembership) and -(owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step) and - (owningType.oclIsKindOf(InvocationExpression) implies - not ownedRedefinition->exists(not isImplied)) -implies - let i : Integer = - owningType.ownedFeature->select(direction <> null)-> - reject(owningFeatureMembership. - oclIsKindOf(ReturnParameterMembership))-> - indexOf(self) in - owningType.ownedSpecialization.general-> - forAll(supertype | - let ownedParameters : Sequence(Feature) = - supertype.ownedFeature->select(direction <> null)-> - reject(owningFeatureMembership. - oclIsKindOf(ReturnParameterMembership)) in - ownedParameters->size() >= i implies - redefines(ownedParameters->at(i)) - - - - - <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>Structure</code>, then it must directly or indirectly specialize <code><em>Objects::objects</em></code> from the Kernel Semantics Library.</p> - - - OCL2.0 - ownedTyping.type->exists(selectByKind(Structure)) implies - specializesFromLibary('Objects::objects') - - - - - <p>If a <code>Feature</code> is a <code>result</code> <code>parameter</code> of an <code>owningType</code> that is a <code>Function</code> or <code>Expression</code>, then, for each direct supertype of its <code>owningType</code> that is also a <code>Function</code> or <code>Expression</code>, it must redefine the <code>result</code> <code>parameter</code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(Function) and - self = owningType.oclAsType(Function).result or - owningType.oclIsKindOf(Expression) and - self = owningType.oclAsType(Expression).result) implies - owningType.ownedSpecialization.general-> - select(oclIsKindOf(Function) or oclIsKindOf(Expression))-> - forAll(supertype | - redefines( - if superType.oclIsKindOf(Function) then - superType.oclAsType(Function).result - else - superType.oclAsType(Expression).result - endif) - - - - - <p>The <code>ownedFeatureInvertings</code> of a <code>Feature</code> are its <code>ownedRelationships</code> that are <code>FeatureInvertings</code>.</p> - - - OCL2.0 - ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> - select(fi | fi.featureInverted = self) - - - - - The <code>featuringTypes</code> of a <code>Feature</code> include the <code>featuringTypes</code> of all the <code>typeFeaturings</code> of the <code>Feature</code>. If the <code>Feature</code> has <code>chainingFeatures</code>, then its <code>featuringTypes</code> also include the <code>featuringTypes</code> of the first <code>chainingFeature</code>. - - - OCL2.0 - featuringType = - let featuringTypes : OrderedSet(Type) = - featuring.type->asOrderedSet() in - if chainingFeature->isEmpty() then featuringTypes - else - featuringTypes-> - union(chainingFeature->first().featuringType)-> - asOrderedSet() - endif - - - - - <p>The <code>ownedReferenceSubsetting</code> of a <code>Feature</code> is the first -<code>ownedSubsetting</code> that is a <code>ReferenceSubsetting</code> (if any).</p> - - - OCL2.0 - ownedReferenceSubsetting = - let referenceSubsettings : OrderedSet(ReferenceSubsetting) = - ownedSubsetting->selectByKind(ReferenceSubsetting) in - if referenceSubsettings->isEmpty() then null - else referenceSubsettings->first() endif - - - - - <p>A <code>Feature</code> must have at most one <code>ownedSubsetting</code> that is an <code>ReferenceSubsetting</code>.</p> - - - OCL2.0 - ownedSubsetting->selectByKind(ReferenceSubsetting)->size() <= 1 - - - - - <p>Each <code>chainingFeature</code> (other than the first) must be featured within the previous <code>chainingFeature</code>.</p> - - - OCL2.0 - Sequence{2..chainingFeature->size()}->forAll(i | - chainingFeature->at(i).isFeaturedWithin(chainingFeature->at(i-1))) - - - - - - <p>If a <code>Feature</code> has <code>isPortion = true</code>, an <code>ownedTyping </code> relationship to a <code>Class</code>, and an <code>owningType</code> that is a <code>Class</code> or another <code>Feature</code> typed by a <code>Class</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::portions</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - isPortion and -ownedTyping.type->includes(oclIsKindOf(Class)) and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Class))) implies - specializesFromLibrary('Occurrence::Occurrence::portions') - - - - - <p>If a <code>Feature</code> has no <code>chainingFeatures</code>, then its <code>featureTarget</code> is the <code>Feature</code> itself, otherwise the <code>featureTarget</code> is the last of the <code>chainingFeatures</code>.</p> - - - OCL2.0 - featureTarget = if chainingFeature->isEmpty() then self else chainingFeature->last() endif - - - - - <p>The <code>ownedCrossSubsetting</code> of a <code>Feature</code> is the <code>ownedSubsetting</code> that is a <code>CrossSubsetting</code>, if any.</p> - - - OCL2.0 - ownedCrossSubsetting = - let crossSubsettings: Sequence(CrossSubsetting) = - ownedSubsetting->selectByKind(CrossSubsetting) in - if crossSubsettings->isEmpty() then null - else crossSubsettings->first() - endif - - - - - <p>If a <code>Feature</code> has <code>isEnd = true</code>, then it must have multiplicity <code>1..1</code>.</p> - - - OCL2.0 - isEnd implies - multiplicities().allSuperTypes()->flatten()-> - selectByKind(MultiplicityRange)->exists(hasBounds(1,1)) - - - - - <p>The <code>crossFeature</code> of a <code>Feature</code> must have the same <code>types</code> as the <code>Feature</code>.</p> - - - OCL2.0 - crossFeature <> null implies - crossFeature.type->asSet() = type->asSet() - - - - - <p>A <code>Feature</code> must have at most one <code>ownedSubsetting</code> that is a <code>CrossSubsetting</code>.</p> - - - OCL2.0 - ownedSubsetting->selectByKind(CrossSubsetting)->size() <= 1 - - - - - <p>The <code>crossFeature</code> of a <code>Feature</code> is the second <code>chainingFeature</code> of the <code>crossedFeature</code> of the <code>ownedCrossSubsetting</code> of the <code>Feature</code>, if any.</p> - - - OCL2.0 - crossFeature = - if ownedCrossSubsetting = null then null - else - let chainingFeatures: Sequence(Feature) = - ownedCrossSubsetting.crossedFeature.chainingFeature in - if chainingFeatures->size() < 2 then null - else chainingFeatures->at(2) - endif - - - - - <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then it must directly or indirectly specialize the <code>types</code> of its owning end <code>Feature</code>.</p> - - - OCL2.0 - isOwnedCrossFeature() implies - owner.oclAsType(Feature).type->forAll(t | self.specializes(t)) - - - - - <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then, for any end <code>Feature</code> that is redefined by the owning end <code>Feature</code> of this <code>Feature</code>, this <code>Feature</code> must subset the <code>crossFeature</code> of the redefined end <code>Feature</code>, if this exists.</p> - - - OCL2.0 - isOwnedCrossFeature() implies - ownedSubsetting.subsettedFeature->includesAll( - owner.oclAsType(Feature).ownedRedefinition.redefinedFeature-> - select(crossFeature <> null).crossFeature) - - - - - <p>If this <code>Feature</code> has a <code>crossFeature</code>, then, for any <code>Feature</code> that is redefined by this <code>Feature</code>, the <code>crossFeature</code> must specialize the <code>crossFeature</code> of the redefined end <code>Feature</code>, if this exists.</p> - - - OCL2.0 - crossFeature <> null implies - ownedRedefinition.redefinedFeature.crossFeature-> - forAll(f | f <> null implies crossFeature.specializes(f)) - - - - - <p>If this <code>Feature</code> has <code>isEnd = true</code> and <code>ownedCrossFeature</code> returns a non-null value, then the <code>crossFeature</code> of the <code>Feature</code> must be the <code>Feature</code> returned from <code>ownedCrossFeature</code> (which implies that this <code>Feature</code> has an appropriate <code>ownedCrossSubsetting</code> to realize this).</p> - - - OCL2.0 - ownedCrossFeature() <> null implies - crossFeature = ownedCrossFeature() - - - - - <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then it must have <code>featuringTypes</code> consistent with the crossing from other end <code>Features</code> of the <code>owningType</code> of its end <code>Feature</code>.</p> - - - OCL2.0 - isOwnedCrossFeature() implies - let otherEnds : OrderedSet(Feature) = - owner.oclAsType(Feature).owningType.endFeature->excluding(self) in - if (otherEnds->size() = 1) then - featuringType = otherEnds->first().type - else - featuringType->size() = 1 and - featuringType->first().isCartesianProduct() and - featuringType->first().asCartesianProduct() = otherEnds.type and - featuringType->first().allSupertypes()->includesAll( - owner.oclAsType(Feature).ownedRedefinition.redefinedFeature-> - select(crossFeature() <> null).crossFeature().featuringType) - endif - - - - - OCL2.0 - isPortion implies not isVariable - - - - - <p>A <code>Feature</code> with <code>isEnd = true</code> must have no direction.</p> - - - OCL2.0 - isEnd implied direction = null - - - - - <p>If a <code>Feature</code> is owned via a <code>FeatureMembership</code>, then it must have a <code>featuringType</code> for which the operation <code>isFeaturingType</code> returns true.</p> - - - OCL2.0 - owningFeatureMembership <> null implies - featuringTypes->exists(t | isFeaturingType(t)) - - - - - <p>A <code>Feature</code> with <code>isConstant = true</code> must have <code>isVariable = true</code>. - - - OCL2.0 - isConstant implies isVariable - - - - - <p>A <code>Feature</code> with <code>isVariable = true</code> must have an <code>owningType</code> that directly or indirectly specializes the <code>Class</code> <em><code>Occurrences::Occurrence</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - isVariable implies - owningType <> null and - owningType.specializes('Occurrences::Occurrence') - - - - - <p>A <code>Feature</code> with <code>isEnd = true</code> must have all of <code>isDerived = false</code>, <code>isAbstract = false</code>, <code>isComposite = false</code>, and <code>isPortion = false</code>.</p> - - - OCL2.0 - isEnd implies not (isDerived or isAbstract or isComposite or isPortion) - - - - - <p>A <code>Feature</code> with <code>isEnd = true</code> and <code>isVariable = true</code> must have <code>isConstant = true</code>.</p> - - - OCL2.0 - isEnd and isVariable implies isConstant - - - - - - <p>The <code>Type</code> that is the <code>owningType</code> of the <code>owningFeatureMembership</code> of this <code>Feature</code>.</p> - - - - - - - <p>Whether or not values for this <code>Feature</code> must have no duplicates or not.</p> - - - - - - - - <p>Whether an order exists for the values of this <code>Feature</code> or not.</p> - - - - - - - <p><code>Types</code> that restrict the values of this <code>Feature</code>, such that the values must be instances of all the <code>types</code>. The types of a <code>Feature</code> are derived from its <code>typings</code> and the <code>types</code> of its <code>subsettings</code>. If the <code>Feature</code> is chained, then the <code>types</code> of the last <code>Feature</code> in the chain are also <code>types</code> of the chained <code>Feature</code>.</p> - - - - - - - - <p>The <code>ownedSubsettings</code> of this <code>Feature</code> that are <code>Redefinitions</code>, for which the <code>Feature</code> is the <code>redefiningFeature</code>.</p> + <p>The <em>values</em> of a <code>Feature</code> for a given instance of its domain are all the instances of its co-domain that are related to that domain instance by the <code>Feature</code>. The values of a <code>Feature</code> with <code>chainingFeatures</code> are the same as values of the last <code>Feature</code> in the chain, which can be found by starting with values of the first <code>Feature</code>, then using those values as domain instances to obtain valus of the second <code>Feature</code>, and so on, to values of the last <code>Feature</code>.</p> + + + + + <p>The <code>ownedRedefinitions</code> of a <code>Feature</code> are its <code>ownedSubsettings</code> that are <code>Redefinitions</code>.</p> + + + OCL2.0 + ownedRedefinition = ownedSubsetting->selectByKind(Redefinition) + + + + + <p>The <code>ownedTypeFeaturings</code> of a <code>Feature</code> are its <code>ownedRelationships</code> that are <code>TypeFeaturings</code> and which have the <code>Feature</code> as their <code>featureOfType</code>.</p> + + + OCL2.0 + ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> + select(tf | tf.featureOfType = self) + + + + + <p>The <code>ownedSubsettings</code> of a <code>Feature</code> are its <code>ownedSpecializations</code> that are <code>Subsettings</code>.</p> + + + OCL2.0 + ownedSubsetting = ownedSpecialization->selectByKind(Subsetting) + + + + + <p>The <code>ownedTypings</code> of a <code>Feature</code> are its <code>ownedSpecializations</code> that are <code>FeatureTypings</code>.</p> + + + OCL2.0 + ownedTyping = ownedGeneralization->selectByKind(FeatureTyping) + + + + + <p>The <code>types</code> of a <code>Feature</code> are the union of the <code>types</code> of its <code>typings</code> and the <code>types</code> of the <code>Features</code> it subsets, with all redundant supertypes removed. If the <code>Feature</code> has <code>chainingFeatures</code>, then the union also includes the types of the last <code>chainingFeature</code>.</p> + + + OCL2.0 + type = + let types : OrderedSet(Types) = OrderedSet{self}-> + -- Note: The closure operation automatically handles circular relationships. + closure(typingFeatures()).typing.type->asOrderedSet() in + types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1))) + + + + + <p>If a <code>Feature</code> has a <code>multiplicity</code>, then the <code>featuringTypes</code> of the <code>multiplicity</code> must be the same as those of the <code>Feature</code> itself.</p> + + + OCL2.0 + multiplicity <> null implies multiplicity.featuringType = featuringType + + + + + <p>A <code>Feature</code> must directly or indirectly specialize <code><em>Base::things</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Base::things') + + + + + <p>A <code>Feature</code> cannot be one of its own <code>chainingFeatures</code>.</p> + + + English + chainingFeature->excludes(self) + + + + + <p>The <code>ownedFeatureChainings</code> of a <code>Feature</code> are the <code>ownedRelationships</code> that are <code>FeatureChainings</code>.</p> + + + OCL2.0 + ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining) + + + + + <p>The <code>chainingFeatures</code> of a <code>Feature</code> are the <code>chainingFeatures</code> of its <code>ownedFeatureChainings</code>.</p> + + + OCL2.0 + chainingFeature = ownedFeatureChaining.chainingFeature + + + + + A <code>Feature</code> must have either no <code>chainingFeatures</code> or more than one. + + + OCL2.0 + chainingFeature->size() <> 1 + + + + + <p>If a <code>Feature</code> has <code>isEnd = true</code> and an <code>owningType</code> that is not empty, then, for each direct supertype of its <code>owningType</code>, it must redefine the <code>endFeature</code> at the same position, if any.</p> + + + OCL2.0 + isEnd and owningType <> null implies + let i : Integer = + owningType.ownedEndFeature->indexOf(self) in + owningType.ownedSpecialization.general-> + forAll(supertype | + supertype.endFeature->size() >= i implies + redefines(supertype.endFeature->at(i)) + + + + + <p>If a <code>Feature</code> has a <code>FeatureValue</code>, no <code>ownedSpecializations</code> that are not implied, and is not directed, then it must specialize the <code>result</code> of the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code>.</p> + + + OCL2.0 + direction = null and + ownedSpecializations->forAll(isImplied) implies + ownedMembership-> + selectByKind(FeatureValue)-> + forAll(fv | specializes(fv.value.result)) + + + + + <p>If a <code>Feature</code> has <code>isEnd = true</code> and an <code>owningType</code> that is an <code>Association</code> or a <code>Connector</code>, then it must directly or indirectly specialize <code><em>Links::Link::participant</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + isEnd and owningType <> null and + (owningType.oclIsKindOf(Association) or + owningType.oclIsKindOf(Connector)) implies + specializesFromLibrary('Links::Link::participant') + + + + + <p>A composite <code>Feature</code> typed by a <code>Structure</code>, and whose <code>ownedType</code> is a <code>Structure</code> or another <code>Feature</code> typed by a <code>Structure</code> must directly or indirectly specialize <em><code>Objects::Object::subobjects</code></em>. + + + OCL2.0 + isComposite and + ownedTyping.type->includes(oclIsKindOf(Structure)) and + owningType <> null and + (owningType.oclIsKindOf(Structure) or + owningType.type->includes(oclIsKindOf(Structure))) implies + specializesFromLibrary('Occurrence::Occurrence::suboccurrences') + + + + + <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>Class</code>, then it must directly or indirectly specialize <code><em>Occurrences::occurrences</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + ownedTyping.type->exists(selectByKind(Class)) implies + specializesFromLibrary('Occurrences::occurrences') + + + + + <p>A composite <code>Feature</code> that has an <code>ownedTyping</code> relationship to a <code>Class</code>, and whose <code>ownedType</code> is a <code>Class</code> or another <code>Feature</code> typed by a <code>Class</code>, must directly or indirectly specialize <em><code>Occurrences::Occurrence::suboccurrences</code></em>. + + + OCL2.0 + isComposite and + ownedTyping.type->includes(oclIsKindOf(Class)) and + owningType <> null and + (owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Class))) implies + specializesFromLibrary('Occurrence::Occurrence::suboccurrences') + + + + + <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>DataType</code>, then it must directly or indirectly specialize <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + ownedTyping.type->exists(selectByKind(DataType)) implies + specializesFromLibrary('Base::dataValues') + + + + + <p>If a <code>Feature</code> is the first <code>ownedFeature</code> of a first or second <code>FlowEnd</code>, then it must directly or indirectly specialize either <em><code>Transfers::Transfer::source::sourceOutput</code></em> or <em><code>Transfers::Transfer::target::targetInput</code></em>, respectively, from the Kernel Semantic Library.</p> + + + OCL2.0 + owningType <> null and + owningType.oclIsKindOf(FlowEnd) and + owningType.ownedFeature->at(1) = self implies + let flowType : Type = owningType.owningType in + flowType <> null implies + let i : Integer = + flowType.ownedFeature.indexOf(owningType) in + (i = 1 implies + redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and + (i = 2 implies + redefinesFromLibrary('Transfers::Transfer::source::targetInput')) + + + + + + <p>If a <code>Feature</code> is a <code>parameter</code> of an <code>owningType</code> that is a <code>Behavior</code> or <code>Step</code>, but <em>not</em> + </p> + <ul> + <li>A <code>result</code> <code>parameter</code></li> + <li>A <code>parameter</code> of an <code>InvocationExpression</code>, with at least one non-implied <code>ownedRedefinition</code></li> + </ul> + <p>then, for each direct supertype of its <code>owningType</code> that is also a <code>Behavior</code> or <code>Step</code>, it must redefine the <code>parameter</code> at the same position, if any.</p> + + + OCL2.0 + owningType <> null and + not owningFeatureMembership. + oclIsKindOf(ReturnParameterMembership) and + (owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step) and + (owningType.oclIsKindOf(InvocationExpression) implies + not ownedRedefinition->exists(not isImplied)) + implies + let i : Integer = + owningType.ownedFeature->select(direction <> null)-> + reject(owningFeatureMembership. + oclIsKindOf(ReturnParameterMembership))-> + indexOf(self) in + owningType.ownedSpecialization.general-> + forAll(supertype | + let ownedParameters : Sequence(Feature) = + supertype.ownedFeature->select(direction <> null)-> + reject(owningFeatureMembership. + oclIsKindOf(ReturnParameterMembership)) in + ownedParameters->size() >= i implies + redefines(ownedParameters->at(i)) + + + + + <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>Structure</code>, then it must directly or indirectly specialize <code><em>Objects::objects</em></code> from the Kernel Semantics Library.</p> + + + OCL2.0 + ownedTyping.type->exists(selectByKind(Structure)) implies + specializesFromLibary('Objects::objects') + + + + + <p>If a <code>Feature</code> is a <code>result</code> <code>parameter</code> of an <code>owningType</code> that is a <code>Function</code> or <code>Expression</code>, then, for each direct supertype of its <code>owningType</code> that is also a <code>Function</code> or <code>Expression</code>, it must redefine the <code>result</code> <code>parameter</code>.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(Function) and + self = owningType.oclAsType(Function).result or + owningType.oclIsKindOf(Expression) and + self = owningType.oclAsType(Expression).result) implies + owningType.ownedSpecialization.general-> + select(oclIsKindOf(Function) or oclIsKindOf(Expression))-> + forAll(supertype | + redefines( + if superType.oclIsKindOf(Function) then + superType.oclAsType(Function).result + else + superType.oclAsType(Expression).result + endif) + + + + + <p>The <code>ownedFeatureInvertings</code> of a <code>Feature</code> are its <code>ownedRelationships</code> that are <code>FeatureInvertings</code>.</p> + + + OCL2.0 + ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> + select(fi | fi.featureInverted = self) + + + + + The <code>featuringTypes</code> of a <code>Feature</code> include the <code>featuringTypes</code> of all the <code>typeFeaturings</code> of the <code>Feature</code>. If the <code>Feature</code> has <code>chainingFeatures</code>, then its <code>featuringTypes</code> also include the <code>featuringTypes</code> of the first <code>chainingFeature</code>. + + + OCL2.0 + featuringType = + let featuringTypes : OrderedSet(Type) = + featuring.type->asOrderedSet() in + if chainingFeature->isEmpty() then featuringTypes + else + featuringTypes-> + union(chainingFeature->first().featuringType)-> + asOrderedSet() + endif + + + + + <p>The <code>ownedReferenceSubsetting</code> of a <code>Feature</code> is the first + <code>ownedSubsetting</code> that is a <code>ReferenceSubsetting</code> (if any).</p> + + + OCL2.0 + ownedReferenceSubsetting = + let referenceSubsettings : OrderedSet(ReferenceSubsetting) = + ownedSubsetting->selectByKind(ReferenceSubsetting) in + if referenceSubsettings->isEmpty() then null + else referenceSubsettings->first() endif + + + + + <p>A <code>Feature</code> must have at most one <code>ownedSubsetting</code> that is an <code>ReferenceSubsetting</code>.</p> + + + OCL2.0 + ownedSubsetting->selectByKind(ReferenceSubsetting)->size() <= 1 + + + + + <p>Each <code>chainingFeature</code> (other than the first) must be featured within the previous <code>chainingFeature</code>.</p> + + + OCL2.0 + Sequence{2..chainingFeature->size()}->forAll(i | + chainingFeature->at(i).isFeaturedWithin(chainingFeature->at(i-1))) + + + + + + <p>If a <code>Feature</code> has <code>isPortion = true</code>, an <code>ownedTyping </code> relationship to a <code>Class</code>, and an <code>owningType</code> that is a <code>Class</code> or another <code>Feature</code> typed by a <code>Class</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::portions</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + isPortion and + ownedTyping.type->includes(oclIsKindOf(Class)) and + owningType <> null and + (owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Class))) implies + specializesFromLibrary('Occurrence::Occurrence::portions') + + + + + <p>If a <code>Feature</code> has no <code>chainingFeatures</code>, then its <code>featureTarget</code> is the <code>Feature</code> itself, otherwise the <code>featureTarget</code> is the last of the <code>chainingFeatures</code>.</p> + + + OCL2.0 + featureTarget = if chainingFeature->isEmpty() then self else chainingFeature->last() endif + + + + + <p>The <code>ownedCrossSubsetting</code> of a <code>Feature</code> is the <code>ownedSubsetting</code> that is a <code>CrossSubsetting</code>, if any.</p> + + + OCL2.0 + ownedCrossSubsetting = + let crossSubsettings: Sequence(CrossSubsetting) = + ownedSubsetting->selectByKind(CrossSubsetting) in + if crossSubsettings->isEmpty() then null + else crossSubsettings->first() + endif + + + + + <p>If a <code>Feature</code> has <code>isEnd = true</code>, then it must have multiplicity <code>1..1</code>.</p> + + + OCL2.0 + isEnd implies + multiplicities().allSuperTypes()->flatten()-> + selectByKind(MultiplicityRange)->exists(hasBounds(1,1)) + + + + + <p>The <code>crossFeature</code> of a <code>Feature</code> must have the same <code>types</code> as the <code>Feature</code>.</p> + + + OCL2.0 + crossFeature <> null implies + crossFeature.type->asSet() = type->asSet() + + + + + <p>A <code>Feature</code> must have at most one <code>ownedSubsetting</code> that is a <code>CrossSubsetting</code>.</p> + + + OCL2.0 + ownedSubsetting->selectByKind(CrossSubsetting)->size() <= 1 + + + + + <p>The <code>crossFeature</code> of a <code>Feature</code> is the second <code>chainingFeature</code> of the <code>crossedFeature</code> of the <code>ownedCrossSubsetting</code> of the <code>Feature</code>, if any.</p> + + + OCL2.0 + crossFeature = + if ownedCrossSubsetting = null then null + else + let chainingFeatures: Sequence(Feature) = + ownedCrossSubsetting.crossedFeature.chainingFeature in + if chainingFeatures->size() < 2 then null + else chainingFeatures->at(2) + endif + + + + + <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then it must directly or indirectly specialize the <code>types</code> of its owning end <code>Feature</code>.</p> + + + OCL2.0 + isOwnedCrossFeature() implies + owner.oclAsType(Feature).type->forAll(t | self.specializes(t)) + + + + + <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then, for any end <code>Feature</code> that is redefined by the owning end <code>Feature</code> of this <code>Feature</code>, this <code>Feature</code> must subset the <code>crossFeature</code> of the redefined end <code>Feature</code>, if this exists.</p> + + + OCL2.0 + isOwnedCrossFeature() implies + ownedSubsetting.subsettedFeature->includesAll( + owner.oclAsType(Feature).ownedRedefinition.redefinedFeature-> + select(crossFeature <> null).crossFeature) + + + + + <p>If this <code>Feature</code> has a <code>crossFeature</code>, then, for any <code>Feature</code> that is redefined by this <code>Feature</code>, the <code>crossFeature</code> must specialize the <code>crossFeature</code> of the redefined end <code>Feature</code>, if this exists.</p> + + + OCL2.0 + crossFeature <> null implies + ownedRedefinition.redefinedFeature.crossFeature-> + forAll(f | f <> null implies crossFeature.specializes(f)) + + + + + <p>If this <code>Feature</code> has <code>isEnd = true</code> and <code>ownedCrossFeature</code> returns a non-null value, then the <code>crossFeature</code> of the <code>Feature</code> must be the <code>Feature</code> returned from <code>ownedCrossFeature</code> (which implies that this <code>Feature</code> has an appropriate <code>ownedCrossSubsetting</code> to realize this).</p> + + + OCL2.0 + ownedCrossFeature() <> null implies + crossFeature = ownedCrossFeature() + + + + + <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then it must have <code>featuringTypes</code> consistent with the crossing from other end <code>Features</code> of the <code>owningType</code> of its end <code>Feature</code>.</p> + + + OCL2.0 + isOwnedCrossFeature() implies + let otherEnds : OrderedSet(Feature) = + owner.oclAsType(Feature).owningType.endFeature->excluding(self) in + if (otherEnds->size() = 1) then + featuringType = otherEnds->first().type + else + featuringType->size() = 1 and + featuringType->first().isCartesianProduct() and + featuringType->first().asCartesianProduct() = otherEnds.type and + featuringType->first().allSupertypes()->includesAll( + owner.oclAsType(Feature).ownedRedefinition.redefinedFeature-> + select(crossFeature() <> null).crossFeature().featuringType) + endif + + + + + OCL2.0 + isPortion implies not isVariable + + + + + <p>A <code>Feature</code> with <code>isEnd = true</code> must have no direction.</p> + + + OCL2.0 + isEnd implied direction = null + + + + + <p>If a <code>Feature</code> is owned via a <code>FeatureMembership</code>, then it must have a <code>featuringType</code> for which the operation <code>isFeaturingType</code> returns true.</p> + + + OCL2.0 + owningFeatureMembership <> null implies + featuringTypes->exists(t | isFeaturingType(t)) + + + + + <p>A <code>Feature</code> with <code>isConstant = true</code> must have <code>isVariable = true</code>. + + + OCL2.0 + isConstant implies isVariable + + + + + <p>A <code>Feature</code> with <code>isVariable = true</code> must have an <code>owningType</code> that directly or indirectly specializes the <code>Class</code> <em><code>Occurrences::Occurrence</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + isVariable implies + owningType <> null and + owningType.specializes('Occurrences::Occurrence') + + + + + <p>A <code>Feature</code> with <code>isEnd = true</code> must have all of <code>isDerived = false</code>, <code>isAbstract = false</code>, <code>isComposite = false</code>, and <code>isPortion = false</code>.</p> + + + OCL2.0 + isEnd implies not (isDerived or isAbstract or isComposite or isPortion) + + + + + <p>A <code>Feature</code> with <code>isEnd = true</code> and <code>isVariable = true</code> must have <code>isConstant = true</code>.</p> + + + OCL2.0 + isEnd and isVariable implies isConstant + + + + + + <p>The <code>Type</code> that is the <code>owningType</code> of the <code>owningFeatureMembership</code> of this <code>Feature</code>.</p> + + + + + + + <p>Whether or not values for this <code>Feature</code> must have no duplicates or not.</p> + + + + + + + + <p>Whether an order exists for the values of this <code>Feature</code> or not.</p> + + + + + + + <p><code>Types</code> that restrict the values of this <code>Feature</code>, such that the values must be instances of all the <code>types</code>. The types of a <code>Feature</code> are derived from its <code>typings</code> and the <code>types</code> of its <code>subsettings</code>. If the <code>Feature</code> is chained, then the <code>types</code> of the last <code>Feature</code> in the chain are also <code>types</code> of the chained <code>Feature</code>.</p> + + + + + + + + <p>The <code>ownedSubsettings</code> of this <code>Feature</code> that are <code>Redefinitions</code>, for which the <code>Feature</code> is the <code>redefiningFeature</code>.</p> - - - - - - - - <p>The <code>ownedSpecializations</code> of this <code>Feature</code> that are <code>Subsettings</code>, for which the <code>Feature</code> is the <code>subsettingFeature</code>.</p> - - - - - - - - <p>The <code>FeatureMembership</code> that owns this <code>Feature</code> as an <code>ownedMemberFeature</code>, determining its <code>owningType</code>.</p> - - - - - - - <p>Whether the <code>Feature</code> is a composite <code>feature</code> of its <code>featuringType</code>. If so, the values of the <code>Feature</code> cannot exist after its featuring instance no longer does and cannot be values of another composite feature that is not on the same featuring instance.</p> - - - - - - - - <p>Whether or not this <code>Feature</code> is an end <code>Feature</code>. An end <code>Feature</code> always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a <code>crossFeature</code>, in which case values of the <code>crossFeature</code> must be the same as those found by navigation across instances of the <code>owningType</code> from values of other end <code>Features</code> to values of this Feature. If the <code>owningType</code> has <em>n</em> end <code>Features</code>, then the multiplicity, ordering, and uniqueness declared for the <code>crossFeature</code> of any one of these end <code>Features</code> constrains the cardinality, ordering, and uniqueness of the collection of values of that <code>Feature</code> reached by navigation when the values of the other <em>n-1</em> end <code>Features</code> are held fixed.</p> - - - - - - - - <p>The <code>Type</code> that is related to this <code>Feature</code> by an <code>EndFeatureMembership</code> in which the <code>Feature</code> is an <code>ownedMemberFeature</code>.</p> - - - - - - - <p>The <code>ownedSpecializations</code> of this <code>Feature</code> that are <code>FeatureTypings</code>, for which the <code>Feature</code> is the <code>typedFeature</code>.</p> - - - - - - - <p><code>Types</code> that feature this <code>Feature</code>, such that any instance in the domain of the <code>Feature</code> must be classified by all of these <code>Types</code>, including at least all the <code>featuringTypes</code> of its <code>typeFeaturings</code>. If the <code>Feature</code> is chained, then the <code>featuringTypes</code> of the first <code>Feature</code> in the chain are also <code>featuringTypes</code> of the chained <code>Feature</code>.</p> - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>TypeFeaturings</code> and for which the <code>Feature</code> is the <code>featureOfType</code>.</p> - - - - - - - <p>Whether the values of this <code>Feature</code> can always be computed from the values of other <code>Features</code>.</p> - - - - - - - - <p>The <code>Feature</code> that are chained together to determine the values of this <code>Feature</code>, derived from the <code>chainingFeatures</code> of the <code>ownedFeatureChainings</code> of this <code>Feature</code>, in the same order. The values of a <code>Feature</code> with <code>chainingFeatures</code> are the same as values of the last <code>Feature</code> in the chain, which can be found by starting with the values of the first <code>Feature</code> (for each instance of the domain of the original <code>Feature</code>), then using each of those as domain instances to find the values of the second <code>Feature</code> in chainingFeatures, and so on, to values of the last <code>Feature</code>.</p> - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>FeatureInvertings</code> and for which the <code>Feature</code> is the <code>featureInverted</code>.</p> - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>FeatureChainings</code>, for which the <code>Feature</code> will be the <code>featureChained</code>.</p> - - - - - - - <p>Whether the values of this <code>Feature</code> are contained in the space and time of instances of the domain of the <code>Feature</code> and represent the same thing as those instances.</p> - - - - - - - - <p>Whether the value of this <code>Feature</code> might vary over time. That is, whether the <code>Feature</code> may have a different value for each <em><code>snapshot</code></em> of an <code>owningType</code> that is an <em><code>Occurrence</code></em>.</p> - - - - - - - <p>If <code>isVariable</code> is true, then whether the value of this <code>Feature</code> nevertheless does not change over all <code><em>snapshots</em></code> of its <code>owningType</code>.</p> - - - - - - - - <p>The one <code>ownedSubsetting</code> of this <code>Feature</code>, if any, that is a <code>ReferenceSubsetting</code>, for which the <code>Feature</code> is the <code>referencingFeature</code>.</p> - - - - - - - <p>The last of the <code>chainingFeatures</code> of this <code>Feature</code>, if it has any. Otherwise, this <code>Feature</code> itself.</p> - - - - - - - <p>The second <code>chainingFeature</code> of the <code>crossedFeature</code> of the <code>ownedCrossSubsetting</code> of this <code>Feature</code>, if it has one. Semantically, the values of the <code>crossFeature</code> of an end <code>Feature</code> must include all values of the end <code>Feature</code> obtained when navigating from values of the other end <code>Features</code> of the same <code>owningType</code>. -</p> - - - - - - - <p>Indicates how values of this <code>Feature</code> are determined or used (as specified for the <code>FeatureDirectionKind</code>).</p> - - - - - - - - <p>The one <code>ownedSubsetting</code> of this <code>Feature</code>, if any, that is a <code>CrossSubsetting}, for which the <code>Feature</code> is the <code>crossingFeature</code>.</p> - - - - - - - <p>Return the <code>directionOf</code> this <code>Feature</code> relative to the given <code>type</code>.</p> - - - - OCL2.0 - type.directionOf(self) - - - - - - - - - - - <p>If a <code>Feature</code> has no <code>declaredShortName</code> or <code>declaredName</code>, then its effective <code>shortName</code> is given by the effective <code>shortName</code> of the <code>Feature</code> returned by the <code>namingFeature()</code> operation, if any.</p> - - - - OCL2.0 - if declaredShortName <> null or declaredName <> null then - declaredShortName -else - let namingFeature : Feature = namingFeature() in - if namingFeature = null then - null - else - namingFeature.effectiveShortName() - endif -endif - - - - - - - - - - - <p>If a <code>Feature</code> has no <code>declaredName</code> or <code>declaredShortName</code> -, then its effective <code>name</code> is given by the effective <code>name</code> of the <code>Feature</code> returned by the <code>namingFeature()</code> operation, if any.</p> - - - - OCL2.0 - if declaredShortName <> null or declaredName <> null then - declaredName -else - let namingFeature : Feature = namingFeature() in - if namingFeature = null then - null - else - namingFeature.effectiveName() - endif -endif - - - - - - - - - - - <p>By default, the naming <code>Feature</code> of a <code>Feature</code> is given by its first <code>redefinedFeature</code> of its first <code>ownedRedefinition</code>, if any.</p> - - - - OCL2.0 - if ownedRedefinition->isEmpty() then - null -else - ownedRedefinition->at(1).redefinedFeature -endif - - - - - - - - - - - OCL2.0 - let supertypes : OrderedSet(Type) = - self.oclAsType(Type).supertypes(excludeImplied) in -if featureTarget = self then supertypes -else supertypes->append(featureTarget) -endif - - - - - - - - - - - - - <p>Check whether this <code>Feature</code> <em>directly</em> redefines the given <code>redefinedFeature</code>.</p> - - - - OCL2.0 - ownedRedefinition.redefinedFeature->includes(redefinedFeature) - - - - - - - - - - <p>Check whether this <code>Feature</code> <em>directly</em> redefines the named library <code>Feature</code>. <code>libraryFeatureName</code> must conform to the syntax of a KerML qualified name and must resolve to a <code>Feature</code> in global scope.</p> - - - - OCL2.0 - let mem: Membership = resolveGlobal(libraryFeatureName) in -mem <> null and mem.memberElement.oclIsKindOf(Feature) and -redefines(mem.memberElement.oclAsType(Feature)) - - - - - - - - - - - - <p>Check whether this <code>Feature</code> directly or indirectly specializes a <code>Feature</code> whose last two <code>chainingFeatures</code> are the given <code>Features</code> <code>first</code> and <code>second</code>.</p> - - - - OCL2.0 - allSuperTypes()->selectAsKind(Feature)-> - exists(f | let n: Integer = f.chainingFeature->size() in - n >= 2 and - f.chainingFeature->at(n-1) = first and - f.chainingFeature->at(n) = second) - - - - - - - - - - - <p>A <code>Feature</code> is compatible with an <code>otherType</code> if it either directly or indirectly specializes the <code>otherType</code> or if the <code>otherType</code> is also a <code>Feature</code> and all of the following are true.</p> -<ol> - <li>Neither this <code>Feature</code> or the <code>otherType</code> have any <code>ownedFeatures</code>.</li> - <li>This <code>Feature</code> directly or indirectly redefines a <code>Feature</code> that is also directly or indirectly redefined by the <code>otherType</code>.</li> - <li>This <code>Feature</code> can access the <code>otherType</code>. -</li></ol> - - - - OCL2.0 - specializes(otherType) or - supertype.oclIsKindOf(Feature) and - ownedFeature->isEmpty() and - otherType.ownedFeature->isEmpty() and - ownedRedefinitions.allRedefinedFeatures()->exists(f | - otherType.oclAsType(Feature).allRedefinedFeatures()->includes(f)) and - canAccess(otherType.oclAsType(Feature)) - - - - - - - - - - <p>Return the <code>Features</code> used to determine the <code>types</code> of this <code>Feature</code> (other than this <code>Feature</code> itself). If this <code>Feature</code> is <em>not</em> conjugated, then the <code>typingFeatures</code> consist of all subsetted <code>Features</code>, <em>except</em> from <code>CrossSubsetting</code>, and the last <code>chainingFeature</code> (if any). If this <code>Feature</code> <em>is</em> conjugated, then the <code>typingFeatures</code> are only its <code>originalType</code> (if the <code>originalType</code> is a <code>Feature</code>).</p> + + + + + + + + <p>The <code>ownedSpecializations</code> of this <code>Feature</code> that are <code>Subsettings</code>, for which the <code>Feature</code> is the <code>subsettingFeature</code>.</p> + + + + + + + + <p>The <code>FeatureMembership</code> that owns this <code>Feature</code> as an <code>ownedMemberFeature</code>, determining its <code>owningType</code>.</p> + + + + + + + <p>Whether the <code>Feature</code> is a composite <code>feature</code> of its <code>featuringType</code>. If so, the values of the <code>Feature</code> cannot exist after its featuring instance no longer does and cannot be values of another composite feature that is not on the same featuring instance.</p> + + + + + + + + <p>Whether or not this <code>Feature</code> is an end <code>Feature</code>. An end <code>Feature</code> always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a <code>crossFeature</code>, in which case values of the <code>crossFeature</code> must be the same as those found by navigation across instances of the <code>owningType</code> from values of other end <code>Features</code> to values of this Feature. If the <code>owningType</code> has <em>n</em> end <code>Features</code>, then the multiplicity, ordering, and uniqueness declared for the <code>crossFeature</code> of any one of these end <code>Features</code> constrains the cardinality, ordering, and uniqueness of the collection of values of that <code>Feature</code> reached by navigation when the values of the other <em>n-1</em> end <code>Features</code> are held fixed.</p> + + + + + + + + <p>The <code>Type</code> that is related to this <code>Feature</code> by an <code>EndFeatureMembership</code> in which the <code>Feature</code> is an <code>ownedMemberFeature</code>.</p> + + + + + + + <p>The <code>ownedSpecializations</code> of this <code>Feature</code> that are <code>FeatureTypings</code>, for which the <code>Feature</code> is the <code>typedFeature</code>.</p> + + + + + + + <p><code>Types</code> that feature this <code>Feature</code>, such that any instance in the domain of the <code>Feature</code> must be classified by all of these <code>Types</code>, including at least all the <code>featuringTypes</code> of its <code>typeFeaturings</code>. If the <code>Feature</code> is chained, then the <code>featuringTypes</code> of the first <code>Feature</code> in the chain are also <code>featuringTypes</code> of the chained <code>Feature</code>.</p> + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>TypeFeaturings</code> and for which the <code>Feature</code> is the <code>featureOfType</code>.</p> + + + + + + + <p>Whether the values of this <code>Feature</code> can always be computed from the values of other <code>Features</code>.</p> + + + + + + + + <p>The <code>Feature</code> that are chained together to determine the values of this <code>Feature</code>, derived from the <code>chainingFeatures</code> of the <code>ownedFeatureChainings</code> of this <code>Feature</code>, in the same order. The values of a <code>Feature</code> with <code>chainingFeatures</code> are the same as values of the last <code>Feature</code> in the chain, which can be found by starting with the values of the first <code>Feature</code> (for each instance of the domain of the original <code>Feature</code>), then using each of those as domain instances to find the values of the second <code>Feature</code> in chainingFeatures, and so on, to values of the last <code>Feature</code>.</p> + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>FeatureInvertings</code> and for which the <code>Feature</code> is the <code>featureInverted</code>.</p> + + + + + + + <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>FeatureChainings</code>, for which the <code>Feature</code> will be the <code>featureChained</code>.</p> + + + + + + + <p>Whether the values of this <code>Feature</code> are contained in the space and time of instances of the domain of the <code>Feature</code> and represent the same thing as those instances.</p> + + + + + + + + <p>Whether the value of this <code>Feature</code> might vary over time. That is, whether the <code>Feature</code> may have a different value for each <em><code>snapshot</code></em> of an <code>owningType</code> that is an <em><code>Occurrence</code></em>.</p> + + + + + + + <p>If <code>isVariable</code> is true, then whether the value of this <code>Feature</code> nevertheless does not change over all <code><em>snapshots</em></code> of its <code>owningType</code>.</p> + + + + + + + + <p>The one <code>ownedSubsetting</code> of this <code>Feature</code>, if any, that is a <code>ReferenceSubsetting</code>, for which the <code>Feature</code> is the <code>referencingFeature</code>.</p> + + + + + + + <p>The last of the <code>chainingFeatures</code> of this <code>Feature</code>, if it has any. Otherwise, this <code>Feature</code> itself.</p> + + + + + + + <p>The second <code>chainingFeature</code> of the <code>crossedFeature</code> of the <code>ownedCrossSubsetting</code> of this <code>Feature</code>, if it has one. Semantically, the values of the <code>crossFeature</code> of an end <code>Feature</code> must include all values of the end <code>Feature</code> obtained when navigating from values of the other end <code>Features</code> of the same <code>owningType</code>. + </p> + + + + + + + <p>Indicates how values of this <code>Feature</code> are determined or used (as specified for the <code>FeatureDirectionKind</code>).</p> + + + + + + + + <p>The one <code>ownedSubsetting</code> of this <code>Feature</code>, if any, that is a <code>CrossSubsetting}, for which the <code>Feature</code> is the <code>crossingFeature</code>.</p> + + + + + + + <p>Return the <code>directionOf</code> this <code>Feature</code> relative to the given <code>type</code>.</p> + + + + OCL2.0 + type.directionOf(self) + + + + + + + + + + + <p>If a <code>Feature</code> has no <code>declaredShortName</code> or <code>declaredName</code>, then its effective <code>shortName</code> is given by the effective <code>shortName</code> of the <code>Feature</code> returned by the <code>namingFeature()</code> operation, if any.</p> + + + + OCL2.0 + if declaredShortName <> null or declaredName <> null then + declaredShortName + else + let namingFeature : Feature = namingFeature() in + if namingFeature = null then + null + else + namingFeature.effectiveShortName() + endif + endif + + + + + + + + + + + <p>If a <code>Feature</code> has no <code>declaredName</code> or <code>declaredShortName</code> + , then its effective <code>name</code> is given by the effective <code>name</code> of the <code>Feature</code> returned by the <code>namingFeature()</code> operation, if any.</p> + + + + OCL2.0 + if declaredShortName <> null or declaredName <> null then + declaredName + else + let namingFeature : Feature = namingFeature() in + if namingFeature = null then + null + else + namingFeature.effectiveName() + endif + endif + + + + + + + + + + + <p>By default, the naming <code>Feature</code> of a <code>Feature</code> is given by its first <code>redefinedFeature</code> of its first <code>ownedRedefinition</code>, if any.</p> + + + + OCL2.0 + if ownedRedefinition->isEmpty() then + null + else + ownedRedefinition->at(1).redefinedFeature + endif + + + + + + + + + + + OCL2.0 + let supertypes : OrderedSet(Type) = + self.oclAsType(Type).supertypes(excludeImplied) in + if featureTarget = self then supertypes + else supertypes->append(featureTarget) + endif + + + + + + + + + + + + + <p>Check whether this <code>Feature</code> <em>directly</em> redefines the given <code>redefinedFeature</code>.</p> + + + + OCL2.0 + ownedRedefinition.redefinedFeature->includes(redefinedFeature) + + + + + + + + + + <p>Check whether this <code>Feature</code> <em>directly</em> redefines the named library <code>Feature</code>. <code>libraryFeatureName</code> must conform to the syntax of a KerML qualified name and must resolve to a <code>Feature</code> in global scope.</p> + + + + OCL2.0 + let mem: Membership = resolveGlobal(libraryFeatureName) in + mem <> null and mem.memberElement.oclIsKindOf(Feature) and + redefines(mem.memberElement.oclAsType(Feature)) + + + + + + + + + + + + <p>Check whether this <code>Feature</code> directly or indirectly specializes a <code>Feature</code> whose last two <code>chainingFeatures</code> are the given <code>Features</code> <code>first</code> and <code>second</code>.</p> + + + + OCL2.0 + allSuperTypes()->selectAsKind(Feature)-> + exists(f | let n: Integer = f.chainingFeature->size() in + n >= 2 and + f.chainingFeature->at(n-1) = first and + f.chainingFeature->at(n) = second) + + + + + + + + + + + <p>A <code>Feature</code> is compatible with an <code>otherType</code> if it either directly or indirectly specializes the <code>otherType</code> or if the <code>otherType</code> is also a <code>Feature</code> and all of the following are true.</p> + <ol> + <li>Neither this <code>Feature</code> or the <code>otherType</code> have any <code>ownedFeatures</code>.</li> + <li>This <code>Feature</code> directly or indirectly redefines a <code>Feature</code> that is also directly or indirectly redefined by the <code>otherType</code>.</li> + <li>This <code>Feature</code> can access the <code>otherType</code>. + </li></ol> + + + + OCL2.0 + specializes(otherType) or + supertype.oclIsKindOf(Feature) and + ownedFeature->isEmpty() and + otherType.ownedFeature->isEmpty() and + ownedRedefinitions.allRedefinedFeatures()->exists(f | + otherType.oclAsType(Feature).allRedefinedFeatures()->includes(f)) and + canAccess(otherType.oclAsType(Feature)) + + + + + + + + + + <p>Return the <code>Features</code> used to determine the <code>types</code> of this <code>Feature</code> (other than this <code>Feature</code> itself). If this <code>Feature</code> is <em>not</em> conjugated, then the <code>typingFeatures</code> consist of all subsetted <code>Features</code>, <em>except</em> from <code>CrossSubsetting</code>, and the last <code>chainingFeature</code> (if any). If this <code>Feature</code> <em>is</em> conjugated, then the <code>typingFeatures</code> are only its <code>originalType</code> (if the <code>originalType</code> is a <code>Feature</code>).</p> -<p><strong>Note.</strong> <code>CrossSubsetting</code> is excluded from the determination of the <code>type</code> of a <code>Feature</code> in order to avoid circularity in the construction of implied <code>CrossSubsetting</code> relationships. The <code>validateFeatureCrossFeatureType</code> requires that the <code>crossFeature</code> of a <code>Feature</code> have the same <code>type</code> as the <code>Feature</code>.</p> - - - - - OCL2.0 - if not isConjugated then - let subsettedFeatures : OrderedSet(Feature) = - subsetting->reject(s | s.oclIsKindOf(CrossSubsetting)).subsettedFeatures in - if chainingFeature->isEmpty() or - subsettedFeature->includes(chainingFeature->last()) - then subsettedFeatures - else subsettedFeatures->append(chainingFeature->last()) - endif -else if conjugator.originalType.oclIsKindOf(Feature) then - OrderedSet{conjugator.originalType.oclAsType(Feature)} -else OrderedSet{} -endif endif - - - - - - - - - - <p>If <code>isCartesianProduct</code> is true, then return the list of <code>Types</code> whose Cartesian product can be represented by this <code>Feature</code>. (If <code>isCartesianProduct</code> is not true, the operation will still return a valid value, it will just not represent anything useful.)</p> - - - - OCL2.0 - featuringType->select(t | t.owner <> self)-> - union(featuringType->select(t | t.owner = self)-> - selectByKind(Feature).asCartesianProduct())-> - union(type) - - - - - - - - - - <p>Check whether this <code>Feature</code> can be used to represent a Cartesian product of <code>Types</code>.</p> - - - - OCL2.0 - type->size() = 1 and -featuringType.size() = 1 and -(featuringType.first().owner = self implies - featuringType.first().oclIsKindOf(Feature) and - featuringType.first().oclAsType(Feature).isCartesianProduct()) - - - - - - - - - <p>Return whether this <code>Feature</code> is an owned cross <code>Feature</code> of an end <code>Feature</code>.</p> - - - - OCL2.0 - owningNamespace <> null and -owningNamespace.oclIsKindOf(Feature) and -owningNamespace.oclAsType(Feature).ownedCrossFeature() = self - - - - - - - - - <p>If this <code>Feature</code> is an end <code>Feature</code> of its <code>owningType</code>, then return the first <code>ownedMember</code> of the <code>Feature</code> that is a <code>Feature</code>, but not a <code>Multiplicity</code> or a <code>MetadataFeature</code>, and whose <code>owningMembership</code> is <em>not</em> a <code>FeatureMembership</code>. If this exists, it is the <code>crossFeature</code> of the end <code>Feature</code>.</p> - - - - OCL2.0 - if not isEnd or owningType = null then null -else - let ownedMemberFeatures: Sequence(Feature) = - ownedMember->selectByKind(Feature)-> - reject(oclIsKindOf(Multiplicity) or - oclIsKindOf(MetadataFeature) or - oclIsKindOf(FeatureValue))-> - reject(owningMembership.oclIsKindOf(FeatureMembership)) in - if ownedMemberFeatures.isEmpty() then null - else ownedMemberFeatures->first() - endif - - - - - - - - - - <p>Return this <code>Feature</code> and all the <code>Features</code> that are directly or indirectly <code>Redefined</code> by this <code>Feature</code>.</p> - - - - OCL2.0 - ownedRedefinition.redefinedFeature-> - closure(ownedRedefinition.redefinedFeature)-> - asOrderedSet()->prepend(self) - - - - - - - - - - - <p>Return if the <code>featuringTypes</code> of this <code>Feature</code> are compatible with the given <code>type</code>. If <code>type</code> is null, then check if this <code>Feature</code> is explicitly or implicitly featured by <em><code>Base::Anything</code></em>. If this <code>Feature</code> has <code>isVariable = true</code>, then also consider it to be featured within its <code>owningType</code>. If this <code>Feature</code> is a feature chain whose first <code>chainingFeature</code> has <code>isVariable = true</code>, then also consider it to be featured within the <code>owningType</code> of its first <code>chainingFeature</code>.</p> - - - - OCL2.0 - if type = null then - featuringType->forAll(f | f = resolveGlobal('Base::Anything').memberElement) -else - featuringType->forAll(f | type.isCompatibleWith(f)) or - isVariable and type.specializes(owningType) or - chainingFeature->notEmpty() and chainingFeature->first().isVariable and - type.specializes(chainingFeature->first().owningType) -endif - - - - - - - - - - - - - <p>A <code>Feature</code> can access another <code>feature</code> if the other <code>feature</code> is featured within one of the direct or indirect <code>featuringTypes</code> of this <code>Feature</code>.</p> - - - - OCL2.0 - let anythingType: Element = - subsettingFeature.resolveGlobal('Base::Anything').memberElement in -let allFeaturingTypes : Sequence(Type) = - featuringTypes->closure(t | - if not t.oclIsKindOf(Feature) then Sequence{} - else - let featuringTypes : OrderedSet(Type) = t.oclAsType(Feature).featuringType in - if featuringTypes->isEmpty() then Sequence{anythingType} - else featuringTypes - endif - endif) in -allFeaturingTypes->exists(t | feature.isFeaturedWithin(t)) - - - - - - - - - - <p>Return whether the given <code>type</code> must be a <code>featuringType</code> of this <code>Feature</code>. If this <code>Feature</code> has <code>isVariable = false</code>, then return true if the <code>type</code> is the <code>owningType</code> of the <code>Feature</code>. If <code>isVariable = true</code>, then return true if the <code>type</code> is a <code>Feature</code> representing the <em><code>snapshots</code></em> of the <code>owningType</code> of this <code>Feature</code>.</p> - - - - OCL2.0 - owningType <> null and -if not isVariable then type = owningType -else if owningType = resolveGlobal('Occurrences::Occurrence').memberElement then - type = resolveGlobal('Occurrences::Occurrence::snapshots').memberElement -else - type.oclIsKindOf(Feature) and - let feature : Feature = type.oclAsType(Feature) in - feature.featuringType->includes(owningType) and - feature.redefinesFromLibrary('Occurrences::Occurrence::snapshots') -endif - - - - - - - - - - - - <p><code>FeatureTyping</code> is <code>Specialization</code> in which the <code>specific</code> <code>Type</code> is a <code>Feature</code>. This means the set of instances of the (specific) <code>typedFeature</code> is a subset of the set of instances of the (general) <code>type</code>. In the simplest case, the <code>type</code> is a <code>Classifier</code>, whereupon the <code>typedFeature</code> has values that are instances of the <code>Classifier</code>.</p> - - - - - - <p>The <code>Feature</code> that has a <code>type</code> determined by this <code>FeatureTyping</code>.</p> - - - - - - - <p>The <code>Type</code> that is being applied by this <code>FeatureTyping</code>.</p> - - - - - - - - <p>A <code>typedFeature</code> that is also the <code>owningRelatedElement</code> of this <code>FeatureTyping</code>.</p> - - - - - - - - <p><code>Subsetting</code> is <code>Specialization</code> in which the <code>specific</code> and <code>general</code> <code>Types</code> are <code>Features</code>. This means all values of the <code>subsettingFeature</code> (on instances of its domain, i.e., the intersection of its <code>featuringTypes</code>) are values of the <code>subsettedFeature</code> on instances of its domain. To support this the domain of the <code>subsettingFeature</code> must be the same or specialize (at least indirectly) the domain of the <code>subsettedFeature</code> (via <code>Specialization</code>), and the co-domain (intersection of the <code>types</code>) of the <code>subsettingFeature</code> must specialize the co-domain of the <code>subsettedFeature</code>.</p> - - - - - <p>The <code>subsettedFeature</code> must be accessible by the <code>subsettingFeature</code>.</p> - - - OCL2.0 - subsettingFeature.canAccess(subsettedFeature) - - - - - <p>If the <code>subsettedFeature</code> of a <code>Subsetting</code> has <code>isUnique = true</code>, then the <code>subsettingFeature</code> must have <code>isUnique = true</code>.</p> - - - OCL2.0 - subsettedFeature.isUnique implies subsettingFeature.isUnique - - - - - <p>If the <code>subsettedFeature</code> of a <code>Subsetting</code> has <code>isConstant = true</code> and the <code>subsettingFeature</code> has <code>isVariable = true</code>, then the <code>subsettingFeature</code> must have <code>isConstant = true</code>.</p> - - - OCL2.0 - subsettedFeature.isConstant and subsettingFeature.isVariable implies - subsettingFeature.isConstant - - - - - - - <p>The <code>Feature</code> that is subsetted by the <code>subsettingFeature</code> of this <code>Subsetting</code>.</p> - - - - - - - - <p>The <code>Feature</code> that is a subset of the <code>subsettedFeature</code> of this <code>Subsetting</code>.</p> - - - - - - - - <p>A <code>subsettingFeature</code> that is also the <code>owningRelatedElement</code> of this <code>Subsetting</code>.</p> + <p><strong>Note.</strong> <code>CrossSubsetting</code> is excluded from the determination of the <code>type</code> of a <code>Feature</code> in order to avoid circularity in the construction of implied <code>CrossSubsetting</code> relationships. The <code>validateFeatureCrossFeatureType</code> requires that the <code>crossFeature</code> of a <code>Feature</code> have the same <code>type</code> as the <code>Feature</code>.</p> + + + + + OCL2.0 + if not isConjugated then + let subsettedFeatures : OrderedSet(Feature) = + subsetting->reject(s | s.oclIsKindOf(CrossSubsetting)).subsettedFeatures in + if chainingFeature->isEmpty() or + subsettedFeature->includes(chainingFeature->last()) + then subsettedFeatures + else subsettedFeatures->append(chainingFeature->last()) + endif + else if conjugator.originalType.oclIsKindOf(Feature) then + OrderedSet{conjugator.originalType.oclAsType(Feature)} + else OrderedSet{} + endif endif + + + + + + + + + + <p>If <code>isCartesianProduct</code> is true, then return the list of <code>Types</code> whose Cartesian product can be represented by this <code>Feature</code>. (If <code>isCartesianProduct</code> is not true, the operation will still return a valid value, it will just not represent anything useful.)</p> + + + + OCL2.0 + featuringType->select(t | t.owner <> self)-> + union(featuringType->select(t | t.owner = self)-> + selectByKind(Feature).asCartesianProduct())-> + union(type) + + + + + + + + + + <p>Check whether this <code>Feature</code> can be used to represent a Cartesian product of <code>Types</code>.</p> + + + + OCL2.0 + type->size() = 1 and + featuringType.size() = 1 and + (featuringType.first().owner = self implies + featuringType.first().oclIsKindOf(Feature) and + featuringType.first().oclAsType(Feature).isCartesianProduct()) + + + + + + + + + <p>Return whether this <code>Feature</code> is an owned cross <code>Feature</code> of an end <code>Feature</code>.</p> + + + + OCL2.0 + owningNamespace <> null and + owningNamespace.oclIsKindOf(Feature) and + owningNamespace.oclAsType(Feature).ownedCrossFeature() = self + + + + + + + + + <p>If this <code>Feature</code> is an end <code>Feature</code> of its <code>owningType</code>, then return the first <code>ownedMember</code> of the <code>Feature</code> that is a <code>Feature</code>, but not a <code>Multiplicity</code> or a <code>MetadataFeature</code>, and whose <code>owningMembership</code> is <em>not</em> a <code>FeatureMembership</code>. If this exists, it is the <code>crossFeature</code> of the end <code>Feature</code>.</p> + + + + OCL2.0 + if not isEnd or owningType = null then null + else + let ownedMemberFeatures: Sequence(Feature) = + ownedMember->selectByKind(Feature)-> + reject(oclIsKindOf(Multiplicity) or + oclIsKindOf(MetadataFeature) or + oclIsKindOf(FeatureValue))-> + reject(owningMembership.oclIsKindOf(FeatureMembership)) in + if ownedMemberFeatures.isEmpty() then null + else ownedMemberFeatures->first() + endif + + + + + + + + + + <p>Return this <code>Feature</code> and all the <code>Features</code> that are directly or indirectly <code>Redefined</code> by this <code>Feature</code>.</p> + + + + OCL2.0 + ownedRedefinition.redefinedFeature-> + closure(ownedRedefinition.redefinedFeature)-> + asOrderedSet()->prepend(self) + + + + + + + + + + + <p>Return if the <code>featuringTypes</code> of this <code>Feature</code> are compatible with the given <code>type</code>. If <code>type</code> is null, then check if this <code>Feature</code> is explicitly or implicitly featured by <em><code>Base::Anything</code></em>. If this <code>Feature</code> has <code>isVariable = true</code>, then also consider it to be featured within its <code>owningType</code>. If this <code>Feature</code> is a feature chain whose first <code>chainingFeature</code> has <code>isVariable = true</code>, then also consider it to be featured within the <code>owningType</code> of its first <code>chainingFeature</code>.</p> + + + + OCL2.0 + if type = null then + featuringType->forAll(f | f = resolveGlobal('Base::Anything').memberElement) + else + featuringType->forAll(f | type.isCompatibleWith(f)) or + isVariable and type.specializes(owningType) or + chainingFeature->notEmpty() and chainingFeature->first().isVariable and + type.specializes(chainingFeature->first().owningType) + endif + + + + + + + + + + + + + <p>A <code>Feature</code> can access another <code>feature</code> if the other <code>feature</code> is featured within one of the direct or indirect <code>featuringTypes</code> of this <code>Feature</code>.</p> + + + + OCL2.0 + let anythingType: Element = + subsettingFeature.resolveGlobal('Base::Anything').memberElement in + let allFeaturingTypes : Sequence(Type) = + featuringTypes->closure(t | + if not t.oclIsKindOf(Feature) then Sequence{} + else + let featuringTypes : OrderedSet(Type) = t.oclAsType(Feature).featuringType in + if featuringTypes->isEmpty() then Sequence{anythingType} + else featuringTypes + endif + endif) in + allFeaturingTypes->exists(t | feature.isFeaturedWithin(t)) + + + + + + + + + + <p>Return whether the given <code>type</code> must be a <code>featuringType</code> of this <code>Feature</code>. If this <code>Feature</code> has <code>isVariable = false</code>, then return true if the <code>type</code> is the <code>owningType</code> of the <code>Feature</code>. If <code>isVariable = true</code>, then return true if the <code>type</code> is a <code>Feature</code> representing the <em><code>snapshots</code></em> of the <code>owningType</code> of this <code>Feature</code>.</p> + + + + OCL2.0 + owningType <> null and + if not isVariable then type = owningType + else if owningType = resolveGlobal('Occurrences::Occurrence').memberElement then + type = resolveGlobal('Occurrences::Occurrence::snapshots').memberElement + else + type.oclIsKindOf(Feature) and + let feature : Feature = type.oclAsType(Feature) in + feature.featuringType->includes(owningType) and + feature.redefinesFromLibrary('Occurrences::Occurrence::snapshots') + endif + + + + + + + + + + + + <p><code>FeatureTyping</code> is <code>Specialization</code> in which the <code>specific</code> <code>Type</code> is a <code>Feature</code>. This means the set of instances of the (specific) <code>typedFeature</code> is a subset of the set of instances of the (general) <code>type</code>. In the simplest case, the <code>type</code> is a <code>Classifier</code>, whereupon the <code>typedFeature</code> has values that are instances of the <code>Classifier</code>.</p> + + + + + + <p>The <code>Feature</code> that has a <code>type</code> determined by this <code>FeatureTyping</code>.</p> + + + + + + + <p>The <code>Type</code> that is being applied by this <code>FeatureTyping</code>.</p> + + + + + + + + <p>A <code>typedFeature</code> that is also the <code>owningRelatedElement</code> of this <code>FeatureTyping</code>.</p> + + + + + + + + <p><code>Subsetting</code> is <code>Specialization</code> in which the <code>specific</code> and <code>general</code> <code>Types</code> are <code>Features</code>. This means all values of the <code>subsettingFeature</code> (on instances of its domain, i.e., the intersection of its <code>featuringTypes</code>) are values of the <code>subsettedFeature</code> on instances of its domain. To support this the domain of the <code>subsettingFeature</code> must be the same or specialize (at least indirectly) the domain of the <code>subsettedFeature</code> (via <code>Specialization</code>), and the co-domain (intersection of the <code>types</code>) of the <code>subsettingFeature</code> must specialize the co-domain of the <code>subsettedFeature</code>.</p> + + + + + <p>The <code>subsettedFeature</code> must be accessible by the <code>subsettingFeature</code>.</p> + + + OCL2.0 + subsettingFeature.canAccess(subsettedFeature) + + + + + <p>If the <code>subsettedFeature</code> of a <code>Subsetting</code> has <code>isUnique = true</code>, then the <code>subsettingFeature</code> must have <code>isUnique = true</code>.</p> + + + OCL2.0 + subsettedFeature.isUnique implies subsettingFeature.isUnique + + + + + <p>If the <code>subsettedFeature</code> of a <code>Subsetting</code> has <code>isConstant = true</code> and the <code>subsettingFeature</code> has <code>isVariable = true</code>, then the <code>subsettingFeature</code> must have <code>isConstant = true</code>.</p> + + + OCL2.0 + subsettedFeature.isConstant and subsettingFeature.isVariable implies + subsettingFeature.isConstant + + + + + + + <p>The <code>Feature</code> that is subsetted by the <code>subsettingFeature</code> of this <code>Subsetting</code>.</p> + + + + + + + + <p>The <code>Feature</code> that is a subset of the <code>subsettedFeature</code> of this <code>Subsetting</code>.</p> + + + + + + + + <p>A <code>subsettingFeature</code> that is also the <code>owningRelatedElement</code> of this <code>Subsetting</code>.</p> - - - - - - - - - - <p>The Redefinitions with a certain Feature as the <code>redefiningFeature</code>.</p> - - - - - - - - - - <p>The Subsettings with a certain Feature as the <code>subsettedFeature</code>.</p> - - - - - - - - - <p>A <code>Type</code> that has the <code>multiplicity</code> as an <code>ownedMember</code>.</p> - - - - - - - - - - <p>The <code>TypeFeaturings</code> for which a certain <code>Feature</code> is the <code>featureOfType</code>.</p> - - - - - - - - - <p>The Features for which a certain Type is a <code>featuringType</code>.</p> - - - - - - - - <p>A <code>TypeFeaturing</code> is a <code>Featuring</code> <code>Relationship</code> in which the <code>featureOfType</code> is the <code>source</code> and the <code>featuringType</code> is the <code>target</code>.</p> - - - - - <p>The <code>Feature</code> that is featured by the <code>featuringType</code>. It is the <code>source</code> of the <code>TypeFeaturing</code>.</p> - - - - - - - <p>The <code>Type</code> that features the <code>featureOfType</code>. It is the <code>target</code> of the <code>TypeFeaturing</code>.</p> - - - - - - - <p>A <code>featureOfType</code> that is also the <code>owningRelatedElement</code> of this <code>TypeFeaturing</code>.</p> - - - - - - - - - - <p>The <code>TypeFeaturings</code> for which a certain <code>Type</code> is the <code>featuringType</code>.</p> - - - - - - - - - <p><code>EndFeatureMembership</code> is a <code>FeatureMembership</code> that requires its <code>memberFeature</code> be owned and have <code>isEnd = true</code>.</p> - - - - - <p>The <code>ownedMemberFeature</code> of an <code>EndFeatureMembership</code> must be an end <code>Feature</code>.</p> - - - OCL2.0 - ownedMemberFeature.isEnd - - - - - - - - - - - <p>Relationship for chainedFeatures.</p> - - - - <p>The <code>FeatureChainings</code> that identify a <code>Feature</code> as their <code>chainingFeature</code>.</p> - - - - - - - - <p><code>FeatureChaining</code> is a <code>Relationship</code> that makes its target <code>Feature</code> one of the <code>chainingFeatures</code> of its owning <code>Feature</code>.</p> - - - - - <p>The <code>Feature</code> whose values partly determine values of <code>featureChained</code>, as described in <code>Feature::chainingFeature</code>.</p> - - - - - - - - <p>The <code>Feature</code> whose values are partly determined by values of the <code>chainingFeature</code>, as described in <code>Feature::chainingFeature</code>.</p> - - - - - - - - - - <p>The <code>Features</code> that have a particular <code>chainingFeature</code> in their <code>Feature</code> chain, whose values are partly determined by values of the <code>chainingFeature</code>, as described in <code>chainingFeature</code>.</p> - - - - - - - - - - - - - - <p>A <code>FeatureInverting</code> is a <code>Relationship</code> between <code>Features</code> asserting that their interpretations (sequences) are the reverse of each other, identified as <code>featureInverted</code> and <code>invertingFeature</code>. For example, a <code>Feature</code> identifying each person&#39;s parents is the inverse of a <code>Feature</code> identifying each person&#39;s children. A person identified as a parent of another will identify that other as one of their children.</p> - - - - - - <p>The <code>Feature</code> that is an inverse of the <code>invertingFeature</code>.</p> - - - - - - - <p>The <code>Feature</code> that is an inverse of the <code>invertedFeature</code>.</p> - - - - - - - <p>A <code>featureInverted</code> that is also the <code>owningRelatedElement</code> of this <code>FeatureInverting</code>.</p> - - - - - - - - - - <p>The FeatureInvertings that identify this Feature as their <code>featureInverted</code>.</p> - - - - - - - - - <p>The FeatureInvertings that identify this Feature as their <code>invertingFeature</code>.</p> - - - - - - - - - - <p><code>ReferenceSubsetting</code> is a kind of <code>Subsetting</code> in which the <code>referencedFeature</code> is syntactically distinguished from other <code>Features</code> subsetted by the <code>referencingFeature</code>. <code>ReferenceSubsetting</code> has the same semantics as <code>Subsetting</code>, but the <code>referencedFeature</code> may have a special purpose relative to the <code>referencingFeature</code>. For instance, <code>ReferenceSubsetting</code> is used to identify the <code>relatedFeatures</code> of a <code>Connector</code>.</p> + + + + + + + + + + <p>The Redefinitions with a certain Feature as the <code>redefiningFeature</code>.</p> + + + + + + + + + + <p>The Subsettings with a certain Feature as the <code>subsettedFeature</code>.</p> + + + + + + + + + <p>A <code>Type</code> that has the <code>multiplicity</code> as an <code>ownedMember</code>.</p> + + + + + + + + + + <p>The <code>TypeFeaturings</code> for which a certain <code>Feature</code> is the <code>featureOfType</code>.</p> + + + + + + + + + <p>The Features for which a certain Type is a <code>featuringType</code>.</p> + + + + + + + + <p>A <code>TypeFeaturing</code> is a <code>Featuring</code> <code>Relationship</code> in which the <code>featureOfType</code> is the <code>source</code> and the <code>featuringType</code> is the <code>target</code>.</p> + + + + + <p>The <code>Feature</code> that is featured by the <code>featuringType</code>. It is the <code>source</code> of the <code>TypeFeaturing</code>.</p> + + + + + + + <p>The <code>Type</code> that features the <code>featureOfType</code>. It is the <code>target</code> of the <code>TypeFeaturing</code>.</p> + + + + + + + <p>A <code>featureOfType</code> that is also the <code>owningRelatedElement</code> of this <code>TypeFeaturing</code>.</p> + + + + + + + + + + <p>The <code>TypeFeaturings</code> for which a certain <code>Type</code> is the <code>featuringType</code>.</p> + + + + + + + + + <p><code>EndFeatureMembership</code> is a <code>FeatureMembership</code> that requires its <code>memberFeature</code> be owned and have <code>isEnd = true</code>.</p> + + + + + <p>The <code>ownedMemberFeature</code> of an <code>EndFeatureMembership</code> must be an end <code>Feature</code>.</p> + + + OCL2.0 + ownedMemberFeature.isEnd + + + + + + + + + + + <p>Relationship for chainedFeatures.</p> + + + + <p>The <code>FeatureChainings</code> that identify a <code>Feature</code> as their <code>chainingFeature</code>.</p> + + + + + + + + <p><code>FeatureChaining</code> is a <code>Relationship</code> that makes its target <code>Feature</code> one of the <code>chainingFeatures</code> of its owning <code>Feature</code>.</p> + + + + + <p>The <code>Feature</code> whose values partly determine values of <code>featureChained</code>, as described in <code>Feature::chainingFeature</code>.</p> + + + + + + + + <p>The <code>Feature</code> whose values are partly determined by values of the <code>chainingFeature</code>, as described in <code>Feature::chainingFeature</code>.</p> + + + + + + + + + + <p>The <code>Features</code> that have a particular <code>chainingFeature</code> in their <code>Feature</code> chain, whose values are partly determined by values of the <code>chainingFeature</code>, as described in <code>chainingFeature</code>.</p> + + + + + + + + + + + + + + <p>A <code>FeatureInverting</code> is a <code>Relationship</code> between <code>Features</code> asserting that their interpretations (sequences) are the reverse of each other, identified as <code>featureInverted</code> and <code>invertingFeature</code>. For example, a <code>Feature</code> identifying each person&#39;s parents is the inverse of a <code>Feature</code> identifying each person&#39;s children. A person identified as a parent of another will identify that other as one of their children.</p> + + + + + + <p>The <code>Feature</code> that is an inverse of the <code>invertingFeature</code>.</p> + + + + + + + <p>The <code>Feature</code> that is an inverse of the <code>invertedFeature</code>.</p> + + + + + + + <p>A <code>featureInverted</code> that is also the <code>owningRelatedElement</code> of this <code>FeatureInverting</code>.</p> + + + + + + + + + + <p>The FeatureInvertings that identify this Feature as their <code>featureInverted</code>.</p> + + + + + + + + + <p>The FeatureInvertings that identify this Feature as their <code>invertingFeature</code>.</p> + + + + + + + + + + <p><code>ReferenceSubsetting</code> is a kind of <code>Subsetting</code> in which the <code>referencedFeature</code> is syntactically distinguished from other <code>Features</code> subsetted by the <code>referencingFeature</code>. <code>ReferenceSubsetting</code> has the same semantics as <code>Subsetting</code>, but the <code>referencedFeature</code> may have a special purpose relative to the <code>referencingFeature</code>. For instance, <code>ReferenceSubsetting</code> is used to identify the <code>relatedFeatures</code> of a <code>Connector</code>.</p> -<p><code>ReferenceSubsetting</code> is always an <code>ownedRelationship</code> of its <code>referencingFeature</code>. A <code>Feature</code> can have at most one <code>ownedReferenceSubsetting</code>.</p> - - - - - - <p>The <code>Feature</code> that is referenced by the <code>referencingFeature</code> of this <code>ReferenceSubsetting</code>.</p> - - - - - - - - <p>The <code>Feature</code> that owns this <code>ReferenceSubsetting</code> relationship, which is also its <code>subsettingFeature</code>.</p> - - - - - - - - - - <p>The <code>ReferenceSubsetting</code> with a certain <code>Feature</code> as the <code>referencedFeature</code>.</p> - - - - - - - - - <p>The <code>Features</code> that identify a <code>Feature</code> as their <code>featureTarget</code>.</p> - - - <p>The <code>Features</code> that are the same as or the <code>chainedFeature</code> for a <code>targetFeature</code>.</p> - - - - - - - - - - <p>The <code>CrossSubsetting</code> with a certain <code>Feature</code> as the <code>crossedFeature</code>.</p> - - - - - - - - - <p>The <code>Features</code> with a certain other <code>Feature</code> as the <code>crossFeature</code>.</p> - - - - - - - - <p><code>CrossSubsetting</code> is a kind of <code>Subsetting</code> for end <code>Features</code>, as identified by <code>crossingFeature</code>, to subset a chained <code>Feature</code>, identified by <code>crossedFeature.</code> It navigates to instances of the end <code>Feature</code>’s type from instances of other end <code>Feature</code> types on the same <code>owningType</code> (at least two end <code>Features</code> are required for any of them to have a <code>CrossSubsetting</code>).</p> + <p><code>ReferenceSubsetting</code> is always an <code>ownedRelationship</code> of its <code>referencingFeature</code>. A <code>Feature</code> can have at most one <code>ownedReferenceSubsetting</code>.</p> + + + + + + <p>The <code>Feature</code> that is referenced by the <code>referencingFeature</code> of this <code>ReferenceSubsetting</code>.</p> + + + + + + + + <p>The <code>Feature</code> that owns this <code>ReferenceSubsetting</code> relationship, which is also its <code>subsettingFeature</code>.</p> + + + + + + + + + + <p>The <code>ReferenceSubsetting</code> with a certain <code>Feature</code> as the <code>referencedFeature</code>.</p> + + + + + + + + + <p>The <code>Features</code> that identify a <code>Feature</code> as their <code>featureTarget</code>.</p> + + + <p>The <code>Features</code> that are the same as or the <code>chainedFeature</code> for a <code>targetFeature</code>.</p> + + + + + + + + + + <p>The <code>CrossSubsetting</code> with a certain <code>Feature</code> as the <code>crossedFeature</code>.</p> + + + + + + + + + <p>The <code>Features</code> with a certain other <code>Feature</code> as the <code>crossFeature</code>.</p> + + + + + + + + <p><code>CrossSubsetting</code> is a kind of <code>Subsetting</code> for end <code>Features</code>, as identified by <code>crossingFeature</code>, to subset a chained <code>Feature</code>, identified by <code>crossedFeature.</code> It navigates to instances of the end <code>Feature</code>’s type from instances of other end <code>Feature</code> types on the same <code>owningType</code> (at least two end <code>Features</code> are required for any of them to have a <code>CrossSubsetting</code>).</p> -<p>The <code>crossedFeature</code> of a <code>CrossSubsetting</code> must have a feature chain of exactly two <code>Features</code>. The second <code>Feature</code> in the chain is the <code>crossFeature</code> of the <code>crossingFeature</code> (end <code>Feature</code>), which has the same type as the <code>crossingFeature</code>. When the <code>owningType</code> of the <code>crossingFeature</code> has exactly two end <code>Features</code>, the first <code>Feature</code> in the chain of the <code>crossedFeature</code> is the other end <code>Feature</code>. The <code>crossFeature</code>’s <code>featuringType</code> in this case is the other end <code>Feature</code>. When the <code>owningType</code> has more than two end <code>Features</code>, the first <code>Feature</code> in the chain is a <code>Feature</code> that <code>CrossMultiplies</code> all the other end <code>Features</code>, which is also the <code>featuringType</code> of the <code>crossFeature</code>.</p> + <p>The <code>crossedFeature</code> of a <code>CrossSubsetting</code> must have a feature chain of exactly two <code>Features</code>. The second <code>Feature</code> in the chain is the <code>crossFeature</code> of the <code>crossingFeature</code> (end <code>Feature</code>), which has the same type as the <code>crossingFeature</code>. When the <code>owningType</code> of the <code>crossingFeature</code> has exactly two end <code>Features</code>, the first <code>Feature</code> in the chain of the <code>crossedFeature</code> is the other end <code>Feature</code>. The <code>crossFeature</code>’s <code>featuringType</code> in this case is the other end <code>Feature</code>. When the <code>owningType</code> has more than two end <code>Features</code>, the first <code>Feature</code> in the chain is a <code>Feature</code> that <code>CrossMultiplies</code> all the other end <code>Features</code>, which is also the <code>featuringType</code> of the <code>crossFeature</code>.</p> -<p>A <code>crossFeature</code> must be owned by its <code>featureCrossing</code> (end <code>Feature</code>) when the <code>featureCrossing</code> <code>owningType</code> has more than two end <code>Features</code>. Otherwise, for exactly two end <code>Features</code>, the <code>crossFeatures</code> of each the ends can instead optionally be inherited by the other end from one of its <code>types</code> or a subsetted <code>Feature</code>.</p> - - - - <p>The <code>crossedFeature</code> of a <code>CrossSubsetting</code> must have exactly two <code>chainingFeatures</code>. If the <code>crossingFeature</code> of the <code>CrossSubsetting</code> is one of two end <code>Features</code>, then the first <code>chainingFeature</code> must be the other end <code>Feature</code>.</p> - - - OCL2.0 - crossingFeature.isEnd and crossingFeature.owningType <> null implies - let endFeatures: Sequence(Feature) = crossingFeature.owningType.endFeature in - let chainingFeatures: Sequence(Feature) = crossedFeature.chainingFeature in - chainingFeatures->size() = 2 and - endFeatures->size() = 2 implies - chainingFeatures->at(1) = endFeatures->excluding(crossingFeature)->at(1) - - - - - <p>The <code>crossingFeature</code> of a <code>CrossSubsetting</code> must be an end <code>Feature</code> that is owned by a <code>Type</code> with at least two end <code>Features</code>.</p> - - - OCL2.0 - crossingFeature.isEnd and -crossingFeature.owningType<>null and -crossingFeature.owningType.endFeature ->size() > 1 - - - - - - <p>The chained <code>Feature</code> that is cross subset by the <code>crossingFeature</code> of this <code>CrossSubsetting</code>.</p> - - - - - - - - <p>The end <code>Feature</code> that owns this <code>CrossSubsetting</code> relationship and is also its </code>subsettingFeature</code>.</p> - - - - - + <p>A <code>crossFeature</code> must be owned by its <code>featureCrossing</code> (end <code>Feature</code>) when the <code>featureCrossing</code> <code>owningType</code> has more than two end <code>Features</code>. Otherwise, for exactly two end <code>Features</code>, the <code>crossFeatures</code> of each the ends can instead optionally be inherited by the other end from one of its <code>types</code> or a subsetted <code>Feature</code>.</p> + + + + <p>The <code>crossedFeature</code> of a <code>CrossSubsetting</code> must have exactly two <code>chainingFeatures</code>. If the <code>crossingFeature</code> of the <code>CrossSubsetting</code> is one of two end <code>Features</code>, then the first <code>chainingFeature</code> must be the other end <code>Feature</code>.</p> + + + OCL2.0 + crossingFeature.isEnd and crossingFeature.owningType <> null implies + let endFeatures: Sequence(Feature) = crossingFeature.owningType.endFeature in + let chainingFeatures: Sequence(Feature) = crossedFeature.chainingFeature in + chainingFeatures->size() = 2 and + endFeatures->size() = 2 implies + chainingFeatures->at(1) = endFeatures->excluding(crossingFeature)->at(1) + + + + + <p>The <code>crossingFeature</code> of a <code>CrossSubsetting</code> must be an end <code>Feature</code> that is owned by a <code>Type</code> with at least two end <code>Features</code>.</p> + + + OCL2.0 + crossingFeature.isEnd and + crossingFeature.owningType<>null and + crossingFeature.owningType.endFeature ->size() > 1 + + + + + + <p>The chained <code>Feature</code> that is cross subset by the <code>crossingFeature</code> of this <code>CrossSubsetting</code>.</p> + + + + + + + + <p>The end <code>Feature</code> that owns this <code>CrossSubsetting</code> relationship and is also its </code>subsettingFeature</code>.</p> + + + + + + - - - - The Kernel layer completes the KerML metamodel. - - - - - - - - - - - - - <p>The ItemFlow that has a certain <code>sourceOutputFeature</code>.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>PayloadFeature</code> is the <code>ownedFeature</code> of a <code>Flow</code> that identifies the things carried by the kinds of transfers that are instances of the <code>Flow</code>.</p> - - - - <p>A <code>PayloadFeature</code> must redefine the <code>Feature</code> <code><em>Transfers::Transfer::payload</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - redefinesFromLibrary('Transfers::Transfer::payload') - - - - - - - <p>The ItemFlow that has a certain <code>itemType</code>.</p> - - - - - - - - - <p>An <code>Interaction</code> is a <code>Behavior</code> that is also an <code>Association</code>, providing a context for multiple objects that have behaviors that impact one another.</p> - + + + The Kernel layer completes the KerML metamodel. - - - - - - <p>A <code>SuccessionFlow</code> is a <code>Flow</code> that also provides temporal ordering. It classifies <code><em>Transfers</em></code> that cannot start until the source <code><em>Occurrence</em></code> has completed and that must complete before the target <code><em>Occurrence</em></code> can start.</p> - - - - <p>A <code>SuccessionFlow</code> must directly or indirectly specialize the <code>Step</code> <code><em>Transfers::flowTransfersBefore</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Transfers::flowTransfersBefore') - - - - - - - - - <p>The ItemFlow that has a certain <code>targetInputFeature</code>.</p> - - - - - - - - <p>An <code>Flow</code> is a <code>Step</code> that represents the transfer of values from one <code>Feature</code> to another. <code>Flows</code> can take non-zero time to complete.</p> - - - - - <p>A <code>Flow</code> must directly or indirectly specialize the <code>Step</code> <code><em>Transfers::transfers</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Transfers::transfers') - - - - - <p>The <code>payloadTypes</code> of a <code>Flow</code> are the <code>types</code> of the <code>payloadFeature</code> of the <code>Flow</code> (if any).</p> - - - OCL2.0 - payloadType = - if payloadFeature = null then Sequence{} - else payloadFeature.type - endif - - - - - <p>The <code>sourceOutputFeature</code> of a <code>Flow</code> is the first <code>ownedFeature</code> of the first <code>connectorEnd</code> of the <code>Flow</code>.</p> - - - OCL2.0 - sourceOutputFeature = - if connectorEnd->isEmpty() or - connectorEnd.ownedFeature->isEmpty() - then null - else connectorEnd.ownedFeature->first() - endif - - - - - <p>The <code>targetInputFeature</code> of a <code>Flow</code> is the first <code>ownedFeature</code> of the second <code>connectorEnd</code> of the <code>Flow</code>.</p> - - - OCL2.0 - targetInputFeature = - if connectorEnd->size() < 2 or - connectorEnd->at(2).ownedFeature->isEmpty() - then null - else connectorEnd->at(2).ownedFeature->first() - endif - - - - - <p>The <code>flowEnds</code> of a <code>Flow</code> are all its <code>connectorEnds</code> that are <code>FlowEnds</code>.</p> - - - OCL2.0 - flowEnd = connectorEnd->selectByKind(FlowEnd) - - - - - <p>The <code>payloadFeature</code> of a <code>Flow</code> is the single one of its <code>ownedFeatures</code> that is a <code>PayloadFeature</code>.</p> - - - OCL2.0 - payloadFeature = - let payloadFeatures : Sequence(PayloadFeature) = - ownedFeature->selectByKind(PayloadFeature) in - if payloadFeatures->isEmpty() then null - else payloadFeatures->first() - endif - - - - - <p>A <code>Flow</code> must have at most one <code>ownedFeature</code> that is an <code>PayloadFeature</code>.</p> - - - OCL2.0 - ownedFeature->selectByKind(PayloadFeature)->size() <= 1 - - - - - <p>A <code>Flow</code> with <code>ownedEndFeatures</code> must specialize the <code>Step</code> <code><em>Transfers::flowTransfers</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - ownedEndFeatures->notEmpty() implies - specializesFromLibrary('Transfers::flowTransfers') - - - - - - - <p>The type of values transferred, which is the <code>type</code> of the <code>payloadFeature</code> of the <code>Flow</code>.</p> + + + + + + + + + + + + <p>The ItemFlow that has a certain <code>sourceOutputFeature</code>.</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <p>A <code>PayloadFeature</code> is the <code>ownedFeature</code> of a <code>Flow</code> that identifies the things carried by the kinds of transfers that are instances of the <code>Flow</code>.</p> + + + + <p>A <code>PayloadFeature</code> must redefine the <code>Feature</code> <code><em>Transfers::Transfer::payload</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + redefinesFromLibrary('Transfers::Transfer::payload') + + + + + + + <p>The ItemFlow that has a certain <code>itemType</code>.</p> + + + + + + + + + <p>An <code>Interaction</code> is a <code>Behavior</code> that is also an <code>Association</code>, providing a context for multiple objects that have behaviors that impact one another.</p> + + + + + + + + <p>A <code>SuccessionFlow</code> is a <code>Flow</code> that also provides temporal ordering. It classifies <code><em>Transfers</em></code> that cannot start until the source <code><em>Occurrence</em></code> has completed and that must complete before the target <code><em>Occurrence</em></code> can start.</p> + + + + <p>A <code>SuccessionFlow</code> must directly or indirectly specialize the <code>Step</code> <code><em>Transfers::flowTransfersBefore</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Transfers::flowTransfersBefore') + + + + + + + + + <p>The ItemFlow that has a certain <code>targetInputFeature</code>.</p> + + + + + + + + <p>An <code>Flow</code> is a <code>Step</code> that represents the transfer of values from one <code>Feature</code> to another. <code>Flows</code> can take non-zero time to complete.</p> + + + + + <p>A <code>Flow</code> must directly or indirectly specialize the <code>Step</code> <code><em>Transfers::transfers</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Transfers::transfers') + + + + + <p>The <code>payloadTypes</code> of a <code>Flow</code> are the <code>types</code> of the <code>payloadFeature</code> of the <code>Flow</code> (if any).</p> + + + OCL2.0 + payloadType = + if payloadFeature = null then Sequence{} + else payloadFeature.type + endif + + + + + <p>The <code>sourceOutputFeature</code> of a <code>Flow</code> is the first <code>ownedFeature</code> of the first <code>connectorEnd</code> of the <code>Flow</code>.</p> + + + OCL2.0 + sourceOutputFeature = + if connectorEnd->isEmpty() or + connectorEnd.ownedFeature->isEmpty() + then null + else connectorEnd.ownedFeature->first() + endif + + + + + <p>The <code>targetInputFeature</code> of a <code>Flow</code> is the first <code>ownedFeature</code> of the second <code>connectorEnd</code> of the <code>Flow</code>.</p> + + + OCL2.0 + targetInputFeature = + if connectorEnd->size() < 2 or + connectorEnd->at(2).ownedFeature->isEmpty() + then null + else connectorEnd->at(2).ownedFeature->first() + endif + + + + + <p>The <code>flowEnds</code> of a <code>Flow</code> are all its <code>connectorEnds</code> that are <code>FlowEnds</code>.</p> + + + OCL2.0 + flowEnd = connectorEnd->selectByKind(FlowEnd) + + + + + <p>The <code>payloadFeature</code> of a <code>Flow</code> is the single one of its <code>ownedFeatures</code> that is a <code>PayloadFeature</code>.</p> + + + OCL2.0 + payloadFeature = + let payloadFeatures : Sequence(PayloadFeature) = + ownedFeature->selectByKind(PayloadFeature) in + if payloadFeatures->isEmpty() then null + else payloadFeatures->first() + endif + + + + + <p>A <code>Flow</code> must have at most one <code>ownedFeature</code> that is an <code>PayloadFeature</code>.</p> + + + OCL2.0 + ownedFeature->selectByKind(PayloadFeature)->size() <= 1 + + + + + <p>A <code>Flow</code> with <code>ownedEndFeatures</code> must specialize the <code>Step</code> <code><em>Transfers::flowTransfers</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + ownedEndFeatures->notEmpty() implies + specializesFromLibrary('Transfers::flowTransfers') + + + + + + + <p>The type of values transferred, which is the <code>type</code> of the <code>payloadFeature</code> of the <code>Flow</code>.</p> - - - - - - - - <p>The <code>Feature</code> that receives the values carried by the <code>Flow</code>. It must be a <code>feature</code> of the <code>target</code> of the <code>Flow</code>.</p> - - - - - - - <p>The <code>Feature</code> that provides the items carried by the <code>Flow</code>. It must be a <code>feature</code> of the <code>source</code> of the <code>Flow</code>.</p> - - - - - - - - <p>The <code>connectorEnds</code> of this <code>Flow</code> that are <code>FlowEnds</code>.</p> - - - - - - - - <p>The <code>ownedFeature</code> of the <code>Flow</code> that is a <code>PayloadFeature</code> (if any).</p> - - - - - - - - <p>The <code>Interactions</code> that type this <code>Flow</code>. <code>Interactions</code> are both <code>Associations</code> and <code>Behaviors</code>, which can type <code>Connectors</code> and <code>Steps</code>, respectively.</p> - - - - - - - - <p>A <code>FlowEnd</code> is a <code>Feature</code> that is one of the <code>connectorEnds</code> giving the <code><em>source</em></code> or <code><em>target</em></code> of a <code>Flow</code>. For <code>Flows</code> typed by <code><em>FlowTransfer</em></code> or its specializations, <code>FlowEnds</code> must have exactly one <code>ownedFeature</code>, which redefines <code><em>Transfer::source::sourceOutput</em></code> or <code><em>Transfer::target::targetInput</em></code> and redefines the corresponding feature of the <code>relatedElement</code> for its end.</p> - - - - <p>A <code>FlowEnd</code> must be an end <code>Feature</code>.</p> - - - OCL2.0 - isEnd - - - - - <p>A <code>FlowEnd</code> must have exactly one <code>ownedFeature</code>.</p> - - - OCL2.0 - ownedFeature->size() = 1 - - - - - <p>The <code>owningType</code> of a <code>FlowEnd</code> must be a <code>Flow</code>.</p> - - - OCL2.0 - owningType <> null and owningType.oclIsKindOf(Flow) - - - - - - - - - <p>A <code>LibraryPackage</code> is a <code>Package</code> that is the container for a model library. A <code>LibraryPackage</code> is itself a library <code>Element</code> as are all <code>Elements</code> that are directly or indirectly contained in it.</p> - - - - - - <p>Whether this <code>LibraryPackage</code> contains a standard library model. This should only be set to true for <code>LibraryPackages</code> in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML.</p> - - - - - - - <p>The <code>libraryNamespace</code> for a <code>LibraryPackage</code> is itself.</p> - - - - OCL2.0 - self - - - - - - - - - - - <p><code>ElementFilterMembership</code> is a <code>Membership</code> between a <code>Namespace</code> and a model-level evaluable <code><em>Boolean</em></code>-valued <code>Expression</code>, asserting that imported <code>members</code> of the <code>Namespace</code> should be filtered using the <code>condition</code> <code>Expression</code>. A general <code>Namespace</code> does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of <code>Namespaces</code>.</p> - - - - - <p>The <code>condition</code> <code>Expression</code> must be model-level evaluable.</p> - - - OCL2.0 - condition.isModelLevelEvaluable - - - - - <p>The <code>result</code> <code>parameter</code> of the <code>condition</code> <code>Expression</code> must directly or indirectly specialize <code><em>ScalarValues::Boolean</em></code>.</p> - - - OCL2.0 - condition.result.specializesFromLibrary('ScalarValues::Boolean') - - - - - - <p>The model-level evaluable <code>Boolean</code>-valued <code>Expression</code> used to filter the imported <code>members</code> of the <code>membershipOwningNamespace</code> of this <code>ElementFilterMembership</code>.</p> - - - - - - - - - - <p>The Package that has a certain Expression as a <code>filterCondition</code>.</p> - - - - - - - - <p>A <code>Package</code> is a <code>Namespace</code> used to group <code>Elements</code>, without any instance-level semantics. It may have one or more model-level evaluable <code>filterCondition</code> <code>Expressions</code> used to filter its <code>importedMemberships</code>. Any imported <code>member</code> must meet all of the <code>filterConditions</code>.</p> - - - - <p>The <code>filterConditions</code> of a <code>Package</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> - - - OCL2.0 - filterCondition = ownedMembership-> - selectByKind(ElementFilterMembership).condition - - - - - - <p>The model-level evaluable <code><em>Boolean</em></code>-valued <code>Expression</code> used to filter the <code>members</code> of this <code>Package</code>, which are owned by the <code>Package</code> are via <code>ElementFilterMemberships</code>.</p> - - - - - - - - <p>Exclude <code>Elements</code> that do not meet all the <code>filterConditions</code>.</p> - - - - - OCL2.0 - self.oclAsType(Namespace).importedMemberships(excluded)-> - select(m | self.includeAsMember(m.memberElement)) - - - - - - - - - - - - - - <p>Determine whether the given <code>element</code> meets all the <code>filterConditions</code>.</p> - - - - OCL2.0 - let metadataFeatures: Sequence(AnnotatingElement) = - element.ownedAnnotation.annotatingElement-> - selectByKind(MetadataFeature) in - self.filterCondition->forAll(cond | - metadataFeatures->exists(elem | - cond.checkCondition(elem))) - - - - - - - - - - - - <p>The ElementFilterMembership that owns the <code>condition</code>.</p> - - - - - - - - - - <p>A <code>Class</code> is a <code>Classifier</code> of things (in the universe) that can be distinguished without regard to how they are related to other things (via <code>Features</code>). This means multiple things classified by the same <code>Class</code> can be distinguished, even when they are related other things in exactly the same way.</p> - - - - - <p>A <code>Class</code> must directly or indirectly specialize the base <code>Class</code> <code><em>Occurrences::Occurrence</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Occurrences::Occurrence') - - - - - <p>A <code>Class</code> must not specialize a <code>DataType</code> and it can only specialize an <code>Association</code> if it is also itself a kind of <code>Association</code> (such as an <code>AssociationStructure</code> or <code>Interaction</code>).</p> - - - OCL2.0 - ownedSpecialization.general-> - forAll(not oclIsKindOf(DataType)) and -not oclIsKindOf(Association) implies - ownedSpecialization.general-> - forAll(not oclIsKindOf(Association)) - - - - - - - - - <p><code>LiteralBoolean</code> is a <code>LiteralExpression</code> that provides a <code><em>Boolean</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have type <code><em>Boolean</em></code>.</p> - - - - - <p>A <code>LiteralBoolean</code> must directly or indirectly specialize <em><code>Performances::literalBooleanEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalBooleanEvaluations') - - - - - - <p>The <code><em>Boolean</em></code> value that is the result of evaluating this <code>LiteralBoolean</code>.</p> - - - <p>The Boolean value that is the result of evaluating this Expression.</p> - - - - - - - - <p>A <code>LiteralExpression</code> is an <code>Expression</code> that provides a basic <code><em>DataValue</em></code> as a result.</p> - - - - - <p>A <code>LiteralExpression</code> is always model-level evaluable.</p> - - - OCL2.0 - isModelLevelEvaluable = true - - - - - <p>A <code>LiteralExpression</code> must directly or indirectly specialize the base <code>LiteralExpression</code> <code><em>Performances::literalEvaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalEvaluations') - - - - - - <p>A <code>LiteralExpression</code> is always model-level evaluable.</p> - - - - OCL2.0 - true - - - - - - - - - - - - - <p>The model-level value of a <code>LiteralExpression</code> is itself.</p> - - - - OCL2.0 - Sequence{self} - - - - - - - - - - - - <p>A <code>LiteralRational</code> is a <code>LiteralExpression</code> that provides a <code><em>Rational</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>Rational</em></code>.</p> - - - - - <p>A <code>LiteralRational</code> must directly or indirectly specialize <em><code>Performances::literalRationalEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalRationalEvaluations') - - - - - - <p>The value whose rational approximation is the result of evaluating this <code>LiteralRational</code>.</p> - - - - <p>The Real value that is the result of evaluating this Expression.</p> - - - - - - - <p>A <code>LiteralInfinity</code> is a <code>LiteralExpression</code> that provides the positive infinity value (<code>*</code>). It's <code>result</code> must have the type <code><em>Positive</em></code>.</p> - - - - - <p>A <code>LiteralInfinity</code> must directly or indirectly specialize <em><code>Performances::literalIntegerEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalIntegerEvaluations') - - - - - - - <p>A <code>LiteralInteger</code> is a <code>LiteralExpression</code> that provides an <code><em>Integer</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>Integer</em></code>.</p> - - - - - <p>A <code>LiteralInteger</code> must directly or indirectly specialize <em><code>Performances::literalIntegerEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalIntegerEvaluations') - - - - - - <p>The <code><em>Integer</em></code> value that is the result of evaluating this <code>LiteralInteger</code>.</p> - - - <p>The Integer value that is the result of evaluating this Expression.</p> - - - - - - - - <p>A <code>NullExpression</code> is an <code>Expression</code> that results in a null value.</p> - - - - - <p>A <code>NullExpression</code> must directly or indirectly specialize the base <code>NullExpression</code> <code><em>Performances::nullEvaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::nullEvaluations') - - - - - - <p>A <code>NullExpression</code> is always model-level evaluable.</p> - - - - OCL2.0 - true - - - - - - - - - - - - - <p>The model-level value of a <code>NullExpression</code> is an empty sequence.</p> - - - - OCL2.0 - Sequence{} - - - - - - - - - - - - <p>A <code>LiteralString</code> is a <code>LiteralExpression</code> that provides a <code><em>String</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>String</em></code>.</p> - - - - - <p>A <code>LiteralString</code> must directly or indirectly specialize <em><code>Performances::literalStringEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalStringEvaluations') - - - - - - <p>The String value that is the result of evaluating this Expression.</p> - - - <p>The <code><em>String</em></code> value that is the result of evaluating this <code>LiteralString</code>.</p> - - - - - - - - <p>An <code>InvocationExpression</code> is an <code>InstantiationExpression</code> whose <code>instantiatedType</code> must be a <code>Behavior</code> or a <code>Feature</code> typed by a single <code>Behavior</code> (such as a <code>Step</code>). Each of the input <code>parameters</code> of the <code>instantiatedType</code> are bound to the <code>result</code> of an <code>argument</code> <code>Expression</code>. If the <code>instantiatedType</code> is a <code>Function</code> or a <code>Feature</code> typed by a <code>Function</code>, then the <code>result</code> of the <code>InvocationExpression</code> is the <code>result</code> of the invoked <code>Function</code>. Otherwise, the <code>result</code> is an instance of the <code>instantiatedType</code> (essentially like a behavioral <code>ConstructorExpression</code>).</p> - - - - - <p>If the <code>instantiatedType</code> of an <code>InvocationExpression</code> is neither a <code>Function</code> nor a <code>Feature</code> whose type is a <code>Function</code>, then the <code>InvocationExpression</code> must own a <code>BindingConnector</code> between itself and its <code>result</code> parameter.</p> - - - OCL2.0 - not instantiatedType.oclIsKindOf(Function) and -not (instantiatedType.oclIsKindOf(Feature) and - instantiatedType.oclAsType(Feature).type->exists(oclIsKindOf(Function))) implies - ownedFeature.selectByKind(BindingConnector)->exists( - relatedFeature->includes(self) and - relatedFeature->includes(result)) - - - - - <p>An <code>InvocationExpression</code> must own a <code>BindingConnector</code> between the <code>featureWithValue</code> and <code>value</code> <code>Expression</code> of any <code>FeatureValue</code> that is the effective default value for a <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> - - - OCL2.0 - TBD - - - - - <p>The <code>arguments</code> of an <code>InvocationExpression</code> are the <code>value</code> <code>Expressions</code> of the <code>FeatureValues</code> of its <code>ownedFeatures</code>, in an order corresponding to the order of the <code>input</code> parameters of the <code>instantiatedType</code> that the <code>ownedFeatures</code> redefine.</p> - - - OCL2.0 - instantiatedType.input->collect(inp | - ownedFeatures->select(redefines(inp)).valuation-> - select(v | v <> null).value -) - - - - - <p>Each <code>input</code> parameter of an <code>InvocationExpression</code> must redefine exactly one <code>input</code> parameter of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> - - - OCL2.0 - let parameters : OrderedSet(Feature) = instantiatedType.input in -input->forAll(inp | - inp.ownedRedefinition.redefinedFeature-> - intersection(parameters)->size() = 1) - - - - - <p>Two different <code>ownedFeatures</code> of an <code>InvocationExpression</code> must not redefine the same <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> - - - OCL2.0 - let features : OrderedSet(Feature) = instantiatedType.feature in -input->forAll(inp1 | input->forAll(inp2 | - inp1 <> inp2 implies - inp1.ownedRedefinition.redefinedFeature-> - intersection(inp2.ownedRedefinition.redefinedFeature)-> - intersection(features)->isEmpty())) - - - - - <p>If the <code>instantiatedType</code> of an <code>InvocationExpression</code> is neither a <code>Function</code> nor a <code>Feature</code> whose type is a <code>Function</code>, then the <code>result</code> of the <code>InvocationExpression</code> must specialize the <code>instantiatedType</code>.</p> - - - OCL2.0 - not instantiatedType.oclIsKindOf(Function) and -not (instantiatedType.oclIsKindOf(Feature) and - instantiatedType.oclAsType(Feature).type->exists(oclIsKindOf(Function))) implies - result.specializes(instantiatedType) - - - - - <p>An <code>InvocationExpression</code> must specialize its <code>instantiatedType</code>.</p> - - - OCL2.0 - specializes(instantiatedType) - - - - - <p>The <code>instantiatedType</code> of an <code>InvocationExpression</code> must be either a <code>Behavior</code> or a <code>Feature</code> with a single <code>type</code>, which is a <code>Behavior</code>.</p> - - - OCL2.0 - instantiatedType.oclIsKindOf(Behavior) or -instantiatedType.oclIsKindOf(Feature) and - instantiatedType.type->exists(oclIsKindOf(Behavior)) and - instantiatedType.type->size(1) - - - - - <p>Other than its <code>result</code>, all the <code>ownedFeatures</code> of an <code>InvocationExpression</code> must have <code>direction = in</code>.</p> - - - OCL2.0 - ownedFeature->forAll(f | - f <> result implies - f.direction = FeatureDirectionKind::_'in') - - - - - - <p>An <code>InvocationExpression</code> is model-level evaluable if all its <code>argument</code> <code>Expressions</code> are model-level evaluable and its <code>function</code> is model-level evaluable.</p> - - - - - OCL2.0 - argument->forAll(modelLevelEvaluable(visited)) and - function.isModelLevelEvaluable - - - - - - - - - - - - - <p>Apply the <code>Function</code> that is the <code>type</code> of this <code>InvocationExpression</code> to the argument values resulting from evaluating each of the <code>argument</code> <code>Expressions</code> on the given <code>target</code>. If the application is not possible, then return an empty sequence.</p> - - - - - - - - - - - - <p>A <code>FeatureReferenceExpression</code> is an <code>Expression</code> whose <code>result</code> is bound to a <code>referent</code> <code>Feature</code>.</p> - - - - <p>The <code>referent</code> of a <code>FeatureReferenceExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>ParameterMembership</code>.</p> - - - OCL2.0 - referent = - let nonParameterMemberships : Sequence(Membership) = ownedMembership-> - reject(oclIsKindOf(ParameterMembership)) in - if nonParameterMemberships->isEmpty() or - not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) - then null - else nonParameterMemberships->first().memberElement.oclAsType(Feature) - endif - - - - - <p>A <code>FeatureReferenceExpression</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between the <code>referent</code> and <code>result</code> of the <code>FeatureReferenceExpression</code>.</p> - - - OCL2.0 - ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(targetFeature) and - b.relatedFeatures->includes(result)) - - - - - <p>The first <code>ownedMembership</code> of a <code>FeatureReferenceExpression</code> that is not a <code>ParameterMembership</code> must have a <code>Feature</code> as its <code>memberElement</code>.</p> - - - OCL2.0 - let membership : Membership = - ownedMembership->reject(m | m.oclIsKindOf(ParameterMembership)) in -membership->notEmpty() and -membership->at(1).memberElement.oclIsKindOf(Feature) - - - - - <p>The <code>result</code> parameter of a <code>FeatureReferenceExpression</code> must specialize the <code>referent</code> of the <code>FeatureReferenceExpression</code>.</p> - - - OCL2.0 - result.owningType() = self and result.specializes(referent) - - - - - <p>A <code>FeatureReferenceExpression</code> must own its <code>result</code> parameter.</p> - - - OCL2.0 - result.owningType = self - - - - - - <p>The <code>Feature</code> that is referenced by this <code>FeatureReferenceExpression</code>, which is its first non-<code>parameter</code> <code>member</code>.<p> - - - - - - - <p>A <code>FeatureReferenceExpression</code> is model-level evaluable if it&#39;s <code>referent</code></p> + + + + + + + + <p>The <code>Feature</code> that receives the values carried by the <code>Flow</code>. It must be a <code>feature</code> of the <code>target</code> of the <code>Flow</code>.</p> + + + + + + + <p>The <code>Feature</code> that provides the items carried by the <code>Flow</code>. It must be a <code>feature</code> of the <code>source</code> of the <code>Flow</code>.</p> + + + + + + + + <p>The <code>connectorEnds</code> of this <code>Flow</code> that are <code>FlowEnds</code>.</p> + + + + + + + + <p>The <code>ownedFeature</code> of the <code>Flow</code> that is a <code>PayloadFeature</code> (if any).</p> + + + + + + + + <p>The <code>Interactions</code> that type this <code>Flow</code>. <code>Interactions</code> are both <code>Associations</code> and <code>Behaviors</code>, which can type <code>Connectors</code> and <code>Steps</code>, respectively.</p> + + + + + + + + <p>A <code>FlowEnd</code> is a <code>Feature</code> that is one of the <code>connectorEnds</code> giving the <code><em>source</em></code> or <code><em>target</em></code> of a <code>Flow</code>. For <code>Flows</code> typed by <code><em>FlowTransfer</em></code> or its specializations, <code>FlowEnds</code> must have exactly one <code>ownedFeature</code>, which redefines <code><em>Transfer::source::sourceOutput</em></code> or <code><em>Transfer::target::targetInput</em></code> and redefines the corresponding feature of the <code>relatedElement</code> for its end.</p> + + + + <p>A <code>FlowEnd</code> must be an end <code>Feature</code>.</p> + + + OCL2.0 + isEnd + + + + + <p>A <code>FlowEnd</code> must have exactly one <code>ownedFeature</code>.</p> + + + OCL2.0 + ownedFeature->size() = 1 + + + + + <p>The <code>owningType</code> of a <code>FlowEnd</code> must be a <code>Flow</code>.</p> + + + OCL2.0 + owningType <> null and owningType.oclIsKindOf(Flow) + + + + + + + + + <p>A <code>LibraryPackage</code> is a <code>Package</code> that is the container for a model library. A <code>LibraryPackage</code> is itself a library <code>Element</code> as are all <code>Elements</code> that are directly or indirectly contained in it.</p> + + + + + + <p>Whether this <code>LibraryPackage</code> contains a standard library model. This should only be set to true for <code>LibraryPackages</code> in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML.</p> + + + + + + + <p>The <code>libraryNamespace</code> for a <code>LibraryPackage</code> is itself.</p> + + + + OCL2.0 + self + + + + + + + + + + + <p><code>ElementFilterMembership</code> is a <code>Membership</code> between a <code>Namespace</code> and a model-level evaluable <code><em>Boolean</em></code>-valued <code>Expression</code>, asserting that imported <code>members</code> of the <code>Namespace</code> should be filtered using the <code>condition</code> <code>Expression</code>. A general <code>Namespace</code> does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of <code>Namespaces</code>.</p> + + + + + <p>The <code>condition</code> <code>Expression</code> must be model-level evaluable.</p> + + + OCL2.0 + condition.isModelLevelEvaluable + + + + + <p>The <code>result</code> <code>parameter</code> of the <code>condition</code> <code>Expression</code> must directly or indirectly specialize <code><em>ScalarValues::Boolean</em></code>.</p> + + + OCL2.0 + condition.result.specializesFromLibrary('ScalarValues::Boolean') + + + + + + <p>The model-level evaluable <code>Boolean</code>-valued <code>Expression</code> used to filter the imported <code>members</code> of the <code>membershipOwningNamespace</code> of this <code>ElementFilterMembership</code>.</p> + + + + + + + + + + <p>The Package that has a certain Expression as a <code>filterCondition</code>.</p> + + + + + + + + <p>A <code>Package</code> is a <code>Namespace</code> used to group <code>Elements</code>, without any instance-level semantics. It may have one or more model-level evaluable <code>filterCondition</code> <code>Expressions</code> used to filter its <code>importedMemberships</code>. Any imported <code>member</code> must meet all of the <code>filterConditions</code>.</p> + + + + <p>The <code>filterConditions</code> of a <code>Package</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> + + + OCL2.0 + filterCondition = ownedMembership-> + selectByKind(ElementFilterMembership).condition + + + + + + <p>The model-level evaluable <code><em>Boolean</em></code>-valued <code>Expression</code> used to filter the <code>members</code> of this <code>Package</code>, which are owned by the <code>Package</code> are via <code>ElementFilterMemberships</code>.</p> + + + + + + + + <p>Exclude <code>Elements</code> that do not meet all the <code>filterConditions</code>.</p> + + + + + OCL2.0 + self.oclAsType(Namespace).importedMemberships(excluded)-> + select(m | self.includeAsMember(m.memberElement)) + + + + + + + + + + + + + + <p>Determine whether the given <code>element</code> meets all the <code>filterConditions</code>.</p> + + + + OCL2.0 + let metadataFeatures: Sequence(AnnotatingElement) = + element.ownedAnnotation.annotatingElement-> + selectByKind(MetadataFeature) in + self.filterCondition->forAll(cond | + metadataFeatures->exists(elem | + cond.checkCondition(elem))) + + + + + + + + + + + + <p>The ElementFilterMembership that owns the <code>condition</code>.</p> + + + + + + + + + + <p>A <code>Class</code> is a <code>Classifier</code> of things (in the universe) that can be distinguished without regard to how they are related to other things (via <code>Features</code>). This means multiple things classified by the same <code>Class</code> can be distinguished, even when they are related other things in exactly the same way.</p> + + + + + <p>A <code>Class</code> must directly or indirectly specialize the base <code>Class</code> <code><em>Occurrences::Occurrence</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Occurrences::Occurrence') + + + + + <p>A <code>Class</code> must not specialize a <code>DataType</code> and it can only specialize an <code>Association</code> if it is also itself a kind of <code>Association</code> (such as an <code>AssociationStructure</code> or <code>Interaction</code>).</p> + + + OCL2.0 + ownedSpecialization.general-> + forAll(not oclIsKindOf(DataType)) and + not oclIsKindOf(Association) implies + ownedSpecialization.general-> + forAll(not oclIsKindOf(Association)) + + + + + + + + + <p><code>LiteralBoolean</code> is a <code>LiteralExpression</code> that provides a <code><em>Boolean</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have type <code><em>Boolean</em></code>.</p> + + + + + <p>A <code>LiteralBoolean</code> must directly or indirectly specialize <em><code>Performances::literalBooleanEvaluations</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::literalBooleanEvaluations') + + + + + + <p>The <code><em>Boolean</em></code> value that is the result of evaluating this <code>LiteralBoolean</code>.</p> + + + <p>The Boolean value that is the result of evaluating this Expression.</p> + + + + + + + + <p>A <code>LiteralExpression</code> is an <code>Expression</code> that provides a basic <code><em>DataValue</em></code> as a result.</p> + + + + + <p>A <code>LiteralExpression</code> is always model-level evaluable.</p> + + + OCL2.0 + isModelLevelEvaluable = true + + + + + <p>A <code>LiteralExpression</code> must directly or indirectly specialize the base <code>LiteralExpression</code> <code><em>Performances::literalEvaluations</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::literalEvaluations') + + + + + + <p>A <code>LiteralExpression</code> is always model-level evaluable.</p> + + + + OCL2.0 + true + + + + + + + + + + + + + <p>The model-level value of a <code>LiteralExpression</code> is itself.</p> + + + + OCL2.0 + Sequence{self} + + + + + + + + + + + + <p>A <code>LiteralRational</code> is a <code>LiteralExpression</code> that provides a <code><em>Rational</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>Rational</em></code>.</p> + + + + + <p>A <code>LiteralRational</code> must directly or indirectly specialize <em><code>Performances::literalRationalEvaluations</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::literalRationalEvaluations') + + + + + + <p>The value whose rational approximation is the result of evaluating this <code>LiteralRational</code>.</p> + + + + <p>The Real value that is the result of evaluating this Expression.</p> + + + + + + + <p>A <code>LiteralInfinity</code> is a <code>LiteralExpression</code> that provides the positive infinity value (<code>*</code>). It's <code>result</code> must have the type <code><em>Positive</em></code>.</p> + + + + + <p>A <code>LiteralInfinity</code> must directly or indirectly specialize <em><code>Performances::literalIntegerEvaluations</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::literalIntegerEvaluations') + + + + + + + <p>A <code>LiteralInteger</code> is a <code>LiteralExpression</code> that provides an <code><em>Integer</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>Integer</em></code>.</p> + + + + + <p>A <code>LiteralInteger</code> must directly or indirectly specialize <em><code>Performances::literalIntegerEvaluations</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::literalIntegerEvaluations') + + + + + + <p>The <code><em>Integer</em></code> value that is the result of evaluating this <code>LiteralInteger</code>.</p> + + + <p>The Integer value that is the result of evaluating this Expression.</p> + + + + + + + + <p>A <code>NullExpression</code> is an <code>Expression</code> that results in a null value.</p> + + + + + <p>A <code>NullExpression</code> must directly or indirectly specialize the base <code>NullExpression</code> <code><em>Performances::nullEvaluations</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::nullEvaluations') + + + + + + <p>A <code>NullExpression</code> is always model-level evaluable.</p> + + + + OCL2.0 + true + + + + + + + + + + + + + <p>The model-level value of a <code>NullExpression</code> is an empty sequence.</p> + + + + OCL2.0 + Sequence{} + + + + + + + + + + + + <p>A <code>LiteralString</code> is a <code>LiteralExpression</code> that provides a <code><em>String</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>String</em></code>.</p> + + + + + <p>A <code>LiteralString</code> must directly or indirectly specialize <em><code>Performances::literalStringEvaluations</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::literalStringEvaluations') + + + + + + <p>The String value that is the result of evaluating this Expression.</p> + + + <p>The <code><em>String</em></code> value that is the result of evaluating this <code>LiteralString</code>.</p> + + + + + + + + <p>An <code>InvocationExpression</code> is an <code>InstantiationExpression</code> whose <code>instantiatedType</code> must be a <code>Behavior</code> or a <code>Feature</code> typed by a single <code>Behavior</code> (such as a <code>Step</code>). Each of the input <code>parameters</code> of the <code>instantiatedType</code> are bound to the <code>result</code> of an <code>argument</code> <code>Expression</code>. If the <code>instantiatedType</code> is a <code>Function</code> or a <code>Feature</code> typed by a <code>Function</code>, then the <code>result</code> of the <code>InvocationExpression</code> is the <code>result</code> of the invoked <code>Function</code>. Otherwise, the <code>result</code> is an instance of the <code>instantiatedType</code> (essentially like a behavioral <code>ConstructorExpression</code>).</p> + + + + + <p>If the <code>instantiatedType</code> of an <code>InvocationExpression</code> is neither a <code>Function</code> nor a <code>Feature</code> whose type is a <code>Function</code>, then the <code>InvocationExpression</code> must own a <code>BindingConnector</code> between itself and its <code>result</code> parameter.</p> + + + OCL2.0 + not instantiatedType.oclIsKindOf(Function) and + not (instantiatedType.oclIsKindOf(Feature) and + instantiatedType.oclAsType(Feature).type->exists(oclIsKindOf(Function))) implies + ownedFeature.selectByKind(BindingConnector)->exists( + relatedFeature->includes(self) and + relatedFeature->includes(result)) + + + + + <p>An <code>InvocationExpression</code> must own a <code>BindingConnector</code> between the <code>featureWithValue</code> and <code>value</code> <code>Expression</code> of any <code>FeatureValue</code> that is the effective default value for a <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> + + + OCL2.0 + TBD + + + + + <p>The <code>arguments</code> of an <code>InvocationExpression</code> are the <code>value</code> <code>Expressions</code> of the <code>FeatureValues</code> of its <code>ownedFeatures</code>, in an order corresponding to the order of the <code>input</code> parameters of the <code>instantiatedType</code> that the <code>ownedFeatures</code> redefine.</p> + + + OCL2.0 + instantiatedType.input->collect(inp | + ownedFeatures->select(redefines(inp)).valuation-> + select(v | v <> null).value + ) + + + + + <p>Each <code>input</code> parameter of an <code>InvocationExpression</code> must redefine exactly one <code>input</code> parameter of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> + + + OCL2.0 + let parameters : OrderedSet(Feature) = instantiatedType.input in + input->forAll(inp | + inp.ownedRedefinition.redefinedFeature-> + intersection(parameters)->size() = 1) + + + + + <p>Two different <code>ownedFeatures</code> of an <code>InvocationExpression</code> must not redefine the same <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> + + + OCL2.0 + let features : OrderedSet(Feature) = instantiatedType.feature in + input->forAll(inp1 | input->forAll(inp2 | + inp1 <> inp2 implies + inp1.ownedRedefinition.redefinedFeature-> + intersection(inp2.ownedRedefinition.redefinedFeature)-> + intersection(features)->isEmpty())) + + + + + <p>If the <code>instantiatedType</code> of an <code>InvocationExpression</code> is neither a <code>Function</code> nor a <code>Feature</code> whose type is a <code>Function</code>, then the <code>result</code> of the <code>InvocationExpression</code> must specialize the <code>instantiatedType</code>.</p> + + + OCL2.0 + not instantiatedType.oclIsKindOf(Function) and + not (instantiatedType.oclIsKindOf(Feature) and + instantiatedType.oclAsType(Feature).type->exists(oclIsKindOf(Function))) implies + result.specializes(instantiatedType) + + + + + <p>An <code>InvocationExpression</code> must specialize its <code>instantiatedType</code>.</p> + + + OCL2.0 + specializes(instantiatedType) + + + + + <p>The <code>instantiatedType</code> of an <code>InvocationExpression</code> must be either a <code>Behavior</code> or a <code>Feature</code> with a single <code>type</code>, which is a <code>Behavior</code>.</p> + + + OCL2.0 + instantiatedType.oclIsKindOf(Behavior) or + instantiatedType.oclIsKindOf(Feature) and + instantiatedType.type->exists(oclIsKindOf(Behavior)) and + instantiatedType.type->size(1) + + + + + <p>Other than its <code>result</code>, all the <code>ownedFeatures</code> of an <code>InvocationExpression</code> must have <code>direction = in</code>.</p> + + + OCL2.0 + ownedFeature->forAll(f | + f <> result implies + f.direction = FeatureDirectionKind::_'in') + + + + + + <p>An <code>InvocationExpression</code> is model-level evaluable if all its <code>argument</code> <code>Expressions</code> are model-level evaluable and its <code>function</code> is model-level evaluable.</p> + + + + + OCL2.0 + argument->forAll(modelLevelEvaluable(visited)) and + function.isModelLevelEvaluable + + + + + + + + + + + + + <p>Apply the <code>Function</code> that is the <code>type</code> of this <code>InvocationExpression</code> to the argument values resulting from evaluating each of the <code>argument</code> <code>Expressions</code> on the given <code>target</code>. If the application is not possible, then return an empty sequence.</p> + + + + + + + + + + + + <p>A <code>FeatureReferenceExpression</code> is an <code>Expression</code> whose <code>result</code> is bound to a <code>referent</code> <code>Feature</code>.</p> + + + + <p>The <code>referent</code> of a <code>FeatureReferenceExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>ParameterMembership</code>.</p> + + + OCL2.0 + referent = + let nonParameterMemberships : Sequence(Membership) = ownedMembership-> + reject(oclIsKindOf(ParameterMembership)) in + if nonParameterMemberships->isEmpty() or + not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) + then null + else nonParameterMemberships->first().memberElement.oclAsType(Feature) + endif + + + + + <p>A <code>FeatureReferenceExpression</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between the <code>referent</code> and <code>result</code> of the <code>FeatureReferenceExpression</code>.</p> + + + OCL2.0 + ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(targetFeature) and + b.relatedFeatures->includes(result)) + + + + + <p>The first <code>ownedMembership</code> of a <code>FeatureReferenceExpression</code> that is not a <code>ParameterMembership</code> must have a <code>Feature</code> as its <code>memberElement</code>.</p> + + + OCL2.0 + let membership : Membership = + ownedMembership->reject(m | m.oclIsKindOf(ParameterMembership)) in + membership->notEmpty() and + membership->at(1).memberElement.oclIsKindOf(Feature) + + + + + <p>The <code>result</code> parameter of a <code>FeatureReferenceExpression</code> must specialize the <code>referent</code> of the <code>FeatureReferenceExpression</code>.</p> + + + OCL2.0 + result.owningType() = self and result.specializes(referent) + + + + + <p>A <code>FeatureReferenceExpression</code> must own its <code>result</code> parameter.</p> + + + OCL2.0 + result.owningType = self + + + + + + <p>The <code>Feature</code> that is referenced by this <code>FeatureReferenceExpression</code>, which is its first non-<code>parameter</code> <code>member</code>.<p> + + + + + + + <p>A <code>FeatureReferenceExpression</code> is model-level evaluable if it&#39;s <code>referent</code></p> -<ul> - <li>conforms to the self-reference feature <code><em>Anything::self</em></code>;</li> - <li>is an <code>Expression</code> that is model-level evaluable;</li> - <li>has an <code>owningType</code> that is a <code>Metaclass</code> or <code>MetadataFeature</code>; or</li> - <li>has no <code>featuringTypes</code> and, if it has a <code>FeatureValue</code>, the <code>value</code> <code>Expression</code> is model-level evaluable.</li> -</ul> - - - - - OCL2.0 - referent.conformsTo('Anything::self') or -visited->excludes(referent) and -(referent.oclIsKindOf(Expression) and - referent.oclAsType(Expression).modelLevelEvaluable(visited->including(referent)) or -referent.owningType <> null and - (referent.owningType.isOclKindOf(MetaClass) or - referent.owningType.isOclKindOf(MetadataFeature)) or -referent.featuringType->isEmpty() and - (referent.valuation = null or - referent.valuation.modelLevelEvaluable(visited->including(referent)))) - - - - - - - - - - - - - <p>First, determine a <code>value</code> <code>Expression</code> for the <code>referent</code>:</p> + <ul> + <li>conforms to the self-reference feature <code><em>Anything::self</em></code>;</li> + <li>is an <code>Expression</code> that is model-level evaluable;</li> + <li>has an <code>owningType</code> that is a <code>Metaclass</code> or <code>MetadataFeature</code>; or</li> + <li>has no <code>featuringTypes</code> and, if it has a <code>FeatureValue</code>, the <code>value</code> <code>Expression</code> is model-level evaluable.</li> + </ul> + + + + + OCL2.0 + referent.conformsTo('Anything::self') or + visited->excludes(referent) and + (referent.oclIsKindOf(Expression) and + referent.oclAsType(Expression).modelLevelEvaluable(visited->including(referent)) or + referent.owningType <> null and + (referent.owningType.isOclKindOf(MetaClass) or + referent.owningType.isOclKindOf(MetadataFeature)) or + referent.featuringType->isEmpty() and + (referent.valuation = null or + referent.valuation.modelLevelEvaluable(visited->including(referent)))) + + + + + + + + + + + + + <p>First, determine a <code>value</code> <code>Expression</code> for the <code>referent</code>:</p> -<ul> - <li>If the <code>target</code> <code>Element</code> is a Type that has a <code>feature</code> that is the <code>referent</code> or (directly or indirectly) redefines it, then the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> for that <code>feature</code> (if any).</li> - <li>Else, if the <code>referent</code> has no <code>featuringTypes</code>, the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> for the <code>referent</code> (if any).</li> -</ul> + <ul> + <li>If the <code>target</code> <code>Element</code> is a Type that has a <code>feature</code> that is the <code>referent</code> or (directly or indirectly) redefines it, then the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> for that <code>feature</code> (if any).</li> + <li>Else, if the <code>referent</code> has no <code>featuringTypes</code>, the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> for the <code>referent</code> (if any).</li> + </ul> -<p>Then:</p> + <p>Then:</p> -<ul> - <li>If such a value <code>Expression</code> exists, return the result of evaluating that <code>Expression</code> on the <code>target</code>.</li> - <li>Else, if the <code>referent</code> is not an <code>Expression</code>, return the <code>referent</code>.</li> - <li>Else return the empty sequence.</li> -</ul> - - - - - OCL2.0 - if not target.oclIsKindOf(Type) then Sequence{} -else - let feature: Sequence(Feature) = - target.oclAsType(Type).feature->select(f | - f.ownedRedefinition.redefinedFeature-> - includes(referent)) in - if feature->notEmpty() then - feature.valuation.value.evaluate(target) - else if referent.featuringType->isEmpty() - then referent - else Sequence{} - endif endif -endif - - - - - - - - - - - - - <p>A <code>FeatureReferenceExpression</code> that has a certain <code>referent</code> <code>Feature</code>.</p> - - - - - - - - <p>A <code>SelectExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"select"</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::select</code></em> from the Kernel Functions Library.</p> - - - - <p>The <code>operator</code> of a <code>SelectExpression</code> must be <code>'select'</code>.</p> - - - OCL2.0 - operator = 'select' - - - - - <p>The <code>result</code> of a <code>SelectExpression</code> must specialize the <code>result</code> parameter of the first <code>argument</code> of the <code>SelectExpression</code>.</p> - - - OCL2.0 - arguments->notEmpty() implies - result.specializes(arguments->first().result) - - - - - - - - - - - <p>An <code>OperatorExpression</code> is an <code>InvocationExpression</code> whose <code>function</code> is determined by resolving its <code>operator</code> in the context of one of the standard packages from the Kernel Function Library.</p> - - - - - <p>An <code>operator</code> symbol that names a corresponding <code>Function</code> from one of the standard packages from the Kernel Function Library .</p> - - - - - - <p>The <code>instantiatedType</code> of an <code>OperatorExpression</code> is the resolution of it's <code>operator</code> from one of the packages <em><code>BaseFunctions</code></em>, <em><code>DataFunctions</code></em>, or <em><code>ControlFunctions</code></em> from the Kernel Function Library.</p> - - - - OCL2.0 - let libFunctions : Sequence(Element) = - Sequence{'BaseFunctions', 'DataFunctions', 'ControlFunctions'}-> - collect(ns | resolveGlobal(ns + "::'" + operator + "'"). - memberElement) in -if libFunctions->isEmpty() then null -else libFunctions->first().oclAsType(Type) -endif - - - - - - - - <p>A <code>CollectExpression</code> is an <code>OperatorExpression</code> whose <code>operator</code> is <code>"collect"</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::collect</code></em> from the Kernel Functions Library.</p> - - - - <p>The <code>operator</code> of a <code>CollectExpression</code> must be <code>"collect"</code>.</p> - - - OCL2.0 - operator = 'collect' - - - - - - - - - - - <p>A <code>FeatureChainExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"."</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::'.'</code></em> from the Kernel Functions Library. It evaluates to the result of chaining the <code>result</code> <code>Feature</code> of its single <code>argument</code> <code>Expression</code> with its <code>targetFeature</code>.</p> - - - - <p>The first <code>ownedFeature</code> of the first owned input <code>parameter</code> of a <code>FeatureChainExpression</code> must redefine the <code>Feature</code> <code><em>ControlFunctions::'.'::source::target</em></code> from the Kernel Functions Library.</p> - - - OCL2.0 - let sourceParameter : Feature = sourceTargetFeature() in -sourceTargetFeature <> null and -sourceTargetFeature.redefinesFromLibrary('ControlFunctions::\'.\'::source::target') - - - - - <p>The first <code>ownedFeature</code> of the first owned input <code>parameter</code> of a <code>FeatureChainExpression</code> must redefine its <code>targetFeature</code>.</p> - - - OCL2.0 - let sourceParameter : Feature = sourceTargetFeature() in -sourceTargetFeature <> null and -sourceTargetFeature.redefines(targetFeature) - - - - - <p>The <code>targetFeature</code> of a <code>FeatureChainExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>ParameterMembership</code>.</p> - - - OCL2.0 - targetFeature = - let nonParameterMemberships : Sequence(Membership) = ownedMembership-> - reject(oclIsKindOf(ParameterMembership)) in - if nonParameterMemberships->isEmpty() or - not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) - then null - else nonParameterMemberships->first().memberElement.oclAsType(Feature) - endif - - - - - <p>The <code>targetFeature</code> of a <code>FeatureChainExpression</code> must be featured within the <code>result</code> parameter of the <code>argument</code> <code>Expression</code> of the <code>FeatureChainExpression</code>.</p> + <ul> + <li>If such a value <code>Expression</code> exists, return the result of evaluating that <code>Expression</code> on the <code>target</code>.</li> + <li>Else, if the <code>referent</code> is not an <code>Expression</code>, return the <code>referent</code>.</li> + <li>Else return the empty sequence.</li> + </ul> + + + + + OCL2.0 + if not target.oclIsKindOf(Type) then Sequence{} + else + let feature: Sequence(Feature) = + target.oclAsType(Type).feature->select(f | + f.ownedRedefinition.redefinedFeature-> + includes(referent)) in + if feature->notEmpty() then + feature.valuation.value.evaluate(target) + else if referent.featuringType->isEmpty() + then referent + else Sequence{} + endif endif + endif + + + + + + + + + + + + + <p>A <code>FeatureReferenceExpression</code> that has a certain <code>referent</code> <code>Feature</code>.</p> + + + + + + + + <p>A <code>SelectExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"select"</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::select</code></em> from the Kernel Functions Library.</p> + + + + <p>The <code>operator</code> of a <code>SelectExpression</code> must be <code>'select'</code>.</p> + + + OCL2.0 + operator = 'select' + + + + + <p>The <code>result</code> of a <code>SelectExpression</code> must specialize the <code>result</code> parameter of the first <code>argument</code> of the <code>SelectExpression</code>.</p> + + + OCL2.0 + arguments->notEmpty() implies + result.specializes(arguments->first().result) + + + + + + + + + + + <p>An <code>OperatorExpression</code> is an <code>InvocationExpression</code> whose <code>function</code> is determined by resolving its <code>operator</code> in the context of one of the standard packages from the Kernel Function Library.</p> + + + + + <p>An <code>operator</code> symbol that names a corresponding <code>Function</code> from one of the standard packages from the Kernel Function Library .</p> + + + + + + <p>The <code>instantiatedType</code> of an <code>OperatorExpression</code> is the resolution of it's <code>operator</code> from one of the packages <em><code>BaseFunctions</code></em>, <em><code>DataFunctions</code></em>, or <em><code>ControlFunctions</code></em> from the Kernel Function Library.</p> + + + + OCL2.0 + let libFunctions : Sequence(Element) = + Sequence{'BaseFunctions', 'DataFunctions', 'ControlFunctions'}-> + collect(ns | resolveGlobal(ns + "::'" + operator + "'"). + memberElement) in + if libFunctions->isEmpty() then null + else libFunctions->first().oclAsType(Type) + endif + + + + + + + + <p>A <code>CollectExpression</code> is an <code>OperatorExpression</code> whose <code>operator</code> is <code>"collect"</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::collect</code></em> from the Kernel Functions Library.</p> + + + + <p>The <code>operator</code> of a <code>CollectExpression</code> must be <code>"collect"</code>.</p> + + + OCL2.0 + operator = 'collect' + + + + + + + + + + + <p>A <code>FeatureChainExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"."</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::'.'</code></em> from the Kernel Functions Library. It evaluates to the result of chaining the <code>result</code> <code>Feature</code> of its single <code>argument</code> <code>Expression</code> with its <code>targetFeature</code>.</p> + + + + <p>The first <code>ownedFeature</code> of the first owned input <code>parameter</code> of a <code>FeatureChainExpression</code> must redefine the <code>Feature</code> <code><em>ControlFunctions::'.'::source::target</em></code> from the Kernel Functions Library.</p> + + + OCL2.0 + let sourceParameter : Feature = sourceTargetFeature() in + sourceTargetFeature <> null and + sourceTargetFeature.redefinesFromLibrary('ControlFunctions::\'.\'::source::target') + + + + + <p>The first <code>ownedFeature</code> of the first owned input <code>parameter</code> of a <code>FeatureChainExpression</code> must redefine its <code>targetFeature</code>.</p> + + + OCL2.0 + let sourceParameter : Feature = sourceTargetFeature() in + sourceTargetFeature <> null and + sourceTargetFeature.redefines(targetFeature) + + + + + <p>The <code>targetFeature</code> of a <code>FeatureChainExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>ParameterMembership</code>.</p> + + + OCL2.0 + targetFeature = + let nonParameterMemberships : Sequence(Membership) = ownedMembership-> + reject(oclIsKindOf(ParameterMembership)) in + if nonParameterMemberships->isEmpty() or + not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) + then null + else nonParameterMemberships->first().memberElement.oclAsType(Feature) + endif + + + + + <p>The <code>targetFeature</code> of a <code>FeatureChainExpression</code> must be featured within the <code>result</code> parameter of the <code>argument</code> <code>Expression</code> of the <code>FeatureChainExpression</code>.</p> - - - - OCL2.0 - argument->notEmpty() implies - targetFeature.isFeaturedWithin(argument->first().result) - - - - - <p>The <code>operator</code> of a <code>FeatureChainExpression</code> must be <code>"."</code>.</p> - - - OCL2.0 - operator = '.' - - - - - <p>The <code>result</code> parameter of a <code>FeatureChainExpression</code> must specialize the feature chain of the <code>FeatureChainExpression</code>.</p> - - - OCL2.0 - let inputParameters : Sequence(Feature) = - ownedFeatures->select(direction = _'in') in -let sourceTargetFeature : Feature = - owningExpression.sourceTargetFeature() in -sourceTargetFeature <> null and -result.subsetsChain(inputParameters->first(), sourceTargetFeature) and -result.owningType = self - - - - - - - - - - <p>The <code>Feature</code> that is accessed by this <code>FeatureChainExpression<code>, which is its first non-<code>parameter</code> <code>member</code>.<p> - - - - - - - <p>Return the first <code>ownedFeature</code> of the first owned input <code>parameter</code> of this <code>FeatureChainExpression</code> (if any).</p> - - - - OCL2.0 - let inputParameters : Feature = ownedFeatures-> - select(direction = _'in') in -if inputParameters->isEmpty() or - inputParameters->first().ownedFeature->isEmpty() -then null -else inputParameters->first().ownedFeature->first() -endif - - - - - - - - - - - - - - - - - - <p>The <code>MetadataAccessExpressions</code> having a certain <code>Element</code> as their <code>referencedElement</code>.</p> - - - - - - - - <p>A <code>MetadataAccessExpression</code> is an <code>Expression</code> whose <code>result</code> is a sequence of instances of <code>Metaclasses</code> representing all the <code>MetadataFeature</code> annotations of the <code>referencedElement</code>. In addition, the sequence includes an instance of the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code>, with values for all the abstract syntax properties of the <code>referencedElement</code>.</p> - - - - <p>A <code>MetadataAccessExpression</code> must directly or indirectly specialize the base <code>MetadataAccessExpression</code> <code><em>Performances::metadataAccessEvaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::metadataAccessEvaluations') - - - - - <p>A <code>MetadataAccessExpression</code> must have at least one <code>ownedMember</code> that is not a <code>FeatureMembership</code>.</p> - - - OCL2.0 - ownedMembership->exists(not oclIsKindOf(FeatureMembership)) - - - - - <p>The <code>referencedElement</code> of a <code>MetadataAccessExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>FeatureMembership</code>.</p> - - - OCL2.0 - referencedElement = - let elements : Sequence(Element) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement in - if elements->isEmpty() then null - else elements->first() - endif - - - - - - <p>The <code>Element</code> whose metadata is being accessed.</p> - - - - - - - <p>A <code>MetadataAccessExpression</code> is always model-level evaluable.</p> - - - - OCL2.0 - true - - - - - - - - - - - - - <p>Return the <code>ownedElements</code> of the <code>referencedElement</code> that are <code>MetadataFeatures</code> and have the <code>referencedElement</code> as an <code>annotatedElement</code>, plus a <code>MetadataFeature</code> whose <code>annotatedElement</code> is the <code>referencedElement</code>, whose <code>metaclass</code> is the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code> and whose <code>ownedFeatures</code> are bound to the values of the MOF properties of the <code>referencedElement</code>.</p> - - - - OCL2.0 - referencedElement.ownedElement-> - select(oclIsKindOf(MetadataFeature) - and annotatedElement->includes(referencedElement))-> - including(metaclassFeature()) - - - - - - - - - - - <p>Return a <code>MetadataFeature</code> whose <code>annotatedElement</code> is the <code>referencedElement</code>, whose <code>metaclass</code> is the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code> and whose <code>ownedFeatures</code> are bound to the MOF properties of the <code>referencedElement</code>.</p> - - - - - - - <p>An <code>IndexExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"#"</code>, which resolves to the <code>Function</code> <em><code>BasicFunctions::'#'</code></em> from the Kernel Functions Library.</p> - - - - <p>The <code>result</code> of an <code>IndexExpression</code> must specialize the <code>result</code> parameter of the first <code>argument</code> of the <code>IndexExpression</code>, unless that <code>result</code> already directly or indirectly specializes the <code>DataType</code> <em><code>Collections::Array</code></em> from the Kernel Data Type Library.</p> - - - OCL2.0 - arguments->notEmpty() and -not arguments->first().result.specializesFromLibrary('Collections::Array') implies - result.specializes(arguments->first().result) - - - - - <p>The <code>operator</code> of an <code>IndexExpression</code> must be <code>"#"</code>.</p> - - - OCL2.0 - operator = '#' - - - - - - - - - - - <p>An <code>InstantiationExpression</code> is an <code>Expression</code> that instantiates its <code>instantiatedType</code>, binding some or all of the <code>features</code> of that <code>Type</code> to the <code>results</code> of its <code>arguments</code>.</p> + + + + OCL2.0 + argument->notEmpty() implies + targetFeature.isFeaturedWithin(argument->first().result) + + + + + <p>The <code>operator</code> of a <code>FeatureChainExpression</code> must be <code>"."</code>.</p> + + + OCL2.0 + operator = '.' + + + + + <p>The <code>result</code> parameter of a <code>FeatureChainExpression</code> must specialize the feature chain of the <code>FeatureChainExpression</code>.</p> + + + OCL2.0 + let inputParameters : Sequence(Feature) = + ownedFeatures->select(direction = _'in') in + let sourceTargetFeature : Feature = + owningExpression.sourceTargetFeature() in + sourceTargetFeature <> null and + result.subsetsChain(inputParameters->first(), sourceTargetFeature) and + result.owningType = self + + + + + + + + + + <p>The <code>Feature</code> that is accessed by this <code>FeatureChainExpression<code>, which is its first non-<code>parameter</code> <code>member</code>.<p> + + + + + + + <p>Return the first <code>ownedFeature</code> of the first owned input <code>parameter</code> of this <code>FeatureChainExpression</code> (if any).</p> + + + + OCL2.0 + let inputParameters : Feature = ownedFeatures-> + select(direction = _'in') in + if inputParameters->isEmpty() or + inputParameters->first().ownedFeature->isEmpty() + then null + else inputParameters->first().ownedFeature->first() + endif + + + + + + + + + + + + + + + + + + <p>The <code>MetadataAccessExpressions</code> having a certain <code>Element</code> as their <code>referencedElement</code>.</p> + + + + + + + + <p>A <code>MetadataAccessExpression</code> is an <code>Expression</code> whose <code>result</code> is a sequence of instances of <code>Metaclasses</code> representing all the <code>MetadataFeature</code> annotations of the <code>referencedElement</code>. In addition, the sequence includes an instance of the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code>, with values for all the abstract syntax properties of the <code>referencedElement</code>.</p> + + + + <p>A <code>MetadataAccessExpression</code> must directly or indirectly specialize the base <code>MetadataAccessExpression</code> <code><em>Performances::metadataAccessEvaluations</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::metadataAccessEvaluations') + + + + + <p>A <code>MetadataAccessExpression</code> must have at least one <code>ownedMember</code> that is not a <code>FeatureMembership</code>.</p> + + + OCL2.0 + ownedMembership->exists(not oclIsKindOf(FeatureMembership)) + + + + + <p>The <code>referencedElement</code> of a <code>MetadataAccessExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>FeatureMembership</code>.</p> + + + OCL2.0 + referencedElement = + let elements : Sequence(Element) = ownedMembership-> + reject(oclIsKindOf(FeatureMembership)).memberElement in + if elements->isEmpty() then null + else elements->first() + endif + + + + + + <p>The <code>Element</code> whose metadata is being accessed.</p> + + + + + + + <p>A <code>MetadataAccessExpression</code> is always model-level evaluable.</p> + + + + OCL2.0 + true + + + + + + + + + + + + + <p>Return the <code>ownedElements</code> of the <code>referencedElement</code> that are <code>MetadataFeatures</code> and have the <code>referencedElement</code> as an <code>annotatedElement</code>, plus a <code>MetadataFeature</code> whose <code>annotatedElement</code> is the <code>referencedElement</code>, whose <code>metaclass</code> is the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code> and whose <code>ownedFeatures</code> are bound to the values of the MOF properties of the <code>referencedElement</code>.</p> + + + + OCL2.0 + referencedElement.ownedElement-> + select(oclIsKindOf(MetadataFeature) + and annotatedElement->includes(referencedElement))-> + including(metaclassFeature()) + + + + + + + + + + + <p>Return a <code>MetadataFeature</code> whose <code>annotatedElement</code> is the <code>referencedElement</code>, whose <code>metaclass</code> is the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code> and whose <code>ownedFeatures</code> are bound to the MOF properties of the <code>referencedElement</code>.</p> + + + + + + + <p>An <code>IndexExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"#"</code>, which resolves to the <code>Function</code> <em><code>BasicFunctions::'#'</code></em> from the Kernel Functions Library.</p> + + + + <p>The <code>result</code> of an <code>IndexExpression</code> must specialize the <code>result</code> parameter of the first <code>argument</code> of the <code>IndexExpression</code>, unless that <code>result</code> already directly or indirectly specializes the <code>DataType</code> <em><code>Collections::Array</code></em> from the Kernel Data Type Library.</p> + + + OCL2.0 + arguments->notEmpty() and + not arguments->first().result.specializesFromLibrary('Collections::Array') implies + result.specializes(arguments->first().result) + + + + + <p>The <code>operator</code> of an <code>IndexExpression</code> must be <code>"#"</code>.</p> + + + OCL2.0 + operator = '#' + + + + + + + + + + + <p>An <code>InstantiationExpression</code> is an <code>Expression</code> that instantiates its <code>instantiatedType</code>, binding some or all of the <code>features</code> of that <code>Type</code> to the <code>results</code> of its <code>arguments</code>.</p> -<p><code>InstantiationExpression</code> is abstract, with concrete subclasses <code>InvocationExpression</code> and <code>ConstructorExpression</code>.</p> - - - - <p>An <code>InstantiationExpression</code> must own its <code>result</code> parameter.</p> - - - OCL2.0 - result.owningType = self - - - - - <p>The <code>instantiatedType</code> of an <code>InstantiationExpression</code> is given by the result of the <code>instantiatedType()</code> operation.</p> - - - OCL2.0 - instantiatedType = instantiatedType() - - - - - <p>An <code>InstantiationExpression</code> must have an <code>InstantiatedType</code>.</p> - - - OCL2.0 - instantiatedType() <> null - - - - - - <p>The <code>Expressions</code> whose <code>results</code> are bound to <code>features</code> of the <code>instantiatedType</code>. The <code>arguments</code> are ordered consistent with the order of the <code>features</code>, though they may not be one-to-one with all the <code>features</code>.</p> + <p><code>InstantiationExpression</code> is abstract, with concrete subclasses <code>InvocationExpression</code> and <code>ConstructorExpression</code>.</p> + + + + <p>An <code>InstantiationExpression</code> must own its <code>result</code> parameter.</p> + + + OCL2.0 + result.owningType = self + + + + + <p>The <code>instantiatedType</code> of an <code>InstantiationExpression</code> is given by the result of the <code>instantiatedType()</code> operation.</p> + + + OCL2.0 + instantiatedType = instantiatedType() + + + + + <p>An <code>InstantiationExpression</code> must have an <code>InstantiatedType</code>.</p> + + + OCL2.0 + instantiatedType() <> null + + + + + + <p>The <code>Expressions</code> whose <code>results</code> are bound to <code>features</code> of the <code>instantiatedType</code>. The <code>arguments</code> are ordered consistent with the order of the <code>features</code>, though they may not be one-to-one with all the <code>features</code>.</p> -<p><strong>Note.</strong> The derivation of <code>argument</code> is given in the concrete subclasses of <code>InstantiationExpression</code>.</p> - - - - - - - <p>The <code>Type</code> that is being instantiated.</p> - - - - - - - <p>Return the <code>Type</code> to act as the <code>instantiatedType</code> for this <code>InstantiationExpression</code>. By default, this is the <code>memberElement</code> of the first <code>ownedMembership</code> that is not a <code>FeatureMembership</code>, which must be a <code>Type</code>.</p> + <p><strong>Note.</strong> The derivation of <code>argument</code> is given in the concrete subclasses of <code>InstantiationExpression</code>.</p> + + + + + + + <p>The <code>Type</code> that is being instantiated.</p> + + + + + + + <p>Return the <code>Type</code> to act as the <code>instantiatedType</code> for this <code>InstantiationExpression</code>. By default, this is the <code>memberElement</code> of the first <code>ownedMembership</code> that is not a <code>FeatureMembership</code>, which must be a <code>Type</code>.</p> -<p><b>Note.</b> This operation is overridden in the subclass <code>OperatorExpression</code>.</p> - - - - OCL2.0 - let members : Sequence(Element) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement in -if members->isEmpty() or not members->first().oclIsKindOf(Type) then null -else typeMembers->first().oclAsType(Type) -endif - - - - - - - - - - - - - - - - - <p>A <code>ConstructorExpression</code> is an <code>InstantiationExpression</code> whose <code>result</code> specializes its <code>instantiatedType</code>, binding some or all of the <code>features</code> of the <code>instantiatedType</code> to the <code>results</code> of its <code>argument</code> <code>Expressions</code>.</p> - - - - <p>The <code>arguments</code> of a <code>ConstructorExpression</code> are the <code>value</code> <code>Expressions</code> of the <code>FeatureValues</code> of the <code>ownedFeatures</code> of its <code>result</code> parameter, in an order corresponding to the order of the <code>features</code> of the <code>instantiatedType</code> that the <code>result</code> <code>ownedFeatures</code> redefine.</p> - - - OCL2.0 - instantiatedType.feature->collect(f | - result.ownedFeatures->select(redefines(f)).valuation-> - select(v | v <> null).value -) - - - - - <p>Two different <code>ownedFeatures</code> of the <code>result</code> of a <code>ConstructorExpression</code> must not redefine the same <code>feature</code> of the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> - - - OCL2.0 - let features : OrderedSet(Feature) = instantiatedType.feature-> - select(visibility = VisibilityKind::public) in -result.ownedFeature->forAll(f1 | result.ownedFeature->forAll(f2 | - f1 <> f2 implies - f1.ownedRedefinition.redefinedFeature-> - intersection(f2.ownedRedefinition.redefinedFeature)-> - intersection(features)->isEmpty())) - - - - - <p>Each <code>ownedFeature</code> of the result of a <code>ConstructionExpression</code> must redefine exactly one public <code>feature</code> of the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> - - - OCL2.0 - let features : OrderedSet(Feature) = instantiatedType.feature-> - select(owningMembership.visibility = VisibilityKind::public) in -result.ownedFeature->forAll(f | - f.ownedRedefinition.redefinedFeature-> - intersection(features)->size() = 1) - - - - - <p>The <code>result</code> of a <code>ConstructorExpression</code> must own a <code>BindingConnector</code> between the <code>featureWithValue</code> and <code>value</code> <code>Expression</code> of any <code>FeatureValue</code> that is the effective default value for a <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> - - - OCL2.0 - TBD - - - - - <p>A <code>ConstructorExpression</code> must directly or indirectly specialize the <code>Expression</code> <em><code>Performances::constructorEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializes('Performances::constructorEvaluations') - - - - - <p>The <code>result</code> of a <code>ConstructorExpression</code> must specialize the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> - - - OCL2.0 - result.specializes(instantiatedType) - - - - - <p>A <code>ConstructorExpression</code> must not have any <code>ownedFeatures</code> other than its <code>result</code>.</p> - - - OCL2.0 - ownedFeatures->excluding(result)->isEmpty() - - - - - - <p>A <code>ConstructorExpression</code> is model-level evaluable if all its argument <code>Expressions</code> are model-level evaluable.</p> - - - - - OCL2.0 - argument->forAll(modelLevelEvaluable(visited)) - - - - - - - - - - - - - - - <p>A <code>InstantiationExpression</code> that has a certain <code>argument</code> <code>Expression</code>.</p> - - - - - - - - - - <p>A <code>Structure</code> is a <code>Class</code> of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by <code>Behaviors</code>, and it may be the performer of some of them.</p> - - - - - <p>A <code>Structure</code> must directly or indirectly specialize the base <code>Structure</code> <code><em>Objects::Object</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Objects::Object') - - - - - <p>A <code>Structure</code> must not specialize a <code>Behavior</code>.</p> - - - OCL2.0 - ownedSpecialization.general->forAll(not oclIsKindOf(Behavior)) - - - - - - - - - - <p>The Expressions that have a certain Feature its owned or inherited <code>result</code>.</p> - - - - - - - - <p>A <code>Predicate</code> is a <code>Function</code> whose <code>result</code> <code>parameter</code> has type <code><em>Boolean</em></code> and multiplicity <code>1..1</code>.</p> - - - - - <p>A <code>Predicate</code> must directly or indirectly specialize the base <code>Predicate</code> <code><em>Performances::BooleanEvaluation</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::BooleanEvaluation') - - - - - - - <p>A <code>ReturnParameterMembership</code> is a <code>ParameterMembership</code> that indicates that the <code>ownedMemberParameter</code> is the <code>result</code> <code>parameter</code> of a <code>Function</code> or <code>Expression</code>. The <code>direction</code> of the <code>ownedMemberParameter</code> must be <code>out</code>.</p> - - - - - <p>The <code>owningType</code> of a <code>ReturnParameterMembership</code> must be a <code>Function</code> or <code>Expression</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression) - - - - - - <p>The <code>ownedMemberParameter</code> of a <code>ReturnParameterMembership</code> must have direction <code>out</code>. (This is a leaf operation that cannot be further redefined.)</p> - - - - OCL2.0 - FeatureDirectionKind::out - - - - - - - - - - - - <p>The Functions that have a certain Feature its owned or inherited <code>result</code>.</p> - - - - - - - - <p>An <code>Invariant</code> is a <code>BooleanExpression</code> that is asserted to have a specific <code><em>Boolean</em></code> result value. If <code>isNegated = false</code>, then the result is asserted to be true. If <code>isNegated = true</code>, then the result is asserted to be false.</p> - - - - - <p>An <code>Invariant</code> must directly or indirectly specialize either of the following <code>BooleanExpressions</code> from the Kernel Semantic Library: <code><em>Performances::trueEvaluations</em></code>, if <code>isNegated = false</code>, or <code><em>Performances::falseEvaluations</em></code>, if <code>isNegated = true</code>.</p> - - - OCL2.0 - if isNegated then - specializesFromLibrary('Performances::falseEvaluations') -else - specializesFromLibrary('Performances::trueEvaluations') -endif - - - - - - <p>Whether this <code>Invariant</code> is asserted to be false rather than true.</p> - - - - - - - - - <p>A <code>BooleanExpression</code> is a <em><code>Boolean</code></em>-valued <code>Expression</code> whose type is a <code>Predicate</code>. It represents a logical condition resulting from the evaluation of the <code>Predicate</code>.</p> - - - - - <p>A <code>BooleanExpression</code> must directly or indirectly specialize the base <code>BooleanExpression</code> <code><em>Performances::booleanEvaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::booleanEvaluations') - - - - - - <p>The Predicate that types the Expression.</p> - - - - <p>The <code>Predicate</code> that types this <code>BooleanExpression</code>.</p> - - - - - - - - <p>An <code>Expression</code> is a <code>Step</code> that is typed by a <code>Function</code>. An <code>Expression</code> that also has a <code>Function</code> as its <code>featuringType</code> is a computational step within that <code>Function</code>. An <code>Expression</code> always has a single <code>result</code> parameter, which redefines the <code>result</code> parameter of its defining <code>function</code>. This allows <code>Expressions</code> to be interconnected in tree structures, in which inputs to each <code>Expression</code> in the tree are determined as the results of other <code>Expression</code> in the tree.</p> - - - - - <p>Whether an <code>Expression</code> <code>isModelLevelEvaluable</code> is determined by the <code>modelLevelEvaluable()</code> operation.</p> - - - OCL2.0 - isModelLevelEvaluable = modelLevelEvaluable(Set(Element){}) - - - - - <p>An <code>Expression</code> must directly or indirectly specialize the base <code>Expression</code> <code><em>Performances::evaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::evaluations') - - - - - <p>If this <code>Expression</code> is owned by a <code>FeatureValue</code>, then it must have the same <code>featuringTypes</code> as the <code>featureWithValue</code> of the <code>FeatureValue</code>.</p> - - - OCL2.0 - owningMembership <> null and -owningMembership.oclIsKindOf(FeatureValue) implies - let featureWithValue : Feature = - owningMembership.oclAsType(FeatureValue).featureWithValue in - featuringType = featureWithValue.featuringType - - - - - <p>If an <code>Expression</code> has an <code>Expression</code> owned via a <code>ResultExpressionMembership</code>, then the owning <code>Expression</code> must also own a <code>BindingConnector</code> between its <code>result</code> <code>parameter</code> and the <code>result</code> <code>parameter</code> of the result <code>Expression</code>.</p> - - - OCL2.0 - ownedMembership.selectByKind(ResultExpressionMembership)-> - forAll(mem | ownedFeature.selectByKind(BindingConnector)-> - exists(binding | - binding.relatedFeature->includes(result) and - binding.relatedFeature->includes(mem.ownedResultExpression.result))) - - - - - <p>The <code>result</code> parameter of an <code>Expression</code> is its <code>parameter</code> owned (possibly in a supertype) via a <code>ReturnParameterMembership</code> (if any).</p> - - - OCL2.0 - result = - let resultParams : Sequence(Feature) = - featureMemberships-> - selectByKind(ReturnParameterMembership). - ownedMemberParameter in - if resultParams->notEmpty() then resultParams->first() - else null - endif - - - - - - <p>An <code>Expression</code> must have exactly one <code>featureMembership</code> (owned or inherited) that is a <code>ResultParameterMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ReturnParameterMembership)-> - size() = 1 - - - - - <p>An <code>Expression</code> must have at most one <code>ResultExpressionMembership</code>.</p> - - - OCL2.0 - membership->selectByKind(ResultExpressionMembership)->size() <= 1 - - - - - - <p>The <code>Function</code> that types this <code>Expression</code>.</p> - - - - <p>This is the Function that types the Expression.</p> - - - - - - - - <p><p>An <code>output</code> <code>parameter</code> of the <code>Expression</code> whose value is the result of the <code>Expression</code>. The result of an <code>Expression</code> is either inherited from its <code>function</code> or it is related to the <code>Expression</code> via a <code>ReturnParameterMembership</code>, in which case it redefines the <code>result</code> <code>parameter</code> of its <code>function</code>.</p> - - - - - - - - <p>Whether this <code>Expression</code> meets the constraints necessary to be evaluated at <em>model level</em>, that is, using metadata within the model.</p> - - - - - - <p>Return whether this <code>Expression</code> is model-level evaluable. The <code>visited</code> parameter is used to track possible circular <code>Feature</code> references made from <code>FeatureReferenceExpressions</code> (see the redefinition of this operation for <code>FeatureReferenceExpression</code>). Such circular references are not allowed in model-level evaluable expressions.</p> + <p><b>Note.</b> This operation is overridden in the subclass <code>OperatorExpression</code>.</p> + + + + OCL2.0 + let members : Sequence(Element) = ownedMembership-> + reject(oclIsKindOf(FeatureMembership)).memberElement in + if members->isEmpty() or not members->first().oclIsKindOf(Type) then null + else typeMembers->first().oclAsType(Type) + endif + + + + + + + + + + + + + + + + + <p>A <code>ConstructorExpression</code> is an <code>InstantiationExpression</code> whose <code>result</code> specializes its <code>instantiatedType</code>, binding some or all of the <code>features</code> of the <code>instantiatedType</code> to the <code>results</code> of its <code>argument</code> <code>Expressions</code>.</p> + + + + <p>The <code>arguments</code> of a <code>ConstructorExpression</code> are the <code>value</code> <code>Expressions</code> of the <code>FeatureValues</code> of the <code>ownedFeatures</code> of its <code>result</code> parameter, in an order corresponding to the order of the <code>features</code> of the <code>instantiatedType</code> that the <code>result</code> <code>ownedFeatures</code> redefine.</p> + + + OCL2.0 + instantiatedType.feature->collect(f | + result.ownedFeatures->select(redefines(f)).valuation-> + select(v | v <> null).value + ) + + + + + <p>Two different <code>ownedFeatures</code> of the <code>result</code> of a <code>ConstructorExpression</code> must not redefine the same <code>feature</code> of the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> + + + OCL2.0 + let features : OrderedSet(Feature) = instantiatedType.feature-> + select(visibility = VisibilityKind::public) in + result.ownedFeature->forAll(f1 | result.ownedFeature->forAll(f2 | + f1 <> f2 implies + f1.ownedRedefinition.redefinedFeature-> + intersection(f2.ownedRedefinition.redefinedFeature)-> + intersection(features)->isEmpty())) + + + + + <p>Each <code>ownedFeature</code> of the result of a <code>ConstructionExpression</code> must redefine exactly one public <code>feature</code> of the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> + + + OCL2.0 + let features : OrderedSet(Feature) = instantiatedType.feature-> + select(owningMembership.visibility = VisibilityKind::public) in + result.ownedFeature->forAll(f | + f.ownedRedefinition.redefinedFeature-> + intersection(features)->size() = 1) + + + + + <p>The <code>result</code> of a <code>ConstructorExpression</code> must own a <code>BindingConnector</code> between the <code>featureWithValue</code> and <code>value</code> <code>Expression</code> of any <code>FeatureValue</code> that is the effective default value for a <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> + + + OCL2.0 + TBD + + + + + <p>A <code>ConstructorExpression</code> must directly or indirectly specialize the <code>Expression</code> <em><code>Performances::constructorEvaluations</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializes('Performances::constructorEvaluations') + + + + + <p>The <code>result</code> of a <code>ConstructorExpression</code> must specialize the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> + + + OCL2.0 + result.specializes(instantiatedType) + + + + + <p>A <code>ConstructorExpression</code> must not have any <code>ownedFeatures</code> other than its <code>result</code>.</p> + + + OCL2.0 + ownedFeatures->excluding(result)->isEmpty() + + + + + + <p>A <code>ConstructorExpression</code> is model-level evaluable if all its argument <code>Expressions</code> are model-level evaluable.</p> + + + + + OCL2.0 + argument->forAll(modelLevelEvaluable(visited)) + + + + + + + + + + + + + + + <p>A <code>InstantiationExpression</code> that has a certain <code>argument</code> <code>Expression</code>.</p> + + + + + + + + + + <p>A <code>Structure</code> is a <code>Class</code> of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by <code>Behaviors</code>, and it may be the performer of some of them.</p> + + + + + <p>A <code>Structure</code> must directly or indirectly specialize the base <code>Structure</code> <code><em>Objects::Object</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Objects::Object') + + + + + <p>A <code>Structure</code> must not specialize a <code>Behavior</code>.</p> + + + OCL2.0 + ownedSpecialization.general->forAll(not oclIsKindOf(Behavior)) + + + + + + + + + + <p>The Expressions that have a certain Feature its owned or inherited <code>result</code>.</p> + + + + + + + + <p>A <code>Predicate</code> is a <code>Function</code> whose <code>result</code> <code>parameter</code> has type <code><em>Boolean</em></code> and multiplicity <code>1..1</code>.</p> + + + + + <p>A <code>Predicate</code> must directly or indirectly specialize the base <code>Predicate</code> <code><em>Performances::BooleanEvaluation</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::BooleanEvaluation') + + + + + + + <p>A <code>ReturnParameterMembership</code> is a <code>ParameterMembership</code> that indicates that the <code>ownedMemberParameter</code> is the <code>result</code> <code>parameter</code> of a <code>Function</code> or <code>Expression</code>. The <code>direction</code> of the <code>ownedMemberParameter</code> must be <code>out</code>.</p> + + + + + <p>The <code>owningType</code> of a <code>ReturnParameterMembership</code> must be a <code>Function</code> or <code>Expression</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression) + + + + + + <p>The <code>ownedMemberParameter</code> of a <code>ReturnParameterMembership</code> must have direction <code>out</code>. (This is a leaf operation that cannot be further redefined.)</p> + + + + OCL2.0 + FeatureDirectionKind::out + + + + + + + + + + + + <p>The Functions that have a certain Feature its owned or inherited <code>result</code>.</p> + + + + + + + + <p>An <code>Invariant</code> is a <code>BooleanExpression</code> that is asserted to have a specific <code><em>Boolean</em></code> result value. If <code>isNegated = false</code>, then the result is asserted to be true. If <code>isNegated = true</code>, then the result is asserted to be false.</p> + + + + + <p>An <code>Invariant</code> must directly or indirectly specialize either of the following <code>BooleanExpressions</code> from the Kernel Semantic Library: <code><em>Performances::trueEvaluations</em></code>, if <code>isNegated = false</code>, or <code><em>Performances::falseEvaluations</em></code>, if <code>isNegated = true</code>.</p> + + + OCL2.0 + if isNegated then + specializesFromLibrary('Performances::falseEvaluations') + else + specializesFromLibrary('Performances::trueEvaluations') + endif + + + + + + <p>Whether this <code>Invariant</code> is asserted to be false rather than true.</p> + + + + + + + + + <p>A <code>BooleanExpression</code> is a <em><code>Boolean</code></em>-valued <code>Expression</code> whose type is a <code>Predicate</code>. It represents a logical condition resulting from the evaluation of the <code>Predicate</code>.</p> + + + + + <p>A <code>BooleanExpression</code> must directly or indirectly specialize the base <code>BooleanExpression</code> <code><em>Performances::booleanEvaluations</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::booleanEvaluations') + + + + + + <p>The Predicate that types the Expression.</p> + + + + <p>The <code>Predicate</code> that types this <code>BooleanExpression</code>.</p> + + + + + + + + <p>An <code>Expression</code> is a <code>Step</code> that is typed by a <code>Function</code>. An <code>Expression</code> that also has a <code>Function</code> as its <code>featuringType</code> is a computational step within that <code>Function</code>. An <code>Expression</code> always has a single <code>result</code> parameter, which redefines the <code>result</code> parameter of its defining <code>function</code>. This allows <code>Expressions</code> to be interconnected in tree structures, in which inputs to each <code>Expression</code> in the tree are determined as the results of other <code>Expression</code> in the tree.</p> + + + + + <p>Whether an <code>Expression</code> <code>isModelLevelEvaluable</code> is determined by the <code>modelLevelEvaluable()</code> operation.</p> + + + OCL2.0 + isModelLevelEvaluable = modelLevelEvaluable(Set(Element){}) + + + + + <p>An <code>Expression</code> must directly or indirectly specialize the base <code>Expression</code> <code><em>Performances::evaluations</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::evaluations') + + + + + <p>If this <code>Expression</code> is owned by a <code>FeatureValue</code>, then it must have the same <code>featuringTypes</code> as the <code>featureWithValue</code> of the <code>FeatureValue</code>.</p> + + + OCL2.0 + owningMembership <> null and + owningMembership.oclIsKindOf(FeatureValue) implies + let featureWithValue : Feature = + owningMembership.oclAsType(FeatureValue).featureWithValue in + featuringType = featureWithValue.featuringType + + + + + <p>If an <code>Expression</code> has an <code>Expression</code> owned via a <code>ResultExpressionMembership</code>, then the owning <code>Expression</code> must also own a <code>BindingConnector</code> between its <code>result</code> <code>parameter</code> and the <code>result</code> <code>parameter</code> of the result <code>Expression</code>.</p> + + + OCL2.0 + ownedMembership.selectByKind(ResultExpressionMembership)-> + forAll(mem | ownedFeature.selectByKind(BindingConnector)-> + exists(binding | + binding.relatedFeature->includes(result) and + binding.relatedFeature->includes(mem.ownedResultExpression.result))) + + + + + <p>The <code>result</code> parameter of an <code>Expression</code> is its <code>parameter</code> owned (possibly in a supertype) via a <code>ReturnParameterMembership</code> (if any).</p> + + + OCL2.0 + result = + let resultParams : Sequence(Feature) = + featureMemberships-> + selectByKind(ReturnParameterMembership). + ownedMemberParameter in + if resultParams->notEmpty() then resultParams->first() + else null + endif + + + + + + <p>An <code>Expression</code> must have exactly one <code>featureMembership</code> (owned or inherited) that is a <code>ResultParameterMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(ReturnParameterMembership)-> + size() = 1 + + + + + <p>An <code>Expression</code> must have at most one <code>ResultExpressionMembership</code>.</p> + + + OCL2.0 + membership->selectByKind(ResultExpressionMembership)->size() <= 1 + + + + + + <p>The <code>Function</code> that types this <code>Expression</code>.</p> + + + + <p>This is the Function that types the Expression.</p> + + + + + + + + <p><p>An <code>output</code> <code>parameter</code> of the <code>Expression</code> whose value is the result of the <code>Expression</code>. The result of an <code>Expression</code> is either inherited from its <code>function</code> or it is related to the <code>Expression</code> via a <code>ReturnParameterMembership</code>, in which case it redefines the <code>result</code> <code>parameter</code> of its <code>function</code>.</p> + + + + + + + + <p>Whether this <code>Expression</code> meets the constraints necessary to be evaluated at <em>model level</em>, that is, using metadata within the model.</p> + + + + + + <p>Return whether this <code>Expression</code> is model-level evaluable. The <code>visited</code> parameter is used to track possible circular <code>Feature</code> references made from <code>FeatureReferenceExpressions</code> (see the redefinition of this operation for <code>FeatureReferenceExpression</code>). Such circular references are not allowed in model-level evaluable expressions.</p> -<p>An <code>Expression</code> that is not otherwise specialized is model-level evaluable if it has no (non-implied) <code>ownedSpecializations</code> and all its <code>ownedFeatures</code> are either <code>in</code> parameters, the <code>result</code> <code>parameter</code> or a result <code>Expression</code> owned via a <code>ResultExpressionMembership</code>. The <code>parameters</code> must not have any <code>ownedFeatures</code> or a <code>FeatureValue</code>, and the result <code>Expression</code> must be model-level evaluable.</p> - - - - OCL2.0 - ownedSpecialization->forAll(isImplied) and -ownedFeature->forAll(f | - (directionOf(f) = FeatureDirectionKind::_'in' or f = result) and - f.ownedFeature->isEmpty() and f.valuation = null or - f.owningFeatureMembership.oclIsKindOf(ResultExpressionMembership) and - f.oclAsType(Expression).modelLevelEvaluable(visited) - - - - - - - - - - - - - - <p>If this <code>Expression</code> <code>isModelLevelEvaluable</code>, then evaluate it using the <code>target</code> as the context <code>Element</code> for resolving <code>Feature</code> names and testing classification. The result is a collection of <code>Elements</code>, which, for a fully evaluable <code>Expression</code>, will be a <code>LiteralExpression</code> or a <code>Feature</code> that is not an <code>Expression</code>.</p> - - - - OCL2.0 - isModelLevelEvaluable - - - - - OCL2.0 - let resultExprs : Sequence(Expression) = - ownedFeatureMembership-> - selectByKind(ResultExpressionMembership). - ownedResultExpression in -if resultExpr->isEmpty() then Sequence{} -else resultExprs->first().evaluate(target) -endif - - - - - - - - - - - <p>Model-level evaluate this <code>Expression</code> with the given <code>target</code>. If the result is a <code>LiteralBoolean</code>, return its <code>value</code>. Otherwise return <code>false</code>.</p> - - - - - OCL2.0 - let results: Sequence(Element) = evaluate(target) in - result->size() = 1 and - results->first().oclIsKindOf(LiteralBoolean) and - results->first().oclAsType(LiteralBoolean).value - - - - - - - - - - - - <p>The ResultExpressionMembership that owns the <code>ownedResultExpression</code>.</p> - - - - - - - - - <p>The Functions that hasve a certain <code>expression</code> as a step.</p> - - - - - - - - <p>A <code>Function</code> is a <code>Behavior</code> that has an <code>out</code> <code>parameter</code> that is identified as its <code>result</code>. A <code>Function</code> represents the performance of a calculation that produces the values of its <code>result</code> <code>parameter</code>. This calculation may be decomposed into <code>Expressions</code> that are <code>steps</code> of the <code>Function</code>.</p> - - - - - <p>A <code>Function</code> must have exactly one <code>featureMembership</code> (owned or inherited) that is a <code>ResultParameterMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ReturnParameterMembership)-> - size() = 1 - - - - - <p>A <code>Function</code> must directly or indirectly specialize the base <code>Function</code> <code><em>Performances::Evaluation</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::Evaluation') - - - - - <p>If a <code>Function</code> has an <code>Expression</code> owned via a <code>ResultExpressionMembership</code>, then the owning <code>Function</code> must also own a <code>BindingConnector</code> between its <code>result</code> <code>parameter</code> and the <code>result</code> <code>parameter</code> of the result <code>Expression</code>.</p> - - - OCL2.0 - ownedMembership.selectByKind(ResultExpressionMembership)-> - forAll(mem | ownedFeature.selectByKind(BindingConnector)-> - exists(binding | - binding.relatedFeature->includes(result) and - binding.relatedFeature->includes(mem.ownedResultExpression.result))) - - - - - <p>The <code>result</code> <code>parameter</code> of a <code>Function</code> is its <code>parameter</code> owned (possibly in a supertype) via a <code>ReturnParameterMembership</code> (if any).</p> - - - OCL2.0 - result = - let resultParams : Sequence(Feature) = - featureMemberships-> - selectByKind(ReturnParameterMembership). - ownedMemberParameter in - if resultParams->notEmpty() then resultParams->first() - else null - endif - - - - - <p>A <code>Function</code> must have at most one <code>ResultExpressionMembership</code>.</p> - - - OCL2.0 - membership->selectByKind(ResultExpressionMembership)->size() <= 1 - - - - - - <p>The <code>Expressions</code> that are <code>steps</code> in the calculation of the <code>result</code> of this <code>Function</code>.</p> - - - - <p>The set of expressions that represent computational steps or parts of a system of equations within the Function.</p> - - - - - - - - <p>The object or value that is the result of evaluating the Function.</p> - - - <p>The <code>result</code> <code>parameter</code> of the <code>Function</code>, which is owned by the <code>Function</code> via a <code>ReturnParameterMembership</code>.</p> - - - - - - - - <p>Whether this <code>Function</code> can be used as the <code>function</code> of a model-level evaluable <code>InvocationExpression</code>. Certain <code>Functions</code> from the Kernel Functions Library are considered to have <code>isModelLevelEvaluable = true</code>. For all other <code>Functions</code> it is <code>false</code>.</p> + <p>An <code>Expression</code> that is not otherwise specialized is model-level evaluable if it has no (non-implied) <code>ownedSpecializations</code> and all its <code>ownedFeatures</code> are either <code>in</code> parameters, the <code>result</code> <code>parameter</code> or a result <code>Expression</code> owned via a <code>ResultExpressionMembership</code>. The <code>parameters</code> must not have any <code>ownedFeatures</code> or a <code>FeatureValue</code>, and the result <code>Expression</code> must be model-level evaluable.</p> + + + + OCL2.0 + ownedSpecialization->forAll(isImplied) and + ownedFeature->forAll(f | + (directionOf(f) = FeatureDirectionKind::_'in' or f = result) and + f.ownedFeature->isEmpty() and f.valuation = null or + f.owningFeatureMembership.oclIsKindOf(ResultExpressionMembership) and + f.oclAsType(Expression).modelLevelEvaluable(visited) + + + + + + + + + + + + + + <p>If this <code>Expression</code> <code>isModelLevelEvaluable</code>, then evaluate it using the <code>target</code> as the context <code>Element</code> for resolving <code>Feature</code> names and testing classification. The result is a collection of <code>Elements</code>, which, for a fully evaluable <code>Expression</code>, will be a <code>LiteralExpression</code> or a <code>Feature</code> that is not an <code>Expression</code>.</p> + + + + OCL2.0 + isModelLevelEvaluable + + + + + OCL2.0 + let resultExprs : Sequence(Expression) = + ownedFeatureMembership-> + selectByKind(ResultExpressionMembership). + ownedResultExpression in + if resultExpr->isEmpty() then Sequence{} + else resultExprs->first().evaluate(target) + endif + + + + + + + + + + + <p>Model-level evaluate this <code>Expression</code> with the given <code>target</code>. If the result is a <code>LiteralBoolean</code>, return its <code>value</code>. Otherwise return <code>false</code>.</p> + + + + + OCL2.0 + let results: Sequence(Element) = evaluate(target) in + result->size() = 1 and + results->first().oclIsKindOf(LiteralBoolean) and + results->first().oclAsType(LiteralBoolean).value + + + + + + + + + + + + <p>The ResultExpressionMembership that owns the <code>ownedResultExpression</code>.</p> + + + + + + + + + <p>The Functions that hasve a certain <code>expression</code> as a step.</p> + + + + + + + + <p>A <code>Function</code> is a <code>Behavior</code> that has an <code>out</code> <code>parameter</code> that is identified as its <code>result</code>. A <code>Function</code> represents the performance of a calculation that produces the values of its <code>result</code> <code>parameter</code>. This calculation may be decomposed into <code>Expressions</code> that are <code>steps</code> of the <code>Function</code>.</p> + + + + + <p>A <code>Function</code> must have exactly one <code>featureMembership</code> (owned or inherited) that is a <code>ResultParameterMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(ReturnParameterMembership)-> + size() = 1 + + + + + <p>A <code>Function</code> must directly or indirectly specialize the base <code>Function</code> <code><em>Performances::Evaluation</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::Evaluation') + + + + + <p>If a <code>Function</code> has an <code>Expression</code> owned via a <code>ResultExpressionMembership</code>, then the owning <code>Function</code> must also own a <code>BindingConnector</code> between its <code>result</code> <code>parameter</code> and the <code>result</code> <code>parameter</code> of the result <code>Expression</code>.</p> + + + OCL2.0 + ownedMembership.selectByKind(ResultExpressionMembership)-> + forAll(mem | ownedFeature.selectByKind(BindingConnector)-> + exists(binding | + binding.relatedFeature->includes(result) and + binding.relatedFeature->includes(mem.ownedResultExpression.result))) + + + + + <p>The <code>result</code> <code>parameter</code> of a <code>Function</code> is its <code>parameter</code> owned (possibly in a supertype) via a <code>ReturnParameterMembership</code> (if any).</p> + + + OCL2.0 + result = + let resultParams : Sequence(Feature) = + featureMemberships-> + selectByKind(ReturnParameterMembership). + ownedMemberParameter in + if resultParams->notEmpty() then resultParams->first() + else null + endif + + + + + <p>A <code>Function</code> must have at most one <code>ResultExpressionMembership</code>.</p> + + + OCL2.0 + membership->selectByKind(ResultExpressionMembership)->size() <= 1 + + + + + + <p>The <code>Expressions</code> that are <code>steps</code> in the calculation of the <code>result</code> of this <code>Function</code>.</p> + + + + <p>The set of expressions that represent computational steps or parts of a system of equations within the Function.</p> + + + + + + + + <p>The object or value that is the result of evaluating the Function.</p> + + + <p>The <code>result</code> <code>parameter</code> of the <code>Function</code>, which is owned by the <code>Function</code> via a <code>ReturnParameterMembership</code>.</p> + + + + + + + + <p>Whether this <code>Function</code> can be used as the <code>function</code> of a model-level evaluable <code>InvocationExpression</code>. Certain <code>Functions</code> from the Kernel Functions Library are considered to have <code>isModelLevelEvaluable = true</code>. For all other <code>Functions</code> it is <code>false</code>.</p> -<p><strong>Note:</strong> See the specification of the KerML concrete syntax notation for <code>Expressions</code> for an identification of which library <code>Functions</code> are model-level evaluable.</p> - - - - - - - - <p>The Expressions that are typed by a certain <code>function</code>.</p> - - - - - - - - <p>A <code>ResultExpressionMembership</code> is a <code>FeatureMembership</code> that indicates that the <code>ownedResultExpression</code> provides the result values for the <code>Function</code> or <code>Expression</code> that owns it. The owning <code>Function</code> or <code>Expression</code> must contain a <code>BindingConnector</code> between the <code>result</code> <code>parameter</code> of the <code>ownedResultExpression</code> and the <code>result</code> <code>parameter</code> of the owning <code>Function</code> or <code>Expression</code>.</p> - - - - - <p>The <code>owningType</code> of a <code>ResultExpressionMembership</code> must be a <code>Function</code> or <code>Expression</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression) - - - - - - <p>The <code>Expression</code> that provides the result for the owner of the <code>ResultExpressionMembership</code>.</p> - - - - - - - - - - - - - - - - - <p>A <code>MultiplicityRange</code> is a <code>Multiplicity</code> whose value is defined to be the (inclusive) range of natural numbers given by the result of a <code>lowerBound</code> <code>Expression</code> and the result of an <code>upperBound</code> <code>Expression</code>. The result of these <code>Expressions</code> shall be of type <code><em>Natural</em></code>. If the result of the <code>upperBound</code> <code>Expression</code> is the unbounded value <code>*</code>, then the specified range includes all natural numbers greater than or equal to the <code>lowerBound</code> value. If no <code>lowerBound</code> <code>Expression</code>, then the default is that the lower bound has the same value as the upper bound, except if the <code>upperBound</code> evaluates to <code>*</code>, in which case the default for the lower bound is 0.</p> - - - - - <p>The <code>bounds</code> of a <code>MultiplicityRange</code> must have the same <code>featuringTypes</code> as the <code>MultiplicityRange</code>.</p> - - - OCL2.0 - bound->forAll(b | b.featuringType = self.featuringType) - - - - - <p>The <code>results</code> of the <code>bound</code> <code>Expression(s)</code> of a <code>MultiplicityRange</code> must be typed by <code><em>ScalarValues::Intger</em></code> from the Kernel Data Types Library. If a <code>bound</code> is model-level evaluable, then it must evaluate to a non-negative value.</p> - - - OCL2.0 - bound->forAll(b | - b.result.specializesFromLibrary('ScalarValues::Integer') and - let value : UnlimitedNatural = valueOf(b) in - value <> null implies value >= 0 -) - - - - - <p>If a <code>MultiplicityRange</code> has two <code>ownedMembers</code> that are <code>Expressions</code>, then the <code>lowerBound</code> is the first of these, otherwise it is <code>null</code>.</p> - - - OCL2.0 - lowerBound = - let ownedExpressions : Sequence(Expression) = - ownedMember->selectByKind(Expression) in - if ownedExpressions->size() < 2 then null - else ownedExpressions->first() - endif - - - - - <p>If a <code>MultiplicityRange</code> has one <code>ownedMember</code> that is an <code>Expression</code>, then this is the <code>upperBound</code>. If it has more than one <code>ownedMember</code> that is an <code>Expression</code>, then the <code>upperBound</code> is the second of those. Otherwise, it is null.</p> - - - OCL2.0 - upperBound = - let ownedExpressions : Sequence(Expression) = - ownedMember->selectByKind(Expression) in - if ownedExpressions->isEmpty() then null - else if ownedExpressions->size() = 1 then ownedExpressions->at(1) - else ownedExpressions->at(2) - endif endif - - - - - <p>The <code>bounds</code> of a <code>MultiplicityRange</code> are the <code>lowerBound</code> (if any) followed by the <code>upperBound</code>.</p> - - - OCL2.0 - bound = - if upperBound = null then Sequence{} - else if lowerBound = null then Sequence{upperBound} - else Sequence{lowerBound, upperBound} - endif endif - - - - - <p>The <code>lowerBound</code> (if any) and <code>upperBound</code> <code>Expressions</code> must be the first <code>ownedMembers</code> of a <code>MultiplicityRange</code>.</p> - - - OCL2.0 - if lowerBound = null then - ownedMember->notEmpty() and - ownedMember->at(1) = upperBound -else - ownedMember->size() > 1 and - ownedMember->at(1) = lowerBound and - ownedMember->at(2) = upperBound -endif - - - - - - <p>The <code>Expression</code> whose result provides the lower bound of the <code>MultiplicityRange</code>. If no <code>lowerBound</code> <code>Expression</code> is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (<code>*</code>), in which case the lower bound shall be 0.</p> - - - - - - - - <p>The <code>Expression</code> whose result is the upper bound of the <code>MultiplicityRange</code>.</p> - - - - - - - <p>The owned <code>Expressions</code> of the <code>MultiplicityRange</code> whose results provide its bounds. These must be the first <code>ownedMembers</code> of the <code>MultiplicityRange</code>.</p> - - - - - - - <p>Check whether this <code>MultiplicityRange</code> represents the range bounded by the given values <code>lower</code> and <code>upper</code>, presuming the <code>lowerBound</code> and <code>upperBound</code> <code>Expressions</code> are model-level evaluable.</p> - - - - OCL2.0 - valueOf(upperBound) = upper and -let lowerValue: UnlimitedNatural = valueOf(lowerBound) in -(lowerValue = lower or - lowerValue = null and - (lower = upper or - lower = 0 and upper = *)) - - - - - - - - - - - - - - - - <p>Evaluate the given <code>bound</code> <code>Expression</code> (at model level) and return the result represented as a MOF <code>UnlimitedNatural</code> value.</p> - - - - OCL2.0 - if bound = null or not bound.isModelLevelEvaluable then - null -else - let boundEval: Sequence(Element) = bound.evaluate(owningType) in - if boundEval->size() <> 1 then null else - let valueEval: Element = boundEval->at(1) in - if valueEval.oclIsKindOf(LiteralInfinity) then * - else if valueEval.oclIsKindOf(LiteralInteger) then - let value : Integer = - valueEval.oclAsKindOf(LiteralInteger).value in - if value >= 0 then value else null endif - else null - endif endif - endif -endif - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>Step</code> is a <code>Feature</code> that is typed by one or more <code>Behaviors</code>. <code>Steps</code> may be used by one <code>Behavior</code> to coordinate the performance of other <code>Behaviors</code>, supporting a steady refinement of behavioral descriptions. <code>Steps</code> can be ordered in time and can be connected using <code>Flows</code> to specify things flowing between their <code>parameters</code>.</p> - - - - - <p>A <code>Step</code> must directly or indirectly specialize the base <code>Step</code> <code><em>Performances::performances</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::performances') - - - - - <p>A<code>Step</code> whose <code>owningType</code> is a <code>Behavior</code> or another <code>Step</code> must directly or indirectly specialize the <code>Step</code> <code><em>Performances::Performance::enclosedPerformance</em></code>.</p> - - - OCL2.0 - owningType <> null and - (owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) implies - specializesFromLibrary('Performances::Performance::enclosedPerformance') - - - - - <p>A composite <code>Step</code> whose <code>owningType</code> is a <code>Structure</code> or a <code>Feature</code> typed by a <code>Structure</code> must directly or indirectly specialize the <code>Step</code> <code><em>Objects::Object::ownedPerformance</em></code>.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(Structure) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Structure)) implies - specializesFromLibrary('Objects::Object::ownedPerformance') - - - - - <p>A<code>Step</code> whose <code>owningType</code> is a <code>Behavior</code> or another <code>Step</code>, and which is composite, must directly or indirectly specialize the <code>Step</code> <code><em>Performances::Performance::subperformance</em></code>.</p> - - - OCL2.0 - owningType <> null and - (owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) and - self.isComposite implies - specializesFromLibrary('Performances::Performance::subperformance') - - - - - <p>The <code>behaviors</code> of a <code>Step</code> are all its <code>types</code> that are <code>Behaviors</code>.</p> - - - OCL2.0 - behavior = type->selectByKind(Behavior) - - - - - - <p>The <code>Behaviors</code> that type this <code>Step</code>.</p> - - - - - - - - <p>The <code>parameters</code> of this <code>Step</code>, which are defined as its <code>directedFeatures</code>, whose values are passed into and/or out of a performance of the <code>Step</code>.</p> - - - - - - - - - <p>A <code>Behavior </code>coordinates occurrences of other <code>Behaviors</code>, as well as changes in objects. <code>Behaviors</code> can be decomposed into <code>Steps</code> and be characterized by <code>parameters</code>.</p> - - - - - <p>A <code>Behavior</code> must not specialize a <code>Structure</code>.</p> - - - OCL2.0 - ownedSpecialization.general->forAll(not oclIsKindOf(Structure)) - - - - - <p>A <code>Behavior</code> must directly or indirectly specialize the base <code>Behavior</code> <code><em>Performances::Performance</em></code> from the Kernel Semantic Library.</p> - - - English - specializesFromLibrary('Performances::Performance') - - - - - <p>The <code>steps</code> of a <code>Behavior</code> are its <code>features</code> that are <code>Steps</code>.</p> - - - OCL2.0 - step = feature->selectByKind(Step) - - - - - - <p>The <code>Steps</code> that make up this <code>Behavior</code>.</p> - - - - - - - - <p>The parameters of this <code>Behavior</code>, which are defined as its <code>directedFeatures</code>, whose values are passed into and/or out of a performance of the <code>Behavior</code>.</p> - - - - - - - - - - - - - - - - - - - - - <p>A <code>ParameterMembership</code> is a <code>FeatureMembership</code> that identifies its <code>memberFeature</code> as a parameter, which is always owned, and must have a <code>direction</code>. A <code>ParameterMembership</code> must be owned by a <code>Behavior</code>, a <code>Step</code>, or the <code>result</code> parameter of a <code>ConstructorExpression</code>.</p> - - - - <p>The <code>ownedMemberParameter</code> of a <code>ParameterMembership</code> must have a <code>direction</code> equal to the result of the <code>parameterDirection()</code> operation.</p> - - - OCL2.0 - ownedMemberParameter.direction = parameterDirection() - - - - - <p>A <code>ParameterMembership</code> must be owned by a <code>Behavior</code>,<code>Step</code>, or the <code>result</code> parameter of a <code>ConstructorExpression</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(Behavior) or owningType.oclIsKindOf(Step) or -owningType.owningMembership.oclIsKindOf(ReturnParameterMembership) and - owningType.owningNamespace.oclIsKindOf(ConstructorExpression) - - - - - - <p>The <code>Feature</code> that is identified as a <code>parameter</code> by this <code>ParameterMembership</code>.</p> - - - - - - - - <p>Return the required value of the <code>direction</code> of the <code>ownedMemberParameter</code>. By default, this is <code>in</code>.</p> - - - - OCL2.0 - FeatureDirectionKind::_'in' - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>Metaclass</code> is a <code>Structure</code> used to type <code>MetadataFeatures</code>.</p> - - - - <p>A <code>Metaclass</code> must directly or indirectly specialize the base <code>Metaclass</code> <code><em>Metaobjects::Metaobject</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Metaobjects::Metaobject') - - - - - - - <p>A <code>MetadataFeature</code> is a <code>Feature</code> that is an <code>AnnotatingElement</code> used to annotate another <code>Element</code> with metadata. It is typed by a <code>Metaclass</code>. All its <code>ownedFeatures</code> must redefine <code>features</code> of its <code>metaclass</code> and any feature bindings must be model-level evaluable.</p> + <p><strong>Note:</strong> See the specification of the KerML concrete syntax notation for <code>Expressions</code> for an identification of which library <code>Functions</code> are model-level evaluable.</p> + + + + + + + + <p>The Expressions that are typed by a certain <code>function</code>.</p> + + + + + + + + <p>A <code>ResultExpressionMembership</code> is a <code>FeatureMembership</code> that indicates that the <code>ownedResultExpression</code> provides the result values for the <code>Function</code> or <code>Expression</code> that owns it. The owning <code>Function</code> or <code>Expression</code> must contain a <code>BindingConnector</code> between the <code>result</code> <code>parameter</code> of the <code>ownedResultExpression</code> and the <code>result</code> <code>parameter</code> of the owning <code>Function</code> or <code>Expression</code>.</p> + + + + + <p>The <code>owningType</code> of a <code>ResultExpressionMembership</code> must be a <code>Function</code> or <code>Expression</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression) + + + + + + <p>The <code>Expression</code> that provides the result for the owner of the <code>ResultExpressionMembership</code>.</p> + + + + + + + + + + + + + + + + + <p>A <code>MultiplicityRange</code> is a <code>Multiplicity</code> whose value is defined to be the (inclusive) range of natural numbers given by the result of a <code>lowerBound</code> <code>Expression</code> and the result of an <code>upperBound</code> <code>Expression</code>. The result of these <code>Expressions</code> shall be of type <code><em>Natural</em></code>. If the result of the <code>upperBound</code> <code>Expression</code> is the unbounded value <code>*</code>, then the specified range includes all natural numbers greater than or equal to the <code>lowerBound</code> value. If no <code>lowerBound</code> <code>Expression</code>, then the default is that the lower bound has the same value as the upper bound, except if the <code>upperBound</code> evaluates to <code>*</code>, in which case the default for the lower bound is 0.</p> + + + + + <p>The <code>bounds</code> of a <code>MultiplicityRange</code> must have the same <code>featuringTypes</code> as the <code>MultiplicityRange</code>.</p> + + + OCL2.0 + bound->forAll(b | b.featuringType = self.featuringType) + + + + + <p>The <code>results</code> of the <code>bound</code> <code>Expression(s)</code> of a <code>MultiplicityRange</code> must be typed by <code><em>ScalarValues::Intger</em></code> from the Kernel Data Types Library. If a <code>bound</code> is model-level evaluable, then it must evaluate to a non-negative value.</p> + + + OCL2.0 + bound->forAll(b | + b.result.specializesFromLibrary('ScalarValues::Integer') and + let value : UnlimitedNatural = valueOf(b) in + value <> null implies value >= 0 + ) + + + + + <p>If a <code>MultiplicityRange</code> has two <code>ownedMembers</code> that are <code>Expressions</code>, then the <code>lowerBound</code> is the first of these, otherwise it is <code>null</code>.</p> + + + OCL2.0 + lowerBound = + let ownedExpressions : Sequence(Expression) = + ownedMember->selectByKind(Expression) in + if ownedExpressions->size() < 2 then null + else ownedExpressions->first() + endif + + + + + <p>If a <code>MultiplicityRange</code> has one <code>ownedMember</code> that is an <code>Expression</code>, then this is the <code>upperBound</code>. If it has more than one <code>ownedMember</code> that is an <code>Expression</code>, then the <code>upperBound</code> is the second of those. Otherwise, it is null.</p> + + + OCL2.0 + upperBound = + let ownedExpressions : Sequence(Expression) = + ownedMember->selectByKind(Expression) in + if ownedExpressions->isEmpty() then null + else if ownedExpressions->size() = 1 then ownedExpressions->at(1) + else ownedExpressions->at(2) + endif endif + + + + + <p>The <code>bounds</code> of a <code>MultiplicityRange</code> are the <code>lowerBound</code> (if any) followed by the <code>upperBound</code>.</p> + + + OCL2.0 + bound = + if upperBound = null then Sequence{} + else if lowerBound = null then Sequence{upperBound} + else Sequence{lowerBound, upperBound} + endif endif + + + + + <p>The <code>lowerBound</code> (if any) and <code>upperBound</code> <code>Expressions</code> must be the first <code>ownedMembers</code> of a <code>MultiplicityRange</code>.</p> + + + OCL2.0 + if lowerBound = null then + ownedMember->notEmpty() and + ownedMember->at(1) = upperBound + else + ownedMember->size() > 1 and + ownedMember->at(1) = lowerBound and + ownedMember->at(2) = upperBound + endif + + + + + + <p>The <code>Expression</code> whose result provides the lower bound of the <code>MultiplicityRange</code>. If no <code>lowerBound</code> <code>Expression</code> is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (<code>*</code>), in which case the lower bound shall be 0.</p> + + + + + + + + <p>The <code>Expression</code> whose result is the upper bound of the <code>MultiplicityRange</code>.</p> + + + + + + + <p>The owned <code>Expressions</code> of the <code>MultiplicityRange</code> whose results provide its bounds. These must be the first <code>ownedMembers</code> of the <code>MultiplicityRange</code>.</p> + + + + + + + <p>Check whether this <code>MultiplicityRange</code> represents the range bounded by the given values <code>lower</code> and <code>upper</code>, presuming the <code>lowerBound</code> and <code>upperBound</code> <code>Expressions</code> are model-level evaluable.</p> + + + + OCL2.0 + valueOf(upperBound) = upper and + let lowerValue: UnlimitedNatural = valueOf(lowerBound) in + (lowerValue = lower or + lowerValue = null and + (lower = upper or + lower = 0 and upper = *)) + + + + + + + + + + + + + + + + <p>Evaluate the given <code>bound</code> <code>Expression</code> (at model level) and return the result represented as a MOF <code>UnlimitedNatural</code> value.</p> + + + + OCL2.0 + if bound = null or not bound.isModelLevelEvaluable then + null + else + let boundEval: Sequence(Element) = bound.evaluate(owningType) in + if boundEval->size() <> 1 then null else + let valueEval: Element = boundEval->at(1) in + if valueEval.oclIsKindOf(LiteralInfinity) then * + else if valueEval.oclIsKindOf(LiteralInteger) then + let value : Integer = + valueEval.oclAsKindOf(LiteralInteger).value in + if value >= 0 then value else null endif + else null + endif endif + endif + endif + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <p>A <code>Step</code> is a <code>Feature</code> that is typed by one or more <code>Behaviors</code>. <code>Steps</code> may be used by one <code>Behavior</code> to coordinate the performance of other <code>Behaviors</code>, supporting a steady refinement of behavioral descriptions. <code>Steps</code> can be ordered in time and can be connected using <code>Flows</code> to specify things flowing between their <code>parameters</code>.</p> + + + + + <p>A <code>Step</code> must directly or indirectly specialize the base <code>Step</code> <code><em>Performances::performances</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Performances::performances') + + + + + <p>A<code>Step</code> whose <code>owningType</code> is a <code>Behavior</code> or another <code>Step</code> must directly or indirectly specialize the <code>Step</code> <code><em>Performances::Performance::enclosedPerformance</em></code>.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step)) implies + specializesFromLibrary('Performances::Performance::enclosedPerformance') + + + + + <p>A composite <code>Step</code> whose <code>owningType</code> is a <code>Structure</code> or a <code>Feature</code> typed by a <code>Structure</code> must directly or indirectly specialize the <code>Step</code> <code><em>Objects::Object::ownedPerformance</em></code>.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(Structure) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKindOf(Structure)) implies + specializesFromLibrary('Objects::Object::ownedPerformance') + + + + + <p>A<code>Step</code> whose <code>owningType</code> is a <code>Behavior</code> or another <code>Step</code>, and which is composite, must directly or indirectly specialize the <code>Step</code> <code><em>Performances::Performance::subperformance</em></code>.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(Behavior) or + owningType.oclIsKindOf(Step)) and + self.isComposite implies + specializesFromLibrary('Performances::Performance::subperformance') + + + + + <p>The <code>behaviors</code> of a <code>Step</code> are all its <code>types</code> that are <code>Behaviors</code>.</p> + + + OCL2.0 + behavior = type->selectByKind(Behavior) + + + + + + <p>The <code>Behaviors</code> that type this <code>Step</code>.</p> + + + + + + + + <p>The <code>parameters</code> of this <code>Step</code>, which are defined as its <code>directedFeatures</code>, whose values are passed into and/or out of a performance of the <code>Step</code>.</p> + + + + + + + + + <p>A <code>Behavior </code>coordinates occurrences of other <code>Behaviors</code>, as well as changes in objects. <code>Behaviors</code> can be decomposed into <code>Steps</code> and be characterized by <code>parameters</code>.</p> + + + + + <p>A <code>Behavior</code> must not specialize a <code>Structure</code>.</p> + + + OCL2.0 + ownedSpecialization.general->forAll(not oclIsKindOf(Structure)) + + + + + <p>A <code>Behavior</code> must directly or indirectly specialize the base <code>Behavior</code> <code><em>Performances::Performance</em></code> from the Kernel Semantic Library.</p> + + + English + specializesFromLibrary('Performances::Performance') + + + + + <p>The <code>steps</code> of a <code>Behavior</code> are its <code>features</code> that are <code>Steps</code>.</p> + + + OCL2.0 + step = feature->selectByKind(Step) + + + + + + <p>The <code>Steps</code> that make up this <code>Behavior</code>.</p> + + + + + + + + <p>The parameters of this <code>Behavior</code>, which are defined as its <code>directedFeatures</code>, whose values are passed into and/or out of a performance of the <code>Behavior</code>.</p> + + + + + + + + + + + + + + + + + + + + + <p>A <code>ParameterMembership</code> is a <code>FeatureMembership</code> that identifies its <code>memberFeature</code> as a parameter, which is always owned, and must have a <code>direction</code>. A <code>ParameterMembership</code> must be owned by a <code>Behavior</code>, a <code>Step</code>, or the <code>result</code> parameter of a <code>ConstructorExpression</code>.</p> + + + + <p>The <code>ownedMemberParameter</code> of a <code>ParameterMembership</code> must have a <code>direction</code> equal to the result of the <code>parameterDirection()</code> operation.</p> + + + OCL2.0 + ownedMemberParameter.direction = parameterDirection() + + + + + <p>A <code>ParameterMembership</code> must be owned by a <code>Behavior</code>,<code>Step</code>, or the <code>result</code> parameter of a <code>ConstructorExpression</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(Behavior) or owningType.oclIsKindOf(Step) or + owningType.owningMembership.oclIsKindOf(ReturnParameterMembership) and + owningType.owningNamespace.oclIsKindOf(ConstructorExpression) + + + + + + <p>The <code>Feature</code> that is identified as a <code>parameter</code> by this <code>ParameterMembership</code>.</p> + + + + + + + + <p>Return the required value of the <code>direction</code> of the <code>ownedMemberParameter</code>. By default, this is <code>in</code>.</p> + + + + OCL2.0 + FeatureDirectionKind::_'in' + + + + + + + + + + + + + + + + + + + + + + + + + + <p>A <code>Metaclass</code> is a <code>Structure</code> used to type <code>MetadataFeatures</code>.</p> + + + + <p>A <code>Metaclass</code> must directly or indirectly specialize the base <code>Metaclass</code> <code><em>Metaobjects::Metaobject</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Metaobjects::Metaobject') + + + + + + + <p>A <code>MetadataFeature</code> is a <code>Feature</code> that is an <code>AnnotatingElement</code> used to annotate another <code>Element</code> with metadata. It is typed by a <code>Metaclass</code>. All its <code>ownedFeatures</code> must redefine <code>features</code> of its <code>metaclass</code> and any feature bindings must be model-level evaluable.</p> - - - - - <p>A <code>MetadataFeature</code> must have exactly one <code>type</code> that is a <code>Metaclass</code>.</p> - - - OCL2.0 - type->selectByKind(Metaclass).size() = 1 - - - - - <p>The <code>metaclass</code> of a <code>MetadataFeature</code> must not be abstract.</p> - - - OCL2.0 - not metaclass.isAbstract - - - - - <p>A <code>MetadataFeature</code> must directly or indirectly specialize the base <code>MetadataFeature</code> <code><em>Metaobjects::metaobjects</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Metaobjects::metaobjects') - - - - - <p>Each <code>ownedFeature</code> of a <code>MetadataFeature</code> must have no declared name, redefine a single <code>Feature</code>, either have no <code>featureValue</code> or a <code>featureValue</code> with a <code>value</code> <code>Expression</code> that is model-level evaluable, and only have <code>ownedFeatures</code> that also meet these restrictions.</p> - - - OCL2.0 - ownedFeature->closure(ownedFeature)->forAll(f | - f.declaredName = null and f.declaredShortName = null and - f.valuation <> null implies f.valuation.value.isModelLevelEvaluable and - f.redefinition.redefinedFeature->size() = 1) - - - - - <p>The <code>metaclass</code> of a <code>MetadataFeature</code> is one of its <code>types</code> that is a <code>Metaclass</code>. - - - OCL2.0 - metaclass = - let metaclassTypes : Sequence(Type) = type->selectByKind(Metaclass) in - if metaclassTypes->isEmpty() then null - else metaClassTypes->first() - endif - - - - - <p>The <code>annotatedElements</code> of a <code>MetadataFeature</code> must have an abstract syntax metaclass consistent with the <code>annotatedElement</code> declarations for the <code>MetadataFeature</code>.</p> - - - OCL2.0 - let baseAnnotatedElementFeature : Feature = - resolveGlobal('Metaobjects::Metaobject::annotatedElement').memberElement. - oclAsType(Feature) in -let annotatedElementFeatures : OrderedSet(Feature) = feature-> - select(specializes(baseAnnotatedElementFeature))-> - excluding(baseAnnotatedElementFeature) in -annotatedElementFeatures->notEmpty() implies - let annotatedElementTypes : Set(Feature) = - annotatedElementFeatures.typing.type->asSet() in - let metaclasses : Set(Metaclass) = - annotatedElement.oclType().qualifiedName->collect(qn | - resolveGlobal(qn).memberElement.oclAsType(Metaclass)) in - metaclasses->forAll(m | annotatedElementTypes->exists(t | m.specializes(t))) - - - - - <p>If this <code>MetadataFeature</code> is an application of <code><em>SemanticMetadata</em></code>, then its <code>annotatingElement</code> must be a <code>Type</code>. The annotated <code>Type</code> must then directly or indirectly specialize the specified value of the <code><em>baseType</em></code>, <em>unless</em> the <code>Type</code> is a <code>Classifier</code> and the <code><em>baseType</em></code> represents a kind of <code>Feature</code>, in which case the <code>Classifier</code> must directly or indirectly specialize each of the <code>types</code> of the <code>Feature</code>.</p> - - - OCL2.0 - isSemantic() implies - let annotatedTypes : Sequence(Type) = - annotatedElement->selectAsKind(Type) in - let baseTypes : Sequence(MetadataFeature) = - evaluateFeature(resolveGlobal( - 'Metaobjects::SemanticMetadata::baseType'). - memberElement. - oclAsType(Feature))-> - selectAsKind(MetadataFeature) in - annotatedTypes->notEmpty() and - baseTypes()->notEmpty() and - baseTypes()->first().isSyntactic() implies - let annotatedType : Type = annotatedTypes->first() in - let baseType : Element = baseTypes->first().syntaxElement() in - if annotatedType.oclIsKindOf(Classifier) and - baseType.oclIsKindOf(Feature) then - baseType.oclAsType(Feature).type-> - forAll(t | annotatedType.specializes(t)) - else if baseType.oclIsKindOf(Type) then - annotatedType.specializes(baseType.oclAsType(Type)) - else - true - endif - - - - - - - <p>The <code>type</code> of this <code>MetadataFeature</code>, which must be a <code>Metaclass</code>.</p> - - - - - - - <p>If the given <code>baseFeature</code> is a <code>feature</code> of this <code>MetadataFeature</code>, or is directly or indirectly redefined by a <code>feature</code>, then return the result of evaluating the appropriate (model-level evaluable) <code>value</code> <code>Expression</code> for it (if any), with the <code>MetadataFeature</code> as the target.</p> - - - - OCL2.0 - let selectedFeatures : Sequence(Feature) = feature-> - select(closure(ownedRedefinition.redefinedFeature)-> - includes(baseFeature)) in -if selectedFeatures->isEmpty() then null -else - let selectedFeature : Feature = selectedFeatures->first() in - let featureValues : FeatureValue = selectedFeature-> - closure(ownedRedefinition.redefinedFeature).ownedMember-> - selectAsKind(FeatureValue) in - if featureValues->isEmpty() then null - else featureValues->first().value.evaluate(self) - endif - - - - - - - - - - - <p>Check if this <code>MetadataFeature</code> has a <code>metaclass</code> which is a kind of <code><em>SemanticMetadata</code>.<p> - - - - OCL2.0 - specializesFromLibrary('Metaobjects::SemanticMetadata') - - - - - - - - - <p>Check if this <code>MetadataFeature</code> has a <code>metaclass</code> that is a kind of <code><em>KerML::Element</em></code> (that is, it is from the reflective abstract syntax model).</p> - - - - OCL2.0 - specializesFromLibrary('KerML::Element') - - - - - - - - - <p>If this <code>MetadataFeature</code> reflectively represents a model element, then return the corresponding <code>Element</code> instance from the MOF abstract syntax representation of the model.</p> - - - - English - No OCL - - - - - OCL2.0 - isSyntactic() - - - - - - - - - - - - <p>The MetadataFeatures whose <code>type</code> is a certain Metaclass.</p> - - - - - - - - - - <p>A <code>DataType</code> is a <code>Classifier</code> of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same <code>DataType</code></p> + + + + + <p>A <code>MetadataFeature</code> must have exactly one <code>type</code> that is a <code>Metaclass</code>.</p> + + + OCL2.0 + type->selectByKind(Metaclass).size() = 1 + + + + + <p>The <code>metaclass</code> of a <code>MetadataFeature</code> must not be abstract.</p> + + + OCL2.0 + not metaclass.isAbstract + + + + + <p>A <code>MetadataFeature</code> must directly or indirectly specialize the base <code>MetadataFeature</code> <code><em>Metaobjects::metaobjects</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Metaobjects::metaobjects') + + + + + <p>Each <code>ownedFeature</code> of a <code>MetadataFeature</code> must have no declared name, redefine a single <code>Feature</code>, either have no <code>featureValue</code> or a <code>featureValue</code> with a <code>value</code> <code>Expression</code> that is model-level evaluable, and only have <code>ownedFeatures</code> that also meet these restrictions.</p> + + + OCL2.0 + ownedFeature->closure(ownedFeature)->forAll(f | + f.declaredName = null and f.declaredShortName = null and + f.valuation <> null implies f.valuation.value.isModelLevelEvaluable and + f.redefinition.redefinedFeature->size() = 1) + + + + + <p>The <code>metaclass</code> of a <code>MetadataFeature</code> is one of its <code>types</code> that is a <code>Metaclass</code>. + + + OCL2.0 + metaclass = + let metaclassTypes : Sequence(Type) = type->selectByKind(Metaclass) in + if metaclassTypes->isEmpty() then null + else metaClassTypes->first() + endif + + + + + <p>The <code>annotatedElements</code> of a <code>MetadataFeature</code> must have an abstract syntax metaclass consistent with the <code>annotatedElement</code> declarations for the <code>MetadataFeature</code>.</p> + + + OCL2.0 + let baseAnnotatedElementFeature : Feature = + resolveGlobal('Metaobjects::Metaobject::annotatedElement').memberElement. + oclAsType(Feature) in + let annotatedElementFeatures : OrderedSet(Feature) = feature-> + select(specializes(baseAnnotatedElementFeature))-> + excluding(baseAnnotatedElementFeature) in + annotatedElementFeatures->notEmpty() implies + let annotatedElementTypes : Set(Feature) = + annotatedElementFeatures.typing.type->asSet() in + let metaclasses : Set(Metaclass) = + annotatedElement.oclType().qualifiedName->collect(qn | + resolveGlobal(qn).memberElement.oclAsType(Metaclass)) in + metaclasses->forAll(m | annotatedElementTypes->exists(t | m.specializes(t))) + + + + + <p>If this <code>MetadataFeature</code> is an application of <code><em>SemanticMetadata</em></code>, then its <code>annotatingElement</code> must be a <code>Type</code>. The annotated <code>Type</code> must then directly or indirectly specialize the specified value of the <code><em>baseType</em></code>, <em>unless</em> the <code>Type</code> is a <code>Classifier</code> and the <code><em>baseType</em></code> represents a kind of <code>Feature</code>, in which case the <code>Classifier</code> must directly or indirectly specialize each of the <code>types</code> of the <code>Feature</code>.</p> + + + OCL2.0 + isSemantic() implies + let annotatedTypes : Sequence(Type) = + annotatedElement->selectAsKind(Type) in + let baseTypes : Sequence(MetadataFeature) = + evaluateFeature(resolveGlobal( + 'Metaobjects::SemanticMetadata::baseType'). + memberElement. + oclAsType(Feature))-> + selectAsKind(MetadataFeature) in + annotatedTypes->notEmpty() and + baseTypes()->notEmpty() and + baseTypes()->first().isSyntactic() implies + let annotatedType : Type = annotatedTypes->first() in + let baseType : Element = baseTypes->first().syntaxElement() in + if annotatedType.oclIsKindOf(Classifier) and + baseType.oclIsKindOf(Feature) then + baseType.oclAsType(Feature).type-> + forAll(t | annotatedType.specializes(t)) + else if baseType.oclIsKindOf(Type) then + annotatedType.specializes(baseType.oclAsType(Type)) + else + true + endif + + + + + + + <p>The <code>type</code> of this <code>MetadataFeature</code>, which must be a <code>Metaclass</code>.</p> + + + + + + + <p>If the given <code>baseFeature</code> is a <code>feature</code> of this <code>MetadataFeature</code>, or is directly or indirectly redefined by a <code>feature</code>, then return the result of evaluating the appropriate (model-level evaluable) <code>value</code> <code>Expression</code> for it (if any), with the <code>MetadataFeature</code> as the target.</p> + + + + OCL2.0 + let selectedFeatures : Sequence(Feature) = feature-> + select(closure(ownedRedefinition.redefinedFeature)-> + includes(baseFeature)) in + if selectedFeatures->isEmpty() then null + else + let selectedFeature : Feature = selectedFeatures->first() in + let featureValues : FeatureValue = selectedFeature-> + closure(ownedRedefinition.redefinedFeature).ownedMember-> + selectAsKind(FeatureValue) in + if featureValues->isEmpty() then null + else featureValues->first().value.evaluate(self) + endif + + + + + + + + + + + <p>Check if this <code>MetadataFeature</code> has a <code>metaclass</code> which is a kind of <code><em>SemanticMetadata</code>.<p> + + + + OCL2.0 + specializesFromLibrary('Metaobjects::SemanticMetadata') + + + + + + + + + <p>Check if this <code>MetadataFeature</code> has a <code>metaclass</code> that is a kind of <code><em>KerML::Element</em></code> (that is, it is from the reflective abstract syntax model).</p> + + + + OCL2.0 + specializesFromLibrary('KerML::Element') + + + + + + + + + <p>If this <code>MetadataFeature</code> reflectively represents a model element, then return the corresponding <code>Element</code> instance from the MOF abstract syntax representation of the model.</p> + + + + English + No OCL + + + + + OCL2.0 + isSyntactic() + + + + + + + + + + + + <p>The MetadataFeatures whose <code>type</code> is a certain Metaclass.</p> + + + + + + + + + + <p>A <code>DataType</code> is a <code>Classifier</code> of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same <code>DataType</code></p> -<ul> - <li>Cannot be distinguished when they are related to other things in exactly the same way, even when they are intended to be about different things.</li> - <li>Can be distinguished when they are related to other things in different ways, even when they are intended to be about the same thing.</li> -</ul> - - - - - <p>A <code>DataType</code> must not specialize a <code>Class</code> or an <code>Association</code>.</p> - - - OCL2.0 - ownedSpecialization.general-> - forAll(not oclIsKindOf(Class) and - not oclIsKindOf(Association)) - - - - - <p>A <code>DataType</code> must directly or indirectly specialize the base <code>DataType</code> <code><em>Base::DataValue</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::DataValue') - - - - - - - - - <p>An <code>AssociationStructure</code> is an <code>Association</code> that is also a <code>Structure</code>, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end <code>Features</code> can change over time. However, the values of the end <code>Features</code> of a link object are fixed and cannot change over its lifetime.</p> - - - - <p>An <code>AssociationStructure</code> must directly or indirectly specialize the base <code>AssociationStructure</code> <code><em>Objects::LinkObject</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Objects::LinkObject') - - - - - <p>A binary <code>AssociationStructure</code> must directly or indirectly specialize the base <code>AssociationStructure</code> <code><em>Objects::BinaryLinkObject</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - endFeature->size() = 2 implies - specializesFromLibrary('Objects::BinaryLinkObject') - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>An <code>Association</code> is a <code>Relationship</code> and a <code>Classifier</code> to enable classification of links between things (in the universe). The co-domains (<code>types</code>) of the <code>associationEnd</code> <code>Features</code> are the <code>relatedTypes</code>, as co-domain and participants (linked things) of an <code>Association</code> identify each other.</p> - - - - - <p>The <code>relatedTypes</code> of an <code>Association</code> are the <code>types</code> of its <code>associationEnds</code>.</p> - - - OCL2.0 - relatedType = associationEnd.type - - - - - <p>An <code>Association</code> must directly or indirectly specialize the base <code>Association</code> <code><em>Links::Link</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Links::Link') - - - - - <p>If an <code>Association</code> is also a kind of <code>Structure</code>, then it must be an <code>AssociationStructure</code>.</p> - - - English - oclIsKindOf(Structure) = oclIsKindOf(AssociationStructure) - - - - - <p>A binary <code>Association</code> must directly or indirectly specialize the base <code>Association</code> <code><em>Links::binaryLink</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - associationEnd->size() = 2 implies - specializesFromLibrary('Links::BinaryLink') - - - - - <p>If an <code>Association</code> is concrete (not abstract), then it must have at least two <code>relatedTypes</code>.</p> - - - OCL2.0 - not isAbstract implies relatedType->size() >= 2 - - - - - <p>If an <code>Association</code> has more than two <code>associationEnds</code>, then it must <em>not</em> specialize, directly or indirectly, the <code>Association</code> <em><code>BinaryLink</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - associationEnds->size() > 2 implies - not specializesFromLibrary('Links::BinaryLink') - - - - - <p>The <code>sourceType</code> of an <code>Association</code> is its first <code>relatedType</code> (if any).</p> - - - OCL2.0 - sourceType = - if relatedType->isEmpty() then null - else relatedType->first() endif - - - - - OCL2.0 - targetType = - if relatedType->size() < 2 then OrderedSet{} - else - relatedType-> - subSequence(2, relatedType->size())-> - asOrderedSet() - endif - - - - - <p>The <code>ownedEndFeatures</code> of an <code>Association</code> must have exactly one <code>type</code></p>. - - - OCL2.0 - ownedEndFeature->forAll(type->size() = 1) - - - - - - - <p>The <code>types</code> of the <code>associationEnds</code> of the <code>Association</code>, which are the <code>relatedElements</code> of the <code>Association</code> considered as a <code>Relationship</code>.</p> - - - - - - - - <p>The source <code>relatedType</code> for this <code>Association</code>. It is the first <code>relatedType</code> of the <code>Association</code>.</p> - - - - - - - - <p>The target <code>relatedTypes</code> for this <code>Association</code>. This includes all the <code>relatedTypes</code> other than the <code>sourceType</code>.</p> - - - - - - - - <p>The <code>features</code> of the <code>Association</code> that identify the things that can be related by it. A concrete <code>Association</code> must have at least two <code>associationEnds</code>. When it has exactly two, the <code>Association</code> is called a <em>binary</em> <code>Association</code>.</p> - - - - - - - - - - - - <p>The (at most one) <code>ownedMembership</code> of this Feature that is the FeatureValue that provides the value of the Feature.</p> - - - - - - - - - <p>The FeatureValue that owns the <code>value</code> Expression.</p> - - - - - - - - <p>A <code>FeatureValue</code> is a <code>Membership</code> that identifies a particular member <code>Expression</code> that provides the value of the <code>Feature</code> that owns the <code>FeatureValue</code>. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A <code>Feature</code> can have at most one <code>FeatureValue</code>.</p> + <ul> + <li>Cannot be distinguished when they are related to other things in exactly the same way, even when they are intended to be about different things.</li> + <li>Can be distinguished when they are related to other things in different ways, even when they are intended to be about the same thing.</li> + </ul> + + + + + <p>A <code>DataType</code> must not specialize a <code>Class</code> or an <code>Association</code>.</p> + + + OCL2.0 + ownedSpecialization.general-> + forAll(not oclIsKindOf(Class) and + not oclIsKindOf(Association)) + + + + + <p>A <code>DataType</code> must directly or indirectly specialize the base <code>DataType</code> <code><em>Base::DataValue</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Base::DataValue') + + + + + + + + + <p>An <code>AssociationStructure</code> is an <code>Association</code> that is also a <code>Structure</code>, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end <code>Features</code> can change over time. However, the values of the end <code>Features</code> of a link object are fixed and cannot change over its lifetime.</p> + + + + <p>An <code>AssociationStructure</code> must directly or indirectly specialize the base <code>AssociationStructure</code> <code><em>Objects::LinkObject</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Objects::LinkObject') + + + + + <p>A binary <code>AssociationStructure</code> must directly or indirectly specialize the base <code>AssociationStructure</code> <code><em>Objects::BinaryLinkObject</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + endFeature->size() = 2 implies + specializesFromLibrary('Objects::BinaryLinkObject') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <p>An <code>Association</code> is a <code>Relationship</code> and a <code>Classifier</code> to enable classification of links between things (in the universe). The co-domains (<code>types</code>) of the <code>associationEnd</code> <code>Features</code> are the <code>relatedTypes</code>, as co-domain and participants (linked things) of an <code>Association</code> identify each other.</p> + + + + + <p>The <code>relatedTypes</code> of an <code>Association</code> are the <code>types</code> of its <code>associationEnds</code>.</p> + + + OCL2.0 + relatedType = associationEnd.type + + + + + <p>An <code>Association</code> must directly or indirectly specialize the base <code>Association</code> <code><em>Links::Link</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Links::Link') + + + + + <p>If an <code>Association</code> is also a kind of <code>Structure</code>, then it must be an <code>AssociationStructure</code>.</p> + + + English + oclIsKindOf(Structure) = oclIsKindOf(AssociationStructure) + + + + + <p>A binary <code>Association</code> must directly or indirectly specialize the base <code>Association</code> <code><em>Links::binaryLink</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + associationEnd->size() = 2 implies + specializesFromLibrary('Links::BinaryLink') + + + + + <p>If an <code>Association</code> is concrete (not abstract), then it must have at least two <code>relatedTypes</code>.</p> + + + OCL2.0 + not isAbstract implies relatedType->size() >= 2 + + + + + <p>If an <code>Association</code> has more than two <code>associationEnds</code>, then it must <em>not</em> specialize, directly or indirectly, the <code>Association</code> <em><code>BinaryLink</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + associationEnds->size() > 2 implies + not specializesFromLibrary('Links::BinaryLink') + + + + + <p>The <code>sourceType</code> of an <code>Association</code> is its first <code>relatedType</code> (if any).</p> + + + OCL2.0 + sourceType = + if relatedType->isEmpty() then null + else relatedType->first() endif + + + + + OCL2.0 + targetType = + if relatedType->size() < 2 then OrderedSet{} + else + relatedType-> + subSequence(2, relatedType->size())-> + asOrderedSet() + endif + + + + + <p>The <code>ownedEndFeatures</code> of an <code>Association</code> must have exactly one <code>type</code></p>. + + + OCL2.0 + ownedEndFeature->forAll(type->size() = 1) + + + + + + + <p>The <code>types</code> of the <code>associationEnds</code> of the <code>Association</code>, which are the <code>relatedElements</code> of the <code>Association</code> considered as a <code>Relationship</code>.</p> + + + + + + + + <p>The source <code>relatedType</code> for this <code>Association</code>. It is the first <code>relatedType</code> of the <code>Association</code>.</p> + + + + + + + + <p>The target <code>relatedTypes</code> for this <code>Association</code>. This includes all the <code>relatedTypes</code> other than the <code>sourceType</code>.</p> + + + + + + + + <p>The <code>features</code> of the <code>Association</code> that identify the things that can be related by it. A concrete <code>Association</code> must have at least two <code>associationEnds</code>. When it has exactly two, the <code>Association</code> is called a <em>binary</em> <code>Association</code>.</p> + + + + + + + + + + + + <p>The (at most one) <code>ownedMembership</code> of this Feature that is the FeatureValue that provides the value of the Feature.</p> + + + + + + + + + <p>The FeatureValue that owns the <code>value</code> Expression.</p> + + + + + + + + <p>A <code>FeatureValue</code> is a <code>Membership</code> that identifies a particular member <code>Expression</code> that provides the value of the <code>Feature</code> that owns the <code>FeatureValue</code>. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A <code>Feature</code> can have at most one <code>FeatureValue</code>.</p> -<p>The result of the <code>value</code> <code>Expression</code> is bound to the <code>featureWithValue</code> using a <code>BindingConnector</code>. If <code>isInitial = false</code>, then the <code>featuringType</code> of the <code>BindingConnector</code> is the same as the <code>featuringType</code> of the <code>featureWithValue</code>. If <code>isInitial = true</code>, then the <code>featuringType</code> of the <code>BindingConnector</code> is restricted to its <code>startShot</code>. + <p>The result of the <code>value</code> <code>Expression</code> is bound to the <code>featureWithValue</code> using a <code>BindingConnector</code>. If <code>isInitial = false</code>, then the <code>featuringType</code> of the <code>BindingConnector</code> is the same as the <code>featuringType</code> of the <code>featureWithValue</code>. If <code>isInitial = true</code>, then the <code>featuringType</code> of the <code>BindingConnector</code> is restricted to its <code>startShot</code>. -<p>If <code>isDefault = false</code>, then the above semantics of the <code>FeatureValue</code> are realized for the given <code>featureWithValue</code>. Otherwise, the semantics are realized for any individual of the <code>featuringType</code> of the <code>featureWithValue</code>, unless another value is explicitly given for the <code>featureWithValue</code> for that individual.</p> - - - - - <p>If <code>isDefault = false</code>, then the <code>featureWithValue</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> whose <code>relatedElements</code> are the <code>featureWithValue</code> and a feature chain consisting of the <code>value</code> <code>Expression</code> and its <code>result</code>. If <code>isInitial = false</code>, then this <code>BindingConnector</code> must have <code>featuringTypes</code> that are the same as those of the <code>featureWithValue</code>. If <code>isInitial = true</code>, then the <code>BindingConnector</code> must have <code><em>that.startShot</em><code> as its <code>featuringType</code>.</p> - - - OCL2.0 - not isDefault implies - featureWithValue.ownedMember-> - selectByKind(BindingConnector)->exists(b | - b.relatedFeature->includes(featureWithValue) and - b.relatedFeature->exists(f | - f.chainingFeature = Sequence{value, value.result}) and - if not isInitial then - b.featuringType = featureWithValue.featuringType - else - b.featuringType->exists(t | - t.oclIsKindOf(Feature) and - t.oclAsType(Feature).chainingFeature = - Sequence{ + <p>If <code>isDefault = false</code>, then the above semantics of the <code>FeatureValue</code> are realized for the given <code>featureWithValue</code>. Otherwise, the semantics are realized for any individual of the <code>featuringType</code> of the <code>featureWithValue</code>, unless another value is explicitly given for the <code>featureWithValue</code> for that individual.</p> + + + + + <p>If <code>isDefault = false</code>, then the <code>featureWithValue</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> whose <code>relatedElements</code> are the <code>featureWithValue</code> and a feature chain consisting of the <code>value</code> <code>Expression</code> and its <code>result</code>. If <code>isInitial = false</code>, then this <code>BindingConnector</code> must have <code>featuringTypes</code> that are the same as those of the <code>featureWithValue</code>. If <code>isInitial = true</code>, then the <code>BindingConnector</code> must have <code><em>that.startShot</em><code> as its <code>featuringType</code>.</p> + + + OCL2.0 + not isDefault implies + featureWithValue.ownedMember-> + selectByKind(BindingConnector)->exists(b | + b.relatedFeature->includes(featureWithValue) and + b.relatedFeature->exists(f | + f.chainingFeature = Sequence{value, value.result}) and + if not isInitial then + b.featuringType = featureWithValue.featuringType + else + b.featuringType->exists(t | + t.oclIsKindOf(Feature) and + t.oclAsType(Feature).chainingFeature = + Sequence{ resolveGlobal('Base::things::that'). - memberElement, + memberElement, resolveGlobal('Occurrences::Occurrence::startShot'). - memberElement - } - ) - endif) - - - - - <p>All <code>Features</code> directly or indirectly redefined by the <code>featureWithValue</code> of a <code>FeatureValue</code> must have only default <code>FeatureValues</code>.</p> - - - OCL2.0 - featureWithValue.redefinition.redefinedFeature-> - closure(redefinition.redefinedFeature).valuation-> - forAll(isDefault) - - - - - <p>If a <code>FeatureValue</code> has <code>isInitial = true</code>, then its <code>featureWithValue</code> must have <code>isVariable = true</code>.</p> - - - OCL2.0 - isInitial implies featureWithValue.isVariable - - - - - - <p>The Feature to be provided a value.</p> - - - <p>The <code>Feature</code> to be provided a value.</p> - - - - - - - - <p>The Expression that provides the value as a result.</p> - - - <p>The <code>Expression</code> that provides the value of the <code>featureWithValue</code> as its <code>result</code>.</p> - - - - - - - - <p>Whether this <code>FeatureValue</code> specifies a bound value or an initial value for the <code>featureWithValue</code>.</p> - - - - - - - <p>Whether this <code>FeatureValue</code> is a concrete specification of the bound or initial value of the <code>featureWithValue</code>, or just a default value that may be overridden.</p> - - - - - - - - - - <p>A <code>Connector</code> is a usage of <code>Associations</code>, with links restricted according to instances of the <code>Type</code> in which they are used (domain of the <code>Connector</code>). The <code>associations</code> of the <code>Connector</code> restrict what kinds of things might be linked. The <code>Connector</code> further restricts these links to be between values of <code>Features</code> on instances of its domain.</p> - - - - - <p>The <code>relatedFeatures</code> of a <code>Connector</code> are the referenced <code>Features</code> of its <code>connectorEnds</code>.</p> - - - OCL2.0 - relatedFeature = connectorEnd.ownedReferenceSubsetting-> - select(s | s <> null).subsettedFeature - - - - - <p>Each <code>relatedFeature</code> of a <code>Connector</code> must have each <code>featuringType</code> of the <code>Connector</code> as a direct or indirect <code>featuringType</code> (where a <code>Feature</code> with no <code>featuringType</code> is treated as if the <code>Classifier</code> <code><em>Base::Anything</em></code> was its <code>featuringType</code>).</p> - - - OCL2.0 - relatedFeature->forAll(f | - if featuringType->isEmpty() then f.isFeaturedWithin(null) - else featuringType->forAll(t | f.isFeaturedWithin(t)) - endif) - - - - - <p>The <code>sourceFeature</code> of a <code>Connector</code> is its first <code>relatedFeature</code> (if any).</p> - - - OCL2.0 - sourceFeature = - if relatedFeature->isEmpty() then null - else relatedFeature->first() - endif - - - - - <p>The <code>targetFeatures</code> of a <code>Connector</code> are the <code>relatedFeatures</code> other than the <code>sourceFeature</code>.</p> - - - OCL2.0 - targetFeature = - if relatedFeature->size() < 2 then OrderedSet{} - else - relatedFeature-> - subSequence(2, relatedFeature->size())-> - asOrderedSet() - endif - - - - - <p>If a <code>Connector</code> is concrete (not abstract), then it must have at least two <code>relatedFeatures</code>.</p> - - - OCL2.0 - not isAbstract implies relatedFeature->size() >= 2 - - - - - <p>A <code>Connector</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Links::links</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Links::links') - - - - - <p>A <code>Connector</code> for an <code>AssociationStructure</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Objects::linkObjects</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - association->exists(oclIsKindOf(AssociationStructure)) implies - specializesFromLibrary('Objects::linkObjects') - - - - - <p>A binary <code>Connector</code> for an <code>AssociationStructure</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Objects::binaryLinkObjects</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - connectorEnds->size() = 2 and -association->exists(oclIsKindOf(AssociationStructure)) implies - specializesFromLibrary('Objects::binaryLinkObjects') - - - - - <p>A binary <code>Connector</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Links::binaryLinks</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - connectorEnd->size() = 2 implies - specializesFromLibrary('Links::binaryLinks') - - - - - <p>If a <code>Connector</code> has more than two <code>connectorEnds</code>, then it must <em>not</em> specialize, directly or indirectly, the <code>Association</code> <em><code>BinaryLink</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - connectorEnds->size() > 2 implies - not specializesFromLibrary('Links::BinaryLink') - - - - - <p>The <code>defaultFeaturingType</code> of a <code>Connector</code> is the innermost common direct or indirect <code>featuringType</code> of the <code>relatedFeatures</code> of the <code>Connector</code>, so that each <code>relatedElement</code> is featured within the <code>defaultFeaturingType</code>, if such exists.</p> - - - OCL2.0 - let commonFeaturingTypes : OrderedSet(Type) = - relatedFeature->closure(featuringType)->select(t | - relatedFeature->forAll(f | f.isFeaturedWithin(t)) - ) in -let nearestCommonFeaturingTypes : OrderedSet(Type) = - commonFeaturingTypes->reject(t1 | - commonFeaturingTypes->exists(t2 | - t2 <> t1 and t2->closure(featuringType)->contains(t1) - )) in -if nearestCommonFeaturingTypes->isEmpty() then null -else nearestCommonFeaturingTypes->first() -endif - - - - - - - <p>The <code>Features</code> that are related by this <code>Connector</code> considered as a <code>Relationship</code> and that restrict the links it identifies, given by the referenced <code>Features</code> of the <code>connectorEnds</code> of the <code>Connector</code>.</p> - - - - - - - - <p>The <code>Associations</code> that type the <code>Connector</code>.</p> - - - - - - - - <p>The <code>endFeatures</code> of a <code>Connector</code>, which redefine the <code>endFeatures</code> of the <code>associations</code> of the <code>Connector</code>. The <code>connectorEnds</code> determine via <code>ReferenceSubsetting</code> <code>Relationships</code> which <code>Features</code> are related by the <code>Connector</code>.</p> - - - - - - - <p>The source <code>relatedFeature</code> for this <code>Connector</code>. It is the first <code>relatedFeature</code>.</p> - - - - - - - <p>The target <code>relatedFeatures</code> for this <code>Connector</code>. This includes all the <code>relatedFeatures</code> other than the <code>sourceFeature</code>.</p> - - - - - - - <p>The innermost <code>Type</code> that is a common direct or indirect <code>featuringType</code> of the <code>relatedFeatures</code>, such that, if it exists and was the <code>featuringType</code> of this <code>Connector</code>, the <code>Connector</code> would satisfy the <code>checkConnectorTypeFeaturing</code> constraint.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>BindingConnector</code> is a binary <code>Connector</code> that requires its <code>relatedFeatures</code> to identify the same things (have the same values).</p> - - - - - <p>A <code>BindingConnector</code> must be binary.</p> - - - OCL2.0 - relatedFeature->size() = 2 - - - - - <p>A <code>BindingConnector</code> must directly or indirectly specialize the base <code>BindingConnector</code> <code><em>Links::selfLinks</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Links::selfLinks') - - - - - - - - - - - - - <p>A <code>Succession</code> is a binary <code>Connector</code> that requires its <code>relatedFeatures</code> to happen separately in time.</p> - - - - - <p>A <code>Succession</code> must directly or indirectly specialize the Feature <code><em>Occurrences::happensBeforeLinks</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Occurrences::happensBeforeLinks') - - - - - - - - - - - - - - - - - - - - <p>A <code>Connector</code> with a certain <code>defaultFeaturingType</code>.</p> - - - - - + memberElement + } + ) + endif) + + + + + <p>All <code>Features</code> directly or indirectly redefined by the <code>featureWithValue</code> of a <code>FeatureValue</code> must have only default <code>FeatureValues</code>.</p> + + + OCL2.0 + featureWithValue.redefinition.redefinedFeature-> + closure(redefinition.redefinedFeature).valuation-> + forAll(isDefault) + + + + + <p>If a <code>FeatureValue</code> has <code>isInitial = true</code>, then its <code>featureWithValue</code> must have <code>isVariable = true</code>.</p> + + + OCL2.0 + isInitial implies featureWithValue.isVariable + + + + + + <p>The Feature to be provided a value.</p> + + + <p>The <code>Feature</code> to be provided a value.</p> + + + + + + + + <p>The Expression that provides the value as a result.</p> + + + <p>The <code>Expression</code> that provides the value of the <code>featureWithValue</code> as its <code>result</code>.</p> + + + + + + + + <p>Whether this <code>FeatureValue</code> specifies a bound value or an initial value for the <code>featureWithValue</code>.</p> + + + + + + + <p>Whether this <code>FeatureValue</code> is a concrete specification of the bound or initial value of the <code>featureWithValue</code>, or just a default value that may be overridden.</p> + + + + + + + + + + <p>A <code>Connector</code> is a usage of <code>Associations</code>, with links restricted according to instances of the <code>Type</code> in which they are used (domain of the <code>Connector</code>). The <code>associations</code> of the <code>Connector</code> restrict what kinds of things might be linked. The <code>Connector</code> further restricts these links to be between values of <code>Features</code> on instances of its domain.</p> + + + + + <p>The <code>relatedFeatures</code> of a <code>Connector</code> are the referenced <code>Features</code> of its <code>connectorEnds</code>.</p> + + + OCL2.0 + relatedFeature = connectorEnd.ownedReferenceSubsetting-> + select(s | s <> null).subsettedFeature + + + + + <p>Each <code>relatedFeature</code> of a <code>Connector</code> must have each <code>featuringType</code> of the <code>Connector</code> as a direct or indirect <code>featuringType</code> (where a <code>Feature</code> with no <code>featuringType</code> is treated as if the <code>Classifier</code> <code><em>Base::Anything</em></code> was its <code>featuringType</code>).</p> + + + OCL2.0 + relatedFeature->forAll(f | + if featuringType->isEmpty() then f.isFeaturedWithin(null) + else featuringType->forAll(t | f.isFeaturedWithin(t)) + endif) + + + + + <p>The <code>sourceFeature</code> of a <code>Connector</code> is its first <code>relatedFeature</code> (if any).</p> + + + OCL2.0 + sourceFeature = + if relatedFeature->isEmpty() then null + else relatedFeature->first() + endif + + + + + <p>The <code>targetFeatures</code> of a <code>Connector</code> are the <code>relatedFeatures</code> other than the <code>sourceFeature</code>.</p> + + + OCL2.0 + targetFeature = + if relatedFeature->size() < 2 then OrderedSet{} + else + relatedFeature-> + subSequence(2, relatedFeature->size())-> + asOrderedSet() + endif + + + + + <p>If a <code>Connector</code> is concrete (not abstract), then it must have at least two <code>relatedFeatures</code>.</p> + + + OCL2.0 + not isAbstract implies relatedFeature->size() >= 2 + + + + + <p>A <code>Connector</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Links::links</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Links::links') + + + + + <p>A <code>Connector</code> for an <code>AssociationStructure</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Objects::linkObjects</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + association->exists(oclIsKindOf(AssociationStructure)) implies + specializesFromLibrary('Objects::linkObjects') + + + + + <p>A binary <code>Connector</code> for an <code>AssociationStructure</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Objects::binaryLinkObjects</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + connectorEnds->size() = 2 and + association->exists(oclIsKindOf(AssociationStructure)) implies + specializesFromLibrary('Objects::binaryLinkObjects') + + + + + <p>A binary <code>Connector</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Links::binaryLinks</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + connectorEnd->size() = 2 implies + specializesFromLibrary('Links::binaryLinks') + + + + + <p>If a <code>Connector</code> has more than two <code>connectorEnds</code>, then it must <em>not</em> specialize, directly or indirectly, the <code>Association</code> <em><code>BinaryLink</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + connectorEnds->size() > 2 implies + not specializesFromLibrary('Links::BinaryLink') + + + + + <p>The <code>defaultFeaturingType</code> of a <code>Connector</code> is the innermost common direct or indirect <code>featuringType</code> of the <code>relatedFeatures</code> of the <code>Connector</code>, so that each <code>relatedElement</code> is featured within the <code>defaultFeaturingType</code>, if such exists.</p> + + + OCL2.0 + let commonFeaturingTypes : OrderedSet(Type) = + relatedFeature->closure(featuringType)->select(t | + relatedFeature->forAll(f | f.isFeaturedWithin(t)) + ) in + let nearestCommonFeaturingTypes : OrderedSet(Type) = + commonFeaturingTypes->reject(t1 | + commonFeaturingTypes->exists(t2 | + t2 <> t1 and t2->closure(featuringType)->contains(t1) + )) in + if nearestCommonFeaturingTypes->isEmpty() then null + else nearestCommonFeaturingTypes->first() + endif + + + + + + + <p>The <code>Features</code> that are related by this <code>Connector</code> considered as a <code>Relationship</code> and that restrict the links it identifies, given by the referenced <code>Features</code> of the <code>connectorEnds</code> of the <code>Connector</code>.</p> + + + + + + + + <p>The <code>Associations</code> that type the <code>Connector</code>.</p> + + + + + + + + <p>The <code>endFeatures</code> of a <code>Connector</code>, which redefine the <code>endFeatures</code> of the <code>associations</code> of the <code>Connector</code>. The <code>connectorEnds</code> determine via <code>ReferenceSubsetting</code> <code>Relationships</code> which <code>Features</code> are related by the <code>Connector</code>.</p> + + + + + + + <p>The source <code>relatedFeature</code> for this <code>Connector</code>. It is the first <code>relatedFeature</code>.</p> + + + + + + + <p>The target <code>relatedFeatures</code> for this <code>Connector</code>. This includes all the <code>relatedFeatures</code> other than the <code>sourceFeature</code>.</p> + + + + + + + <p>The innermost <code>Type</code> that is a common direct or indirect <code>featuringType</code> of the <code>relatedFeatures</code>, such that, if it exists and was the <code>featuringType</code> of this <code>Connector</code>, the <code>Connector</code> would satisfy the <code>checkConnectorTypeFeaturing</code> constraint.</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + <p>A <code>BindingConnector</code> is a binary <code>Connector</code> that requires its <code>relatedFeatures</code> to identify the same things (have the same values).</p> + + + + + <p>A <code>BindingConnector</code> must be binary.</p> + + + OCL2.0 + relatedFeature->size() = 2 + + + + + <p>A <code>BindingConnector</code> must directly or indirectly specialize the base <code>BindingConnector</code> <code><em>Links::selfLinks</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Links::selfLinks') + + + + + + + + + + + + + <p>A <code>Succession</code> is a binary <code>Connector</code> that requires its <code>relatedFeatures</code> to happen separately in time.</p> + + + + + <p>A <code>Succession</code> must directly or indirectly specialize the Feature <code><em>Occurrences::happensBeforeLinks</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Occurrences::happensBeforeLinks') + + + + + + + + + + + + + + + + + + + + <p>A <code>Connector</code> with a certain <code>defaultFeaturingType</code>.</p> + + + + + + - diff --git a/Resources/SysML_only_xmi.uml b/Resources/SysML_only_xmi.uml index 7f368fdc..b0bfbbd7 100644 --- a/Resources/SysML_only_xmi.uml +++ b/Resources/SysML_only_xmi.uml @@ -1,8543 +1,8543 @@ - - - - - - - - <p>A <code>PortUsage</code> is a usage of a <code>PortDefinition</code>. A <code>PortUsage</code> itself as well as all its <code>nestedUsages</code> must be referential (non-composite).</p> - - - - <p>The <code>nestedUsages</code> of a <code>PortUsage</code> that are not themselves <code>PortUsages</code> must not be composite.</p> - - - OCL2.0 - nestedUsage-> - reject(oclIsKindOf(PortUsage))-> - forAll(not isComposite) - - - - - <p>A <code>PortUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Ports::ports</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Ports::ports') - - - - - <p>A composite <code>PortUsage</code> with an <code>owningType</code> that is a <code>PortDefinition</code> or <code>PortUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Ports::Port::subports</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(PortDefinition) or - owningType.oclIsKindOf(PortUsage)) implies - specializesFromLibrary('Ports::Port::subports') - - - - - <p>Unless a <code>PortUsage</code> has an <code>owningType</code> that is a <code>PortDefinition</code> or a <code>PortUsage</code>, it must be referential (non-composite).</p> - - - OCL2.0 - owningType = null or -not owningType.oclIsKindOf(PortDefinition) and -not owningType.oclIsKindOf(PortUsage) implies - isReference - - - - - <p>A <code>PortUsage</code> whose <code>owningType</code> is a <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Parts::Part::ownedPorts</code></em> from the Systems Model Library.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::ownedPorts') - - - - - - <p>The <code>occurrenceDefinitions</code> of this <code>PortUsage</code>, which must all be <code>PortDefinitions<code>.</p> - - - - - - - - - <p>The PortUsages that are typed by a certain PortDefinition.</p> - - - - - - - - <p>A <code>PortDefinition</code> defines a point at which external entities can connect to and interact with a system or part of a system. Any <code>ownedUsages</code> of a <code>PortDefinition</code>, other than <code>PortUsages</code>, must not be composite.</p> + + + + + + + + <p>A <code>PortUsage</code> is a usage of a <code>PortDefinition</code>. A <code>PortUsage</code> itself as well as all its <code>nestedUsages</code> must be referential (non-composite).</p> + + + + <p>The <code>nestedUsages</code> of a <code>PortUsage</code> that are not themselves <code>PortUsages</code> must not be composite.</p> + + + OCL2.0 + nestedUsage-> + reject(oclIsKindOf(PortUsage))-> + forAll(not isComposite) + + + + + <p>A <code>PortUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Ports::ports</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Ports::ports') + + + + + <p>A composite <code>PortUsage</code> with an <code>owningType</code> that is a <code>PortDefinition</code> or <code>PortUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Ports::Port::subports</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(PortDefinition) or + owningType.oclIsKindOf(PortUsage)) implies + specializesFromLibrary('Ports::Port::subports') + + + + + <p>Unless a <code>PortUsage</code> has an <code>owningType</code> that is a <code>PortDefinition</code> or a <code>PortUsage</code>, it must be referential (non-composite).</p> + + + OCL2.0 + owningType = null or + not owningType.oclIsKindOf(PortDefinition) and + not owningType.oclIsKindOf(PortUsage) implies + isReference + + + + + <p>A <code>PortUsage</code> whose <code>owningType</code> is a <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Parts::Part::ownedPorts</code></em> from the Systems Model Library.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::ownedPorts') + + + + + + <p>The <code>occurrenceDefinitions</code> of this <code>PortUsage</code>, which must all be <code>PortDefinitions<code>.</p> + + + + + + + + + <p>The PortUsages that are typed by a certain PortDefinition.</p> + + + + + + + + <p>A <code>PortDefinition</code> defines a point at which external entities can connect to and interact with a system or part of a system. Any <code>ownedUsages</code> of a <code>PortDefinition</code>, other than <code>PortUsages</code>, must not be composite.</p> - - - - - <p>The <code>conjugatedPortDefinition</code> of a <code>PortDefinition</code> is the <code>ownedMember</code> that is a <code>ConjugatedPortDefinition</code>.</p> - - - OCL2.0 - conjugatedPortDefinition = -let conjugatedPortDefinitions : OrderedSet(ConjugatedPortDefinition) = - ownedMember->selectByKind(ConjugatedPortDefinition) in -if conjugatedPortDefinitions->isEmpty() then null -else conjugatedPortDefinitions->first() -endif - - - - - <p>The <code>ownedUsages</code> of a <code>PortDefinition</code> that are not <code>PortUsages</code> must not be composite.</p> - - - OCL2.0 - ownedUsage-> - reject(oclIsKindOf(PortUsage))-> - forAll(not isComposite) - - - - - <p>Unless it is a <code>ConjugatedPortDefinition</code>, a <code>PortDefinition</code> must have exactly one <code>ownedMember</code> that is a <code>ConjugatedPortDefinition</code>.</p> - - - OCL2.0 - not oclIsKindOf(ConjugatedPortDefinition) implies - ownedMember-> - selectByKind(ConjugatedPortDefinition)-> - size() = 1 - - - - - <p>A <code>PortDefinition</code> must directly or indirectly specialize the <code>PortDefinition</code> <em><code>Ports::Port</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Ports::Port') - - - - - - - - - <p>The <codeConjugatedPortDefinition</code> that is conjugate to this <code>PortDefinition</code>.</p> - - - - - - - - - - - <p>The PortConjugation that relates a certain PortDefinition to its ConjugatedPortDefinition (if any).</p> - - - - - - - - - <p>A <code>ConjugatedPortDefinition</code> is a <code>PortDefinition</code> that is a <code>PortDefinition</code> of its original <code>PortDefinition</code>. That is, a <code>ConjugatedPortDefinition</code> inherits all the <code>features</code> of the original <code>PortDefinition</code>, but input <code>flows</code> of the original <code>PortDefinition</code> become outputs on the <code>ConjugatedPortDefinition</code> and output <code>flows</code> of the original <code>PortDefinition</code> become inputs on the <code>ConjugatedPortDefinition</code>. Every <code>PortDefinition</code> (that is not itself a <code><code>ConjugatedPortDefinition</code></code>) has exactly one corresponding <code>ConjugatedPortDefinition</code>, whose effective name is the name of the <code>originalPortDefinition</code>, with the character <code>~</code> prepended.</p> - - - - <p>The <code>originalPortDefinition</code> of the <code>ownedPortConjugator</code> of a <code>ConjugatedPortDefinition</code> must be the <code>originalPortDefinition</code> of the <code>ConjugatedPortDefinition</code>.</p> - - - OCL2.0 - ownedPortConjugator.originalPortDefinition = originalPortDefinition - - - - - <p>A <code>ConjugatedPortDefinition</code> must not itself have a <code>conjugatedPortDefinition</code>. - - - OCL2.0 - conjugatedPortDefinition = null - - - - - - <p>The original <code>PortDefinition</code> for this <code>ConjugatedPortDefinition</code>, which is the <code>owningNamespace</code> of the <code>ConjugatedPortDefinition</code>.</p> - - - - - - - - <p>The <code>PortConjugation</code> that is the <code>ownedConjugator</code> of this <code>ConjugatedPortDefinition</code>, linking it to its <code>originalPortDefinition</code>.</p> - - - - - - - - <p>If the <code>name</code> of the <code>originalPortDefinition</code> is non-empty, then return that with the character <code>~</code> prepended.</p> - - - - OCL2.0 - let originalName : String = originalPortDefinition.name in -if originalName = null then null -else '~' + originalName -endif - - - - - - - - - - - - - <p>A <code>PortConjugation</code> is a <code>Conjugation</code> <code>Relationship</code> between a <code>PortDefinition</code> and its corresponding <code>ConjugatedPortDefinition</code>. As a result of this <code>Relationship</code>, the <code>ConjugatedPortDefinition</code> inherits all the <code>features</code> of the original <code>PortDefinition</code>, but input <code>flows</code> of the original <code>PortDefinition</code> become outputs on the <code>ConjugatedPortDefinition</code> and output <code>flows</code> of the original <code>PortDefinition</code> become inputs on the <code>ConjugatedPortDefinition</code>.</code></p> - - - - - - - - <p>The <code>PortDefinition</code> being conjugated.</p> - - - - - - - - <p>The <code>ConjugatedPortDefinition</code> that is conjugate to the <code>originalPortDefinition</code>.</p> - - - - - - - - - - <p>A <code>ConjugatedPortTyping</code> is a <code>FeatureTyping</code> whose <code>type</code> is a <code>ConjugatedPortDefinition</code>. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)</p> - - - - <p>The <code>portDefinition</code> of a <code>ConjugatedPortTyping</code> is the <code>originalPortDefinition</code> of the <code>conjugatedPortDefinition</code> of the <code>ConjugatedPortTyping</code>.</p> - - - OCL2.0 - portDefinition = conjugatedPortDefinition.originalPortDefinition - - - - - - - - <p>The <code>originalPortDefinition</code> of the <code>conjugatedPortDefinition</code> of this <code>ConjugatedPortTyping</code>.</p> - - - - - - - <p>The <code>type</code> of this <code>ConjugatedPortTyping</code> considered as a <code>FeatureTyping</code>, which must be a <code>ConjugatedPortDefinition</code>.</p> - - - - - - - - - - - <p>The ConjugatedPortTypings whose <code>conjugatedPortDefinition</code> a certain ConjugatedPortDefinition.</p> - - - - - - - - - - <p>The ConjugatedPortTypings whose <code>portDefinition</code> is a certain PortDefinition.</p> - - - - - - - - - - - <p>An <code>AttributeDefinition</code> is a <code>Definition</code> and a <code>DataType</code> of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All <code>features</code> of an <code>AttributeDefinition</code> must be referential (non-composite).</p> + + + + + <p>The <code>conjugatedPortDefinition</code> of a <code>PortDefinition</code> is the <code>ownedMember</code> that is a <code>ConjugatedPortDefinition</code>.</p> + + + OCL2.0 + conjugatedPortDefinition = + let conjugatedPortDefinitions : OrderedSet(ConjugatedPortDefinition) = + ownedMember->selectByKind(ConjugatedPortDefinition) in + if conjugatedPortDefinitions->isEmpty() then null + else conjugatedPortDefinitions->first() + endif + + + + + <p>The <code>ownedUsages</code> of a <code>PortDefinition</code> that are not <code>PortUsages</code> must not be composite.</p> + + + OCL2.0 + ownedUsage-> + reject(oclIsKindOf(PortUsage))-> + forAll(not isComposite) + + + + + <p>Unless it is a <code>ConjugatedPortDefinition</code>, a <code>PortDefinition</code> must have exactly one <code>ownedMember</code> that is a <code>ConjugatedPortDefinition</code>.</p> + + + OCL2.0 + not oclIsKindOf(ConjugatedPortDefinition) implies + ownedMember-> + selectByKind(ConjugatedPortDefinition)-> + size() = 1 + + + + + <p>A <code>PortDefinition</code> must directly or indirectly specialize the <code>PortDefinition</code> <em><code>Ports::Port</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Ports::Port') + + + + + + + + + <p>The <codeConjugatedPortDefinition</code> that is conjugate to this <code>PortDefinition</code>.</p> + + + + + + + + + + + <p>The PortConjugation that relates a certain PortDefinition to its ConjugatedPortDefinition (if any).</p> + + + + + + + + + <p>A <code>ConjugatedPortDefinition</code> is a <code>PortDefinition</code> that is a <code>PortDefinition</code> of its original <code>PortDefinition</code>. That is, a <code>ConjugatedPortDefinition</code> inherits all the <code>features</code> of the original <code>PortDefinition</code>, but input <code>flows</code> of the original <code>PortDefinition</code> become outputs on the <code>ConjugatedPortDefinition</code> and output <code>flows</code> of the original <code>PortDefinition</code> become inputs on the <code>ConjugatedPortDefinition</code>. Every <code>PortDefinition</code> (that is not itself a <code><code>ConjugatedPortDefinition</code></code>) has exactly one corresponding <code>ConjugatedPortDefinition</code>, whose effective name is the name of the <code>originalPortDefinition</code>, with the character <code>~</code> prepended.</p> + + + + <p>The <code>originalPortDefinition</code> of the <code>ownedPortConjugator</code> of a <code>ConjugatedPortDefinition</code> must be the <code>originalPortDefinition</code> of the <code>ConjugatedPortDefinition</code>.</p> + + + OCL2.0 + ownedPortConjugator.originalPortDefinition = originalPortDefinition + + + + + <p>A <code>ConjugatedPortDefinition</code> must not itself have a <code>conjugatedPortDefinition</code>. + + + OCL2.0 + conjugatedPortDefinition = null + + + + + + <p>The original <code>PortDefinition</code> for this <code>ConjugatedPortDefinition</code>, which is the <code>owningNamespace</code> of the <code>ConjugatedPortDefinition</code>.</p> + + + + + + + + <p>The <code>PortConjugation</code> that is the <code>ownedConjugator</code> of this <code>ConjugatedPortDefinition</code>, linking it to its <code>originalPortDefinition</code>.</p> + + + + + + + + <p>If the <code>name</code> of the <code>originalPortDefinition</code> is non-empty, then return that with the character <code>~</code> prepended.</p> + + + + OCL2.0 + let originalName : String = originalPortDefinition.name in + if originalName = null then null + else '~' + originalName + endif + + + + + + + + + + + + + <p>A <code>PortConjugation</code> is a <code>Conjugation</code> <code>Relationship</code> between a <code>PortDefinition</code> and its corresponding <code>ConjugatedPortDefinition</code>. As a result of this <code>Relationship</code>, the <code>ConjugatedPortDefinition</code> inherits all the <code>features</code> of the original <code>PortDefinition</code>, but input <code>flows</code> of the original <code>PortDefinition</code> become outputs on the <code>ConjugatedPortDefinition</code> and output <code>flows</code> of the original <code>PortDefinition</code> become inputs on the <code>ConjugatedPortDefinition</code>.</code></p> + + + + + + + + <p>The <code>PortDefinition</code> being conjugated.</p> + + + + + + + + <p>The <code>ConjugatedPortDefinition</code> that is conjugate to the <code>originalPortDefinition</code>.</p> + + + + + + + + + + <p>A <code>ConjugatedPortTyping</code> is a <code>FeatureTyping</code> whose <code>type</code> is a <code>ConjugatedPortDefinition</code>. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)</p> + + + + <p>The <code>portDefinition</code> of a <code>ConjugatedPortTyping</code> is the <code>originalPortDefinition</code> of the <code>conjugatedPortDefinition</code> of the <code>ConjugatedPortTyping</code>.</p> + + + OCL2.0 + portDefinition = conjugatedPortDefinition.originalPortDefinition + + + + + + + + <p>The <code>originalPortDefinition</code> of the <code>conjugatedPortDefinition</code> of this <code>ConjugatedPortTyping</code>.</p> + + + + + + + <p>The <code>type</code> of this <code>ConjugatedPortTyping</code> considered as a <code>FeatureTyping</code>, which must be a <code>ConjugatedPortDefinition</code>.</p> + + + + + + + + + + + <p>The ConjugatedPortTypings whose <code>conjugatedPortDefinition</code> a certain ConjugatedPortDefinition.</p> + + + + + + + + + + <p>The ConjugatedPortTypings whose <code>portDefinition</code> is a certain PortDefinition.</p> + + + + + + + + + + + <p>An <code>AttributeDefinition</code> is a <code>Definition</code> and a <code>DataType</code> of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All <code>features</code> of an <code>AttributeDefinition</code> must be referential (non-composite).</p> -<p>As a <code>DataType</code>, an <code>AttributeDefinition</code> must specialize, directly or indirectly, the base <code>DataType</code> <code><em>Base::DataValue</em></code> from the Kernel Semantic Library.</p> - - - - <p>All <code>features</code> of an <code>AttributeDefinition</code> must be non-composite.</p> - - - OCL2.0 - feature->forAll(not isComposite) - - - - - - - - - - - <p>The AttributeUsages that are typed by a certain DataType.</p> - - - - - - - - <p>An <code>AttributeUsage</code> is a <code>Usage</code> whose type is a <code>DataType</code>. Nominally, if the type is an <code>AttributeDefinition</code>, an <code>AttributeUsage</code> is a usage of a <code>AttributeDefinition</code> to represent the value of some system quality or characteristic. However, other kinds of kernel <code>DataTypes</code> are also allowed, to permit use of <code>DataTypes</code> from the Kernel Model Libraries. An <code>AttributeUsage</code> itself as well as all its nested <code>features</code> must be referential (non-composite).</p> + <p>As a <code>DataType</code>, an <code>AttributeDefinition</code> must specialize, directly or indirectly, the base <code>DataType</code> <code><em>Base::DataValue</em></code> from the Kernel Semantic Library.</p> + + + + <p>All <code>features</code> of an <code>AttributeDefinition</code> must be non-composite.</p> + + + OCL2.0 + feature->forAll(not isComposite) + + + + + + + + + + + <p>The AttributeUsages that are typed by a certain DataType.</p> + + + + + + + + <p>An <code>AttributeUsage</code> is a <code>Usage</code> whose type is a <code>DataType</code>. Nominally, if the type is an <code>AttributeDefinition</code>, an <code>AttributeUsage</code> is a usage of a <code>AttributeDefinition</code> to represent the value of some system quality or characteristic. However, other kinds of kernel <code>DataTypes</code> are also allowed, to permit use of <code>DataTypes</code> from the Kernel Model Libraries. An <code>AttributeUsage</code> itself as well as all its nested <code>features</code> must be referential (non-composite).</p> -<p>An <code>AttributeUsage</code> must specialize, directly or indirectly, the base <code>Feature</code> <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> - - - - <p>An <code>AttributeUsage</code> is always referential.</p> - - - OCL2.0 - isReference - - - - - <p>All <code>features</code> of an <code>AttributeUsage</code> must be non-composite.</p> - - - OCL2.0 - feature->forAll(not isComposite) - - - - - <p>An <code>AttributeUsage</code> must directly or indirectly specialize <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::dataValues') - - - - - - <p>The <code>DataTypes</code> that are the types of this <code>AttributeUsage</code>. Nominally, these are <code>AttributeDefinitions</code>, but other kinds of kernel <code>DataTypes</code> are also allowed, to permit use of <code>DataTypes</code> from the Kernel Model Libraries.</p> - - - - - - - - <p>Always true for an <code>AttributeUsage</code>.</p> - - - - - - - - - - - <p>The PerformActionUsages that have a certain ActionUsage as their <code>performedAction</code>.</p> - - - - - - - - <p>An <code>AcceptActionUsage</code> is an <code>ActionUsage</code> that specifies the acceptance of an <em><code>incomingTransfer</code></em> from the <code><em>Occurrence</em></code> given by the result of its <code>receiverArgument</code> Expression. (If no <code>receiverArgument</code> is provided, the default is the <em><code>this</code></em> context of the AcceptActionUsage.) The payload of the accepted <em><code>Transfer</em></code> is output on its <code>payloadParameter</code>. Which <em><code>Transfers</em></code> may be accepted is determined by conformance to the typing and (potentially) binding of the <code>payloadParameter</code>.</p> - - - - - <p>An <code>AcceptUsageAction</code> must have at least two input <code>parameters</code>, corresponding to its <em><code>payload</code></em> and <em><code>receiver</code>, respectively (even if they have no <code>FeatureValue</code>). (Note that the <code>payloadParameter</code> is an input as well as an output.)</p> - - - OCL2.0 - inputParameters()->size() >= 2 - - - - - <p>The <code>receiverArgument</code> of an <code>AcceptUsageAction</code> is its second argument <code>Expression</code>.</p> - - - OCL2.0 - receiverArgument = argument(2) - - - - - <p>The <code>payloadArgument</code> of an <code>AcceptUsageAction</code> is its first argument <code>Expression</code>.</p> - - - OCL2.0 - payloadArgument = argument(1) - - - - - <p>The <code>payloadParameter</code> of an <code>AcceptActionUsage<code> is its first <code>parameter</code>.</p> - - - OCL2.0 - payloadParameter = - if parameter->isEmpty() then null - else parameter->first() endif - - - - - <p>An <code>AcceptActionUsage</code> that is not the <code>triggerAction</code> of a <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::acceptActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - not isTriggerAction() implies - specializesFromLibrary('Actions::acceptActions') - - - - - <p>A composite <code>AcceptActionUsage</code> that is a subaction usage, but is <em>not</em> the <code>triggerAction</code> of a <code>TransitionUsage</code>, must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::acceptSubactions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() and not isTriggerAction() implies - specializesFromLibrary('Actions::Action::acceptSubactions') - - - - - <p>An <code>AcceptActionUsage</code> that is the <code>triggerAction</code> of <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::TransitionAction::accepter</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isTriggerAction() implies - specializesFromLibrary('Actions::TransitionAction::accepter') - - - - - <p>If the <code>payloadArgument</code> of an <code>AcceptActionUsage</code> is a <code>TriggerInvocationExpression</code>, then the <code>AcceptActionusage</code> must have an <code>ownedFeature</code> that is a <code>BindingConnector</code> between its <code><em>receiver</em></code> <code>parameter</code> and the <code><em>receiver</em></code> <code>parameter</code> of the <code>TriggerInvocationExpression</code>.</p> - - - OCL2.0 - payloadArgument <> null and -payloadArgument.oclIsKindOf(TriggerInvocationExpression) implies - let invocation : Expression = - payloadArgument.oclAsType(Expression) in - parameter->size() >= 2 and - invocation.parameter->size() >= 2 and - ownedFeature->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(parameter->at(2)) and - b.relatedFeatures->includes(invocation.parameter->at(2))) - - - - - - <p>An <code>Expression</code> whose <code>result</code> is bound to the <em><code>receiver</code></em> input <code>parameter</code> of this <code>AcceptActionUsage</code>.</p> - - - - - - - - - <p>The <code>nestedReference</code> of this <code>AcceptActionUsage</code> that redefines the <code>payload</code> output <code>parameter</code> of the base <code>AcceptActionUsage</code> <em><code>AcceptAction</code></em> from the Systems Model Library.</p> - - - - - - - - - <p>An <code>Expression</code> whose <code>result</code> is bound to the <code><em>payload</em></code> <code>parameter</code> of this <code>AcceptActionUsage</code>. If provided, the <code>AcceptActionUsage</code> will only accept a <code><em>Transfer</em></code> with exactly this <code><em>payload</em></code>.</p> - - - - - - - - - <p>Check if this <code>AcceptActionUsage</code> is the <code>triggerAction</code> of a <code>TransitionUsage</code>.</p> - - - - OCL2.0 - owningType <> null and -owningType.oclIsKindOf(TransitionUsage) and -owningType.oclAsType(TransitionUsage).triggerAction->includes(self) - - - - - - - - - - - <p>The <code>SendActionUsage</code> that has a certain <code>Expression<code> as its <code>receiverArgument</code>.</p> - - - - - - - - <p>A <code>SendActionUsage</code> is an <code>ActionUsage</code> that specifies the sending of a payload given by the result of its <code>payloadArgument</code> <code>Expression</code> via a <em><code>MessageTransfer</code></em> whose <em><code>source</code></em> is given by the result of the <code>senderArgument</code> <code>Expression</code> and whose <code>target</code> is given by the result of the <code>receiverArgument</code> <code>Expression</code>. If no <code>senderArgument</code> is provided, the default is the <em><code>this</code></em> context for the action. If no <code>receiverArgument</code> is given, then the receiver is to be determined by, e.g., outgoing <em><code>Connections</code></em> from the sender.</p> - - - - - <p>The <code>senderArgument</code> of a <code>SendActionUsage</code> is its second argument <code>Expression</code>.</p> - - - OCL2.0 - senderArgument = argument(2) - - - - - <p>The <code>payloadArgument</code> of a <code>SendActionUsage</code> is its first argument <code>Expression</code>.</p> - - - OCL2.0 - payloadArgument = argument(1) - - - - - <p>A <code>SendActionUsage</code> must have at least three owned input <code>parameters</code>, corresponding to its <em><code>payload</code></em>, <em><code>sender</code></em> and <em><code>receiver</code></em>, respectively (whether or not they have <code>FeatureValues</code>).</p> - - - OCL2.0 - inputParameters()->size() >= 3 - - - - - <p>The <code>receiverArgument</code> of a <code>SendActionUsage</code> is its third argument <code>Expression</code>.</p> - - - OCL2.0 - receiverArgument = argument(3) - - - - - <p>A composite <code>SendActionUsage</code> that is a subaction must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::sendSubactions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::acceptSubactions') - - - - - <p>A <code>SendActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::sendActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::sendActions') - - - - - - <p>An <code>Expression</code> whose result is bound to the <em><code>receiver</code></em> input parameter of this <code>SendActionUsage</code>.</p> - - - - - - - - - <p>An <code>Expression</code> whose result is bound to the <code><em>payload</em></code> input parameter of this <code>SendActionUsage</code>.</p> - - - - - - - - - <p>An <code>Expression</code> whose result is bound to the <em><code>sender</code></em> input parameter of this <code>SendActionUsage</code>.</p> - - - - - - - - - - <p>A <code>PerformActionUsage</code> is an <code>ActionUsage</code> that represents the performance of an <code>ActionUsage</code>. Unless it is the <code>PerformActionUsage</code> itself, the <code>ActionUsage</code> to be performed is related to the <code>PerformActionUsage</code> by a <code>ReferenceSubsetting</code> relationship. A <code>PerformActionUsage</code> is also an <code>EventOccurrenceUsage</code>, with its <code>performedAction</code> as the <code>eventOccurrence</code>.</p> - - - - <p>If a <code>PerformActionUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be an <code>ActionUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(ActionUsage) - - - - - <p>If a <code>PerformActionUsage</code> has an <code>owningType</code> that is a <code>PartDefinition</code> or <code>PartUsage</code>, then it must directly or indirectly specialize the <code>ActionUsage</code> <code><em>Parts::Part::performedActions</em></code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::performedActions') - - - - - - - <p>The <code>ActionUsage</code> to be performed by this <code>PerformedActionUsage</code>. It is the <code>eventOccurrence</code> of the <code>PerformActionUsage</code> considered as an <code>EventOccurrenceUsage</code>, which must be an <code>ActionUsage</code>.</p> - - - - - - - - <p>The naming <code>Feature</code> of a <code>PerformActionUsage</code> is its <code>performedAction</code>, if this is different than the <code>PerformActionUsage</code>. If the <code>PerformActionUsage</code> is its own <code>performedAction</code>, then the naming <code>Feature</code> is the same as the usual default for a <code>Usage</code>.</p> - - - - OCL2.0 - if performedAction <> self then performedAction -else self.oclAsType(Usage).namingFeature() -endif - - - - - - - - - - - - <p>A <code>ForkNode</code> is a <code>ControlNode</code> that must be followed by successor <code>Actions</code> as given by all its outgoing <code>Successions</code>.</p> - - - - <p>A <code>ForkNode</code> may have at most one incoming <code>Succession</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)->size() <= 1 - - - - - <p>A <code>ForkNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::forks</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action::forks') - - - - - - - <p>A <code>JoinNode</code> is a <code>ControlNode</code> that waits for the completion of all the predecessor <code>Actions</code> given by incoming <code>Successions</code>.</p> - - - - <p>A <code>JoinNode</code> may have at most one outgoing <code>Succession</code>.</p> - - - OCL2.0 - sourceConnector->selectByKind(Succession)->size() <= 1 - - - - - <p>A <code>JoinNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::joins</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action::join') - - - - - - - <p>A <code>ControlNode</code> is an <code>ActionUsage</code> that does not have any inherent behavior but provides constraints on incoming and outgoing <code>Successions</code> that are used to control other <code>Actions</code>. A <code>ControlNode</code> must be a composite owned <code>usage</code> of an <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> - - - - - <p>All outgoing <code>Successions</code> from a <code>ControlNode</code> must have a source <code>multiplicity</code> of <code>1..1</code>.</p> - - - OCL2.0 - sourceConnector->selectByKind(Succession)-> - collect(connectorEnd->at(1).multiplicity)-> - forAll(sourceMult | - multiplicityHasBounds(sourceMult, 1, 1)) - - - - - <p>The <code>owningType</code> of a <code>ControlNode</code> must be an <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) - - - - - <p>All incoming <code>Successions</code> to a <code>ControlNode</code> must have a target <code>multiplicity</code> of <code>1..1</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)-> - collect(connectorEnd->at(2).multiplicity)-> - forAll(targetMult | - multiplicityHasBounds(targetMult, 1, 1)) - - - - - <p>A <code>ControlNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::control</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Action::Action::controls') - - - - - <p>A <code>ControlNode</code> must be composite.</p> - - - OCL2.0 - isComposite - - - - - - <p>Check that the given <code>Multiplicity</code> has <code>lowerBound</code> and <code>upperBound</code> expressions that are model-level evaluable to the given <code>lower</code> and <code>upper</code> values.</p> - - - - OCL2.0 - mult <> null and -if mult.oclIsKindOf(MultiplicityRange) then - mult.oclAsType(MultiplicityRange).hasBounds(lower, upper) -else - mult.allSuperTypes()->exists( - oclisKindOf(MultiplicityRange) and - oclAsType(MultiplicityRange).hasBounds(lower, upper) -endif - - - - - - - - - - - - - - - - - - - <p>An <code>ActionUsage</code> is a <code>Usage</code> that is also a <code>Step</code>, and, so, is typed by a <code>Behavior</code>. Nominally, if the type is an <code>ActionDefinition</code>, an <code>ActionUsage</code> is a <code>Usage</code> of that <code>ActionDefinition</code> within a system. However, other kinds of kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> - - - - - <p>A composite <code>ActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::subactions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::subactions') - - - - - <p>An <code>ActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::actions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::actions') - - - - - <p>A composite <code>ActionUsage</code> whose <code>owningType</code> is <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Parts::Part::ownedActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::ownedActions') - - - - - <p>An <code>ActionUsage</code> that is the <code><em>entry</em></code>, <code><em>do</em></code>, or <code><em>exit</em></code> <code><em>Action</em></code> of a <code>StateDefinition</code> or <code>StateUsage</code> must redefine the <code>entryAction</code>, <code>doAction</code>, or <code>exitAction</code> <code>feature</code>, respectively, of the <code>StateDefinition</code> <code><em>States::StateAction</em></code> from the Systems Model Library.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies - let kind : StateSubactionKind = - owningFeatureMembership.oclAsType(StateSubactionMembership).kind in - if kind = StateSubactionKind::entry then - redefinesFromLibrary('States::StateAction::entryAction') - else if kind = StateSubactionKind::do then - redefinesFromLibrary('States::StateAction::doAction') - else - redefinesFromLibrary('States::StateAction::exitAction') - endif endif - - - - - - - - - <p>The <code>Behaviors</code> that are the <code>types</code> of this <code>ActionUsage</code>. Nominally, these would be <code>ActionDefinitions</code>, but other kinds of Kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> - - - - - - - - - - - <p>Return the owned input <code>parameters</code> of this <code>ActionUsage</code>.</p> - - - - OCL2.0 - input->select(f | f.owner = self) - - - - - - - - - - - <p>Return the <code>i</code>-th owned input <code>parameter</code> of the <code>ActionUsage</code>. Return null if the <code>ActionUsage</code> has less than <code>i</code> owned input <code>parameters</code>.</p> - - - - OCL2.0 - if inputParameters()->size() < i then null -else inputParameters()->at(i) -endif - - - - - - - - - - - - - - <p>Return the <code>i</code>-th argument <code>Expression</code> of an <code>ActionUsage</code>, defined as the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> of the <code>i</code>-th owned input <code>parameter</code> of the <code>ActionUsage</code>. Return null if the <code>ActionUsage</code> has less than <code>i</code> owned input <code>parameters</code> or the <code>i</code>-th owned input <code>parameter</code> has no <code>FeatureValue</code>.</p> - - - - OCL2.0 - if inputParameter(i) = null then null -else - let featureValue : Sequence(FeatureValue) = inputParameter(i). - ownedMembership->select(oclIsKindOf(FeatureValue)) in - if featureValue->isEmpty() then null - else featureValue->at(1).value - endif -endif - - - - - - - - - - - - - - <p>Check if this <code>ActionUsage</code> is composite and has an <code>owningType</code> that is an <code>ActionDefinition</code> or <code>ActionUsage</code> but is <em>not</em> the <code>entryAction</code> or <code>exitAction</em></code> of a <code>StateDefinition</code> or <code>StateUsage</code>. If so, then it represents an <code><em>Action</em></code> that is a <code><em>subaction</em></code> of another <code><em>Action</em></code>.</p> - - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) and -(owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies - owningFeatureMembership.oclAsType(StateSubactionMembership).kind = - StateSubactionKind::do) - - - - - - - - - - - <p>The Activities that feature a certain ActionUsage.</p> - - - - - - - - - - <p>A <code>DecisionNode</code> is a <code>ControlNode</code> that makes a selection from its outgoing <code>Successions</code>.</p> - - - - <p>A <code>DecisionNode</code> may have at most one incoming <code>Succession</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)->size() <= 1 - - - - - <p>All outgoing <code>Successions</code> from a <code>DecisionNode</code> must have a target <code>multiplicity</code> of <code>0..1</code>.</p> - - - OCL2.0 - sourceConnector->selectAsKind(Succession)-> - collect(connectorEnd->at(2))-> - forAll(targetMult | - multiplicityHasBounds(targetMult, 0, 1)) - - - - - <p>A <code>DecisionNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::decisions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action::decisions') - - - - - <p>All outgoing <code>Successions</code> from a <code>DecisionNode</code> must subset the inherited <em><code>outgoingHBLink</code></em> <code>feature</code> of the <code>DecisionNode</code>.</p> - - - OCL2.0 - sourceConnector->selectByKind(Succession)-> - forAll(subsetsChain(self, - resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink'))) - - - - - - - <p>A <code>MergeNode</code> is a <code>ControlNode</code> that asserts the merging of its incoming <code>Successions</code>. A <code>MergeNode</code> may have at most one outgoing <code>Successions</code>.</p> - - - - <p>A <code>MergeNode</code> may have at most one outgoing <code>Succession</code>.</p> - - - OCL2.0 - sourceConnector->selectAsKind(Succession)->size() <= 1 - - - - - <p>All incoming <code>Successions</code> to a <code>MergeNode</code> must have a source <code>multiplicity</code> of <code>0..1</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)-> - collect(connectorEnd->at(1))-> - forAll(sourceMult | - multiplicityHasBounds(sourceMult, 0, 1)) - - - - - <p>All incoming <code>Successions</code> to a <code>MergeNode</code> must subset the inherited <em><code>incomingHBLink</code></em> <code>feature</code> of the <code>MergeNode</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)-> - forAll(subsetsChain(self, - resolveGlobal('ControlPerformances::MergePerformance::incomingHBLink'))) - - - - - <p>A <code>MergeNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::merges</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action::merges') - - - - - - - - <p>The ActionUsages being typed by a certain Behavior.</p> - - - - - - - - - - <p>An <code>ActionDefinition</code> is a <code>Definition</code> that is also a <code>Behavior</code> that defines an <em><code>Action</code></em> performed by a system or part of a system.</p> - - - - <p>An <code>ActionDefinition</code> must directly or indirectly specialize the <code>ActionDefinition</code> <em><code>Actions::Action</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action') - - - - - <p> The <code>actions</code> of a <code>ActionDefinition</code> are those of its <code>usages</code> that are <code>ActionUsages</code>.</p> - - - OCL2.0 - action = usage->selectByKind(ActionUsage) - - - - - - - - - <p>The <code>ActionUsages</code> that are <code>steps</code> in this <code>ActionDefinition</code>, which define the actions that specify the behavior of the <code>ActionDefinition</code>.</p> - - - - - - - - - - - - <p>The <code>SendActionUsage</code> that has a certain <code>Expression</code> as its <code>itemsArgument</code>.</p> - - - - - - - - - <p>The AcceptActionUsage that has a certain Expression as its <code>receiverArgument</code>.</p> - - - - - - - - - <p>The AssignmentActionUsages that gave a certain <code>referent</code> Expression.</p> - - - - - - - - - - <p>The <code>ForLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>seqArgument</code>.</p> - - - - - - - - <p>An <code>IfActionUsage</code> is an <code>ActionUsage</code> that specifies that the <code>thenAction</code> <code>ActionUsage</code> should be performed if the result of the <code>ifArgument</code> <code>Expression</code> is true. It may also optionally specify an <code>elseAction</code> <code>ActionUsage</code> that is performed if the result of the <code>ifArgument</code> is false.</p> - - - - <p>The <code>thenAction</code> of an <code>ifActionUsage</code> is its second <code>parameter</code>, which must be an <code>ActionUsage</code>.</p> - - - OCL2.0 - thenAction = - let parameter : Feature = inputParameter(2) in - if parameter <> null and parameter.oclIsKindOf(ActionUsage) then - parameter.oclAsType(ActionUsage) - else - null - endif - - - - - <p>A composite <code>IfActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::ifSubactions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::ifSubactions') - - - - - <p>A <code>IfActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::ifThenActions</code></em> from the Systems Model Library. If it has an <code>elseAction</code>, then it must directly or indirectly specialize <em><code>Actions::ifThenElseActions</code></em>. - - - OCL2.0 - if elseAction = null then - specializesFromLibrary('Actions::ifThenActions') -else - specializesFromLibrary('Actions::ifThenElseActions') -endif - - - - - <p>The <code>ifArgument</code> of an <code>ifActionUsage</code> is its first <code>parameter</code>, which must be an <code>Expression</code>.</p> - - - OCL2.0 - ifArgument = - let parameter : Feature = inputParameter(1) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - - - - - <p>The <code>elseAction</code> of an <code>ifActionUsage</code> is its third <code>parameter</code>, if there is one, which must then be an <code>ActionUsage</code>.</p> - - - OCL2.0 - elseAction = - let parameter : Feature = inputParameter(3) in - if parameter <> null and parameter.oclIsKindOf(ActionUsage) then - parameter.oclAsType(ActionUsage) - else - null - endif - - - - - <p>An <code>IfActionUsage</code> must have at least two owned <code>input</code> <code>parameters</code>.</p> - - - OCL2.0 - inputParameters()->size() >= 2 - - - - - - <p>The <code>ActionUsage</code> that is to be performed if the result of the <code>ifArgument</code> is false. It is the (optional) third <code>parameter</code> of the <code>IfActionUsage</code>.</p> - - - - - - - - <p>The <code>ActionUsage</code> that is to be performed if the result of the <code>ifArgument</code> is true. It is the second <code>parameter<code> of the <code>IfActionUsage</code>.</p> - - - - - - - - <p>The <code>Expression</code> whose result determines whether the <code>thenAction</code> or (optionally) the <code>elseAction</code> is performed. It is the first <code>parameter<code> of the <code>IfActionUsage</code>.</p> - - - - - - - - - - - <p>The AssignmentActionUsage that has a certain Expression as its <code>targetArgument</code>.</p> - - - - - - - - - <p>The <code>WhileLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>untilArgument</code>.</p> - - - - - - - - - <p>The <code>WhileLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>whileArgument</code>.</p> - - - - - - - - - <p>The <code>LoopActionUsage</code> that has a certain <code>ActionUsage</code> as its <code>bodyAction</code>.</p> - - - - - - - - - <p>The IfActionUsage that has a certain ActionUsage as its <code>elseAction</code>.</p> - - - - - - - - - <p>The <code>IfActionUsage</code> that has a certain <code>Expression</code> as its <code>ifArgument</code>.</p> - - - - - - - - - <p>The <code>IfActionUsage</code> that has a certain <code>ActionUsage</code> as its <code>thenAction</code>.</p> - - - - - - - - <p>A <code>LoopActionUsage</code> is an <code>ActionUsage</code> that specifies that its <code>bodyAction</code> should be performed repeatedly. Its subclasses <code>WhileLoopActionUsage</code> and <code>ForLoopActionUsage</code> provide different ways to determine how many times the <code>bodyAction</code> should be performed.</p> - - - - <p>The <code>bodyAction</code> of a <code>LoopActionUsage</code> is its second input <code>parameter</code>, which must be an <code>Action</code>.</p> - - - OCL2.0 - bodyAction = - let parameter : Feature = inputParameter(2) in - if parameter <> null and parameter.oclIsKindOf(Action) then - parameter.oclAsType(Action) - else - null - endif - - - - - - - <p>The <code>ActionUsage</code> to be performed repeatedly by the <code>LoopActionUsage</code>. It is the second <code>parameter</code> of the <code>LoopActionUsage</code>.</p> - - - - - - - - - - <p>The AssignmentActionUsage that has a certain Expression as its <code>valueArgument</code>.</p> - - - - - - - - <p>A <code>ForLoopActionUsage</code> is a <code>LoopActionUsage</code> that specifies that its <code>bodyAction</code> <code>ActionUsage</code> should be performed once for each value, in order, from the sequence of values obtained as the result of the <code>seqArgument</code> <code>Expression</code>, with the <code>loopVariable</code> set to the value for each iteration.</p> - - - - <p>The <code>seqArgument</code> of a <code>ForLoopActionUsage</code> is its first argument <code>Expression</code>.</p> - - - OCL2.0 - seqArgument = argument(1) - - - - - - <p>A composite <code>ForLoopActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::forLoops</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::forLoops') - - - - - <p>The <code>loopVariable</code> of a <code>ForLoopActionUsage</code> must redefine the <code>ActionUsage</code> <code><em>Actions::ForLoopAction::var</em></code>.</p> - - - OCL2.0 - loopVariable <> null and -loopVariable.redefinesFromLibrary('Actions::ForLoopAction::var') - - - - - <p>A <code>ForLoopActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::forLoopActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::forLoopActions') - - - - - <p>The <code>loopVariable</code> of a <code>ForLoopActionUsage</code> is its first <code>ownedFeature</code>, which must be a <code>ReferenceUsage</code>.</p> - - - OCL2.0 - loopVariable = - if ownedFeature->isEmpty() or - not ownedFeature->first().oclIsKindOf(ReferenceUsage) then - null - else - ownedFeature->first().oclAsType(ReferenceUsage) - endif - - - - - <p>The first <code>ownedFeature</code> of a <code>ForLoopActionUsage</code> must be a <code>ReferenceUsage</code>.</p> - - - OCL2.0 - ownedFeature->notEmpty() and -ownedFeature->at(1).oclIsKindOf(ReferenceUsage) - - - - - - <p>A <code>ForLoopActionUsage</code> must have two owned <code>input</code> <code>parameters</code>.</p> - - - OCL2.0 - inputParameters()->size() = 2 - - - - - - <p>The <code>Expression</code> whose result provides the sequence of values to which the <code>loopVariable</code> is set for each iterative performance of the <code>bodyAction</code>. It is the <code>Expression</code> whose <code>result</code> is bound to the <em><code>seq</code></em> <code>input</code> <code>parameter</code> of this <code>ForLoopActionUsage</code>.</p> - - - - - - - - - <p>The <code>ownedFeature</code> of this <co>ForLoopActionUsage</code> that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the <code>ownedFeature</code> that redefines <em><code>ForLoopAction::var</code></em>.</p> - - - - - - - - <p>An <code>AssignmentActionUsage</code> is an <code>ActionUsage</code> that is defined, directly or indirectly, by the <code>ActionDefinition</code> <em><code>AssignmentAction</code></em> from the Systems Model Library. It specifies that the value of the <code>referent</code> <code>Feature</code>, relative to the target given by the result of the <code>targetArgument</code> <code>Expression</code>, should be set to the result of the <code>valueExpression</code>.</p> - - - - - <p>An <code>AssignmentActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::assignmentActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::assignmentActions') - - - - - <p>The first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine <code><em>AssignmentAction::target::startingAt</em></code>.</p> - - - OCL2.0 - let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter.ownedFeature->first(). - redefines('AssignmentAction::target::startingAt') - - - - - <p>The <code>valueExpression</code> of a <code>AssignmentActionUsage</code> is its second argument <code>Expression</code>.</p> - - - OCL2.0 - valueExpression = argument(2) - - - - - <p>The <code>targetArgument</code> of a <code>AssignmentActionUsage</code> is its first argument <code>Expression</code>.</p> - - - OCL2.0 - targetArgument = argument(1) - - - - - <p>A composite <code>AssignmentActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::assignments</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::assignments') - - - - - <p>The first <code>ownedFeature</code> of the first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine <code><em>AssignmentAction::target::startingAt::accessedFeature</em></code>.</p> - - - OCL2.0 - let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->first(). - redefines('AssigmentAction::target::startingAt::accessedFeature') - - - - - <p>The first <code>ownedFeature</code> of the first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine the <code>referent</code> of the <code>AssignmentActionUsage</code>.</p> - - - OCL2.0 - let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->first().redefines(referent) - - - - - <p>The <code>referent</code> of an <code>AssignmentActionUsage</code> is the first <code>Feature</code> that is the <code>memberElement</code> of a <code>ownedMembership</code> that is not a <code>FeatureMembership</code>.</p> - - - OCL2.0 - referent = - let unownedFeatures : Sequence(Feature) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement-> - selectByKind(Feature) in - if unownedFeatures->isEmpty() then null - else unownedFeatures->first().oclAsType(Feature) - endif - - - - - <p>An <code>AssignmentActionUsage</code> must have an <code>ownedMembership</code> that is not an <code>OwningMembership</code> and whose <code>memberElement</code> is a <code>Feature</code>.</p> - - - OCL2.0 - ownedMembership->exists( - not oclIsKindOf(OwningMembership) and - memberElement.oclIsKindOf(Feature)) - - - - - <p>The <code>featureTarget</code> of the <code>referent</code> of an <code>AssignmentActionUsage</code> must be able to have time-varying values.</p> - - - OCL2.0 - referent <> null implies referent.featureTarget.mayTimeVary - - - - - - <p>The <code>Expression</code> whose value is an occurrence in the domain of the <code>referent</code> <code>Feature</code>, for which the value of the <code>referent</code> will be set to the result of the <code>valueExpression</code> by this <code>AssignmentActionUsage</code>.</p> - - - - - - - - <p>The <code>Expression</code> whose result is to be assigned to the <code>referent</code> <code>Feature</code>.</p> - - - - - - - - <p>The <code>Feature</code> whose value is to be set.</p> - - - - - - - - - - <p>A <code>WhileLoopActionUsage</code> is a <code>LoopActionUsage</code> that specifies that the <code>bodyAction</code> <code>ActionUsage</code> should be performed repeatedly while the result of the <code>whileArgument</code> <code>Expression</code> is true or until the result of the <code>untilArgument</code> <code>Expression</code> (if provided) is true. The <code>whileArgument</code> <code>Expression</code> is evaluated before each (possible) performance of the <code>bodyAction</code>, and the <code>untilArgument</code> <code>Expression</code> is evaluated after each performance of the <code>bodyAction</code>.</p> - - - - <p>A composite <code>WhileLoopActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::whileLoops</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::whileLoops') - - - - - <p>The <code>whileArgument</code> of a <code>WhileLoopActionUsage</code> is its third input <code>parameter</code>, which, if it exists, must be an <code>Expression</code>.</p> - - - OCL2.0 - untilArgument = - let parameter : Feature = inputParameter(3) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - - - - - - <p>A <code>WhileLoopActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::whileLoopActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::whileLoopActions') - - - - - <p>The <code>whileArgument</code> of a <code>WhileLoopActionUsage</code> is its first input <code>parameter</code>, which must be an <code>Expression</code>.</p> - - - OCL2.0 - whileArgument = - let parameter : Feature = inputParameter(1) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - - - - - - <p>A <code>WhileLoopActionUsage</code> must have at least two owned <code>input</code> <code>parameters</code>.</p> - - - OCL2.0 - inputParameters()->size() >= 2 - - - - - - <p>The <code>Expression</code> whose result, if true, determines that the <code>bodyAction</code> should continue to be performed. It is the first owned <code>parameter</code> of the <code>WhileLoopActionUsage</code>.</p> - - - - - - - - - <p>The <code>Expression</code> whose result, if false, determines that the <code>bodyAction</code> should continue to be performed. It is the (optional) third owned <code>parameter</code> of the <code>WhileLoopActionUsage</code>.</p> - - - - - - - - - - - The <code>ForLoopActionUsage</code> that has a certain <code>ReferenceUsage</code> as its <code>loopVariable</code>. - - - - - - - - - <p>The AcceptActionUsage that owns the <code>payloadParameter</code>.</p> - - - - - - - - <p><code>TriggerKind</code> enumerates the kinds of triggers that can be represented by a <code>TriggerInvocationExpression</code>.</p> - - - - <p>Indicates a <em>change trigger</em>, corresponding to the <em><code>TriggerWhen</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the Kernel Semantic Library.</p> - - - - - <p>Indicates an <em>absolute time trigger</em>, corresponding to the <em><code>TriggerAt</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the Kernel Semantic Library.</p> - - - - - <p>Indicates a <em>relative time trigger</em>, corresponding to the <em><code>TriggerAfter</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the <code>Kernel Semantic Library.</p> - - - - - - - - - - - - <p>A <code>TriggerInvocationExpression</code> is an <code>InvocationExpression</code> that invokes one of the trigger <code>Functions</code> from the Kernel Semantic Library <code><em>Triggers<em></code> package, as indicated by its <code>kind</code>.</p> - - - - <p>If a <code>TriggerInvocationExpression</code> has <code>kind = after</code>, then it must have an argument <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>Quantities::ScalarQuantityValue</code></em> and a <code>feature</code> that directly or indirectly redefines <em><code>Quantities::TensorQuantityValue::mRef</code></em> and directly or indirectly specializes <em><code>ISQBase::DurationUnit</code></em>.</p> - - - OCL2.0 - kind = TriggerKind::after implies - argument->notEmpty() and - argument->at(1).result.specializesFromLibrary('Quantities::ScalarQuantityValue') and - let mRef : Element = - resolveGlobal('Quantities::TensorQuantityValue::mRef').ownedMemberElement in - argument->at(1).result.feature-> - select(ownedRedefinition.redefinedFeature-> - closure(ownedRedefinition.redefinedFeature)-> - includes(mRef))-> - exists(specializesFromLibrary('ISQBase::DurationUnit')) - - - - - <p>If a <code>TriggerInvocationExpression</code> has <code>kind = at</code>, then it must have an argument <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>Time::TimeInstantValue</code></em>.</p> - - - OCL2.0 - kind = TriggerKind::at implies - argument->notEmpty() and - argument->at(1).result.specializesFromLibrary('Time::TimeInstantValue') - - - - - <p>If a <code>TriggerInvocationExpression</code> has <code>kind = when</code>, then it must have an <code>argument</code> that is a <code>FeatureReferenceExpression</code> whose <code>referent</code> is an <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>ScalarValues::Boolean</code></em>.</p> - - - OCL2.0 - kind = TriggerKind::when implies - argument->notEmpty() and - argument->at(1).oclIsKindOf(FeatureReferenceExpression) and - let referent : Feature = - argument->at(1).oclAsType(FeatureReferenceExpression).referent in - referent.oclIsKindOf(Expression) and - referent.oclAsType(Expression).result.specializesFromLibrary('ScalarValues::Boolean') - - - - - - - - <p>Indicates which of the <code>Functions</code> from the <code><em>Triggers</em></code> model in the Kernel Semantic Library is to be invoked by this <code>TriggerInvocationExpression</code>.</p> - - - - - <p>Return one of the <code>Functions</code> <em><code>TriggerWhen</code></em>, <em><code>TriggerAt</code></em> or <em><code>TriggerAfter</code></em>, from the Kernel Semantic Library <em><code>Triggers</code></em> package, depending on whether the <code>kind</code> of this <code>TriggerInvocationExpression</code> is <code>when</code>, <code>at</code> or <code>after</code>, respectively.</p> - - - - OCL2.0 - resolveGlobal( - if kind = TriggerKind::when then - 'Triggers::TriggerWhen' - else if kind = TriggerKind::at then - 'Triggers::TriggerAt' - else - 'Triggers::TriggerAfter' - endif endif -).memberElement.oclAsType(Type) - - - - - - - - - - - - <p>The <code>SendActionUsage</code> that has a certain <code>Expression</code> as its <code>senderArgument</code>.</p> - - - - - - - - <p>A <code>TerminateActionUsage</code> is an <code>ActionUsage</code> that directly or indirectly specializes the <code>ActionDefinition</code> <em><code>TerminateAction</code></em> from the Systems Model Library, which causes a given <em><code>terminatedOccurrence</code></em> to end during its performance. By default, the <code>terminatedOccurrence</code> is the featuring instance (<em><code>that</code></em>) of the performance of the <code>TerminateActionUsage</code>, generally the performance of its immediately containing <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> - - - - <p>A <code>TerminateActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::terminateActions</code></em> from the Systems Modeling Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::terminateActions') - - - - - <p>The <code>terminatedOccurrenceArgument</code> of a <code>TerminateActionUsage</code> is its first argument.</p> - - - OCL2.0 - terminatedOccurrenceArgument = argument(1) - - - - - <p>A composite <code>TerminateActionUsage</code> that is a subaction must must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::terminateSubactions</code></em> from the Systems Modeling Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::terminateSubactions') - - - - - - <p>The <code>Expression</code> that is the <code>featureValue</code> of the <em><code>terminateOccurrence</code></em> <code>parameter</code> of this <code>TerminateActionUsage</code>. - - - - - - - - - - <p>The <code>TerminateActionUsage</code> that has a certain <code>Expression</code> as its <code>terminatedOccurrenceArgument</code>.</p> - - - - - - - - - - - <p>The Definitions that have a certain Usage as a <code>flow</code>.</p> - - - - - - - - - - - <p>The Definitions that feature a certain Usage.</p> - - - - - - - - - - <p>The Usage in which the <code>nestedPort</code> is nested (if any).</p> - - - - - - - - <p>A <code>Definition</code> is a <code>Classifier</code> of <code>Usages</code>. The actual kinds of <code>Definition</code> that may appear in a model are given by the subclasses of <code>Definition</code> (possibly as extended with user-defined <em><code>SemanticMetadata</code></em>).</p> + <p>An <code>AttributeUsage</code> must specialize, directly or indirectly, the base <code>Feature</code> <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> + + + + <p>An <code>AttributeUsage</code> is always referential.</p> + + + OCL2.0 + isReference + + + + + <p>All <code>features</code> of an <code>AttributeUsage</code> must be non-composite.</p> + + + OCL2.0 + feature->forAll(not isComposite) + + + + + <p>An <code>AttributeUsage</code> must directly or indirectly specialize <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Base::dataValues') + + + + + + <p>The <code>DataTypes</code> that are the types of this <code>AttributeUsage</code>. Nominally, these are <code>AttributeDefinitions</code>, but other kinds of kernel <code>DataTypes</code> are also allowed, to permit use of <code>DataTypes</code> from the Kernel Model Libraries.</p> + + + + + + + + <p>Always true for an <code>AttributeUsage</code>.</p> + + + + + + + + + + + <p>The PerformActionUsages that have a certain ActionUsage as their <code>performedAction</code>.</p> + + + + + + + + <p>An <code>AcceptActionUsage</code> is an <code>ActionUsage</code> that specifies the acceptance of an <em><code>incomingTransfer</code></em> from the <code><em>Occurrence</em></code> given by the result of its <code>receiverArgument</code> Expression. (If no <code>receiverArgument</code> is provided, the default is the <em><code>this</code></em> context of the AcceptActionUsage.) The payload of the accepted <em><code>Transfer</em></code> is output on its <code>payloadParameter</code>. Which <em><code>Transfers</em></code> may be accepted is determined by conformance to the typing and (potentially) binding of the <code>payloadParameter</code>.</p> + + + + + <p>An <code>AcceptUsageAction</code> must have at least two input <code>parameters</code>, corresponding to its <em><code>payload</code></em> and <em><code>receiver</code>, respectively (even if they have no <code>FeatureValue</code>). (Note that the <code>payloadParameter</code> is an input as well as an output.)</p> + + + OCL2.0 + inputParameters()->size() >= 2 + + + + + <p>The <code>receiverArgument</code> of an <code>AcceptUsageAction</code> is its second argument <code>Expression</code>.</p> + + + OCL2.0 + receiverArgument = argument(2) + + + + + <p>The <code>payloadArgument</code> of an <code>AcceptUsageAction</code> is its first argument <code>Expression</code>.</p> + + + OCL2.0 + payloadArgument = argument(1) + + + + + <p>The <code>payloadParameter</code> of an <code>AcceptActionUsage<code> is its first <code>parameter</code>.</p> + + + OCL2.0 + payloadParameter = + if parameter->isEmpty() then null + else parameter->first() endif + + + + + <p>An <code>AcceptActionUsage</code> that is not the <code>triggerAction</code> of a <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::acceptActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + not isTriggerAction() implies + specializesFromLibrary('Actions::acceptActions') + + + + + <p>A composite <code>AcceptActionUsage</code> that is a subaction usage, but is <em>not</em> the <code>triggerAction</code> of a <code>TransitionUsage</code>, must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::acceptSubactions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubactionUsage() and not isTriggerAction() implies + specializesFromLibrary('Actions::Action::acceptSubactions') + + + + + <p>An <code>AcceptActionUsage</code> that is the <code>triggerAction</code> of <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::TransitionAction::accepter</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isTriggerAction() implies + specializesFromLibrary('Actions::TransitionAction::accepter') + + + + + <p>If the <code>payloadArgument</code> of an <code>AcceptActionUsage</code> is a <code>TriggerInvocationExpression</code>, then the <code>AcceptActionusage</code> must have an <code>ownedFeature</code> that is a <code>BindingConnector</code> between its <code><em>receiver</em></code> <code>parameter</code> and the <code><em>receiver</em></code> <code>parameter</code> of the <code>TriggerInvocationExpression</code>.</p> + + + OCL2.0 + payloadArgument <> null and + payloadArgument.oclIsKindOf(TriggerInvocationExpression) implies + let invocation : Expression = + payloadArgument.oclAsType(Expression) in + parameter->size() >= 2 and + invocation.parameter->size() >= 2 and + ownedFeature->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(parameter->at(2)) and + b.relatedFeatures->includes(invocation.parameter->at(2))) + + + + + + <p>An <code>Expression</code> whose <code>result</code> is bound to the <em><code>receiver</code></em> input <code>parameter</code> of this <code>AcceptActionUsage</code>.</p> + + + + + + + + + <p>The <code>nestedReference</code> of this <code>AcceptActionUsage</code> that redefines the <code>payload</code> output <code>parameter</code> of the base <code>AcceptActionUsage</code> <em><code>AcceptAction</code></em> from the Systems Model Library.</p> + + + + + + + + + <p>An <code>Expression</code> whose <code>result</code> is bound to the <code><em>payload</em></code> <code>parameter</code> of this <code>AcceptActionUsage</code>. If provided, the <code>AcceptActionUsage</code> will only accept a <code><em>Transfer</em></code> with exactly this <code><em>payload</em></code>.</p> + + + + + + + + + <p>Check if this <code>AcceptActionUsage</code> is the <code>triggerAction</code> of a <code>TransitionUsage</code>.</p> + + + + OCL2.0 + owningType <> null and + owningType.oclIsKindOf(TransitionUsage) and + owningType.oclAsType(TransitionUsage).triggerAction->includes(self) + + + + + + + + + + + <p>The <code>SendActionUsage</code> that has a certain <code>Expression<code> as its <code>receiverArgument</code>.</p> + + + + + + + + <p>A <code>SendActionUsage</code> is an <code>ActionUsage</code> that specifies the sending of a payload given by the result of its <code>payloadArgument</code> <code>Expression</code> via a <em><code>MessageTransfer</code></em> whose <em><code>source</code></em> is given by the result of the <code>senderArgument</code> <code>Expression</code> and whose <code>target</code> is given by the result of the <code>receiverArgument</code> <code>Expression</code>. If no <code>senderArgument</code> is provided, the default is the <em><code>this</code></em> context for the action. If no <code>receiverArgument</code> is given, then the receiver is to be determined by, e.g., outgoing <em><code>Connections</code></em> from the sender.</p> + + + + + <p>The <code>senderArgument</code> of a <code>SendActionUsage</code> is its second argument <code>Expression</code>.</p> + + + OCL2.0 + senderArgument = argument(2) + + + + + <p>The <code>payloadArgument</code> of a <code>SendActionUsage</code> is its first argument <code>Expression</code>.</p> + + + OCL2.0 + payloadArgument = argument(1) + + + + + <p>A <code>SendActionUsage</code> must have at least three owned input <code>parameters</code>, corresponding to its <em><code>payload</code></em>, <em><code>sender</code></em> and <em><code>receiver</code></em>, respectively (whether or not they have <code>FeatureValues</code>).</p> + + + OCL2.0 + inputParameters()->size() >= 3 + + + + + <p>The <code>receiverArgument</code> of a <code>SendActionUsage</code> is its third argument <code>Expression</code>.</p> + + + OCL2.0 + receiverArgument = argument(3) + + + + + <p>A composite <code>SendActionUsage</code> that is a subaction must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::sendSubactions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubactionUsage() implies + specializesFromLibrary('Actions::Action::acceptSubactions') + + + + + <p>A <code>SendActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::sendActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::sendActions') + + + + + + <p>An <code>Expression</code> whose result is bound to the <em><code>receiver</code></em> input parameter of this <code>SendActionUsage</code>.</p> + + + + + + + + + <p>An <code>Expression</code> whose result is bound to the <code><em>payload</em></code> input parameter of this <code>SendActionUsage</code>.</p> + + + + + + + + + <p>An <code>Expression</code> whose result is bound to the <em><code>sender</code></em> input parameter of this <code>SendActionUsage</code>.</p> + + + + + + + + + + <p>A <code>PerformActionUsage</code> is an <code>ActionUsage</code> that represents the performance of an <code>ActionUsage</code>. Unless it is the <code>PerformActionUsage</code> itself, the <code>ActionUsage</code> to be performed is related to the <code>PerformActionUsage</code> by a <code>ReferenceSubsetting</code> relationship. A <code>PerformActionUsage</code> is also an <code>EventOccurrenceUsage</code>, with its <code>performedAction</code> as the <code>eventOccurrence</code>.</p> + + + + <p>If a <code>PerformActionUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be an <code>ActionUsage</code>.</p> + + + OCL2.0 + referencedFeatureTarget() <> null implies + referencedFeatureTarget().oclIsKindOf(ActionUsage) + + + + + <p>If a <code>PerformActionUsage</code> has an <code>owningType</code> that is a <code>PartDefinition</code> or <code>PartUsage</code>, then it must directly or indirectly specialize the <code>ActionUsage</code> <code><em>Parts::Part::performedActions</em></code>.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::performedActions') + + + + + + + <p>The <code>ActionUsage</code> to be performed by this <code>PerformedActionUsage</code>. It is the <code>eventOccurrence</code> of the <code>PerformActionUsage</code> considered as an <code>EventOccurrenceUsage</code>, which must be an <code>ActionUsage</code>.</p> + + + + + + + + <p>The naming <code>Feature</code> of a <code>PerformActionUsage</code> is its <code>performedAction</code>, if this is different than the <code>PerformActionUsage</code>. If the <code>PerformActionUsage</code> is its own <code>performedAction</code>, then the naming <code>Feature</code> is the same as the usual default for a <code>Usage</code>.</p> + + + + OCL2.0 + if performedAction <> self then performedAction + else self.oclAsType(Usage).namingFeature() + endif + + + + + + + + + + + + <p>A <code>ForkNode</code> is a <code>ControlNode</code> that must be followed by successor <code>Actions</code> as given by all its outgoing <code>Successions</code>.</p> + + + + <p>A <code>ForkNode</code> may have at most one incoming <code>Succession</code>.</p> + + + OCL2.0 + targetConnector->selectByKind(Succession)->size() <= 1 + + + + + <p>A <code>ForkNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::forks</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::Action::forks') + + + + + + + <p>A <code>JoinNode</code> is a <code>ControlNode</code> that waits for the completion of all the predecessor <code>Actions</code> given by incoming <code>Successions</code>.</p> + + + + <p>A <code>JoinNode</code> may have at most one outgoing <code>Succession</code>.</p> + + + OCL2.0 + sourceConnector->selectByKind(Succession)->size() <= 1 + + + + + <p>A <code>JoinNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::joins</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::Action::join') + + + + + + + <p>A <code>ControlNode</code> is an <code>ActionUsage</code> that does not have any inherent behavior but provides constraints on incoming and outgoing <code>Successions</code> that are used to control other <code>Actions</code>. A <code>ControlNode</code> must be a composite owned <code>usage</code> of an <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> + + + + + <p>All outgoing <code>Successions</code> from a <code>ControlNode</code> must have a source <code>multiplicity</code> of <code>1..1</code>.</p> + + + OCL2.0 + sourceConnector->selectByKind(Succession)-> + collect(connectorEnd->at(1).multiplicity)-> + forAll(sourceMult | + multiplicityHasBounds(sourceMult, 1, 1)) + + + + + <p>The <code>owningType</code> of a <code>ControlNode</code> must be an <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(ActionDefinition) or + owningType.oclIsKindOf(ActionUsage)) + + + + + <p>All incoming <code>Successions</code> to a <code>ControlNode</code> must have a target <code>multiplicity</code> of <code>1..1</code>.</p> + + + OCL2.0 + targetConnector->selectByKind(Succession)-> + collect(connectorEnd->at(2).multiplicity)-> + forAll(targetMult | + multiplicityHasBounds(targetMult, 1, 1)) + + + + + <p>A <code>ControlNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::control</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Action::Action::controls') + + + + + <p>A <code>ControlNode</code> must be composite.</p> + + + OCL2.0 + isComposite + + + + + + <p>Check that the given <code>Multiplicity</code> has <code>lowerBound</code> and <code>upperBound</code> expressions that are model-level evaluable to the given <code>lower</code> and <code>upper</code> values.</p> + + + + OCL2.0 + mult <> null and + if mult.oclIsKindOf(MultiplicityRange) then + mult.oclAsType(MultiplicityRange).hasBounds(lower, upper) + else + mult.allSuperTypes()->exists( + oclisKindOf(MultiplicityRange) and + oclAsType(MultiplicityRange).hasBounds(lower, upper) + endif + + + + + + + + + + + + + + + + + + + <p>An <code>ActionUsage</code> is a <code>Usage</code> that is also a <code>Step</code>, and, so, is typed by a <code>Behavior</code>. Nominally, if the type is an <code>ActionDefinition</code>, an <code>ActionUsage</code> is a <code>Usage</code> of that <code>ActionDefinition</code> within a system. However, other kinds of kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> + + + + + <p>A composite <code>ActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::subactions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubactionUsage() implies + specializesFromLibrary('Actions::Action::subactions') + + + + + <p>An <code>ActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::actions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::actions') + + + + + <p>A composite <code>ActionUsage</code> whose <code>owningType</code> is <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Parts::Part::ownedActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::ownedActions') + + + + + <p>An <code>ActionUsage</code> that is the <code><em>entry</em></code>, <code><em>do</em></code>, or <code><em>exit</em></code> <code><em>Action</em></code> of a <code>StateDefinition</code> or <code>StateUsage</code> must redefine the <code>entryAction</code>, <code>doAction</code>, or <code>exitAction</code> <code>feature</code>, respectively, of the <code>StateDefinition</code> <code><em>States::StateAction</em></code> from the Systems Model Library.</p> + + + OCL2.0 + owningFeatureMembership <> null and + owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies + let kind : StateSubactionKind = + owningFeatureMembership.oclAsType(StateSubactionMembership).kind in + if kind = StateSubactionKind::entry then + redefinesFromLibrary('States::StateAction::entryAction') + else if kind = StateSubactionKind::do then + redefinesFromLibrary('States::StateAction::doAction') + else + redefinesFromLibrary('States::StateAction::exitAction') + endif endif + + + + + + + + + <p>The <code>Behaviors</code> that are the <code>types</code> of this <code>ActionUsage</code>. Nominally, these would be <code>ActionDefinitions</code>, but other kinds of Kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> + + + + + + + + + + + <p>Return the owned input <code>parameters</code> of this <code>ActionUsage</code>.</p> + + + + OCL2.0 + input->select(f | f.owner = self) + + + + + + + + + + + <p>Return the <code>i</code>-th owned input <code>parameter</code> of the <code>ActionUsage</code>. Return null if the <code>ActionUsage</code> has less than <code>i</code> owned input <code>parameters</code>.</p> + + + + OCL2.0 + if inputParameters()->size() < i then null + else inputParameters()->at(i) + endif + + + + + + + + + + + + + + <p>Return the <code>i</code>-th argument <code>Expression</code> of an <code>ActionUsage</code>, defined as the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> of the <code>i</code>-th owned input <code>parameter</code> of the <code>ActionUsage</code>. Return null if the <code>ActionUsage</code> has less than <code>i</code> owned input <code>parameters</code> or the <code>i</code>-th owned input <code>parameter</code> has no <code>FeatureValue</code>.</p> + + + + OCL2.0 + if inputParameter(i) = null then null + else + let featureValue : Sequence(FeatureValue) = inputParameter(i). + ownedMembership->select(oclIsKindOf(FeatureValue)) in + if featureValue->isEmpty() then null + else featureValue->at(1).value + endif + endif + + + + + + + + + + + + + + <p>Check if this <code>ActionUsage</code> is composite and has an <code>owningType</code> that is an <code>ActionDefinition</code> or <code>ActionUsage</code> but is <em>not</em> the <code>entryAction</code> or <code>exitAction</em></code> of a <code>StateDefinition</code> or <code>StateUsage</code>. If so, then it represents an <code><em>Action</em></code> that is a <code><em>subaction</em></code> of another <code><em>Action</em></code>.</p> + + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(ActionDefinition) or + owningType.oclIsKindOf(ActionUsage)) and + (owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies + owningFeatureMembership.oclAsType(StateSubactionMembership).kind = + StateSubactionKind::do) + + + + + + + + + + + <p>The Activities that feature a certain ActionUsage.</p> + + + + + + + + + + <p>A <code>DecisionNode</code> is a <code>ControlNode</code> that makes a selection from its outgoing <code>Successions</code>.</p> + + + + <p>A <code>DecisionNode</code> may have at most one incoming <code>Succession</code>.</p> + + + OCL2.0 + targetConnector->selectByKind(Succession)->size() <= 1 + + + + + <p>All outgoing <code>Successions</code> from a <code>DecisionNode</code> must have a target <code>multiplicity</code> of <code>0..1</code>.</p> + + + OCL2.0 + sourceConnector->selectAsKind(Succession)-> + collect(connectorEnd->at(2))-> + forAll(targetMult | + multiplicityHasBounds(targetMult, 0, 1)) + + + + + <p>A <code>DecisionNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::decisions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::Action::decisions') + + + + + <p>All outgoing <code>Successions</code> from a <code>DecisionNode</code> must subset the inherited <em><code>outgoingHBLink</code></em> <code>feature</code> of the <code>DecisionNode</code>.</p> + + + OCL2.0 + sourceConnector->selectByKind(Succession)-> + forAll(subsetsChain(self, + resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink'))) + + + + + + + <p>A <code>MergeNode</code> is a <code>ControlNode</code> that asserts the merging of its incoming <code>Successions</code>. A <code>MergeNode</code> may have at most one outgoing <code>Successions</code>.</p> + + + + <p>A <code>MergeNode</code> may have at most one outgoing <code>Succession</code>.</p> + + + OCL2.0 + sourceConnector->selectAsKind(Succession)->size() <= 1 + + + + + <p>All incoming <code>Successions</code> to a <code>MergeNode</code> must have a source <code>multiplicity</code> of <code>0..1</code>.</p> + + + OCL2.0 + targetConnector->selectByKind(Succession)-> + collect(connectorEnd->at(1))-> + forAll(sourceMult | + multiplicityHasBounds(sourceMult, 0, 1)) + + + + + <p>All incoming <code>Successions</code> to a <code>MergeNode</code> must subset the inherited <em><code>incomingHBLink</code></em> <code>feature</code> of the <code>MergeNode</code>.</p> + + + OCL2.0 + targetConnector->selectByKind(Succession)-> + forAll(subsetsChain(self, + resolveGlobal('ControlPerformances::MergePerformance::incomingHBLink'))) + + + + + <p>A <code>MergeNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::merges</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::Action::merges') + + + + + + + + <p>The ActionUsages being typed by a certain Behavior.</p> + + + + + + + + + + <p>An <code>ActionDefinition</code> is a <code>Definition</code> that is also a <code>Behavior</code> that defines an <em><code>Action</code></em> performed by a system or part of a system.</p> + + + + <p>An <code>ActionDefinition</code> must directly or indirectly specialize the <code>ActionDefinition</code> <em><code>Actions::Action</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::Action') + + + + + <p> The <code>actions</code> of a <code>ActionDefinition</code> are those of its <code>usages</code> that are <code>ActionUsages</code>.</p> + + + OCL2.0 + action = usage->selectByKind(ActionUsage) + + + + + + + + + <p>The <code>ActionUsages</code> that are <code>steps</code> in this <code>ActionDefinition</code>, which define the actions that specify the behavior of the <code>ActionDefinition</code>.</p> + + + + + + + + + + + + <p>The <code>SendActionUsage</code> that has a certain <code>Expression</code> as its <code>itemsArgument</code>.</p> + + + + + + + + + <p>The AcceptActionUsage that has a certain Expression as its <code>receiverArgument</code>.</p> + + + + + + + + + <p>The AssignmentActionUsages that gave a certain <code>referent</code> Expression.</p> + + + + + + + + + + <p>The <code>ForLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>seqArgument</code>.</p> + + + + + + + + <p>An <code>IfActionUsage</code> is an <code>ActionUsage</code> that specifies that the <code>thenAction</code> <code>ActionUsage</code> should be performed if the result of the <code>ifArgument</code> <code>Expression</code> is true. It may also optionally specify an <code>elseAction</code> <code>ActionUsage</code> that is performed if the result of the <code>ifArgument</code> is false.</p> + + + + <p>The <code>thenAction</code> of an <code>ifActionUsage</code> is its second <code>parameter</code>, which must be an <code>ActionUsage</code>.</p> + + + OCL2.0 + thenAction = + let parameter : Feature = inputParameter(2) in + if parameter <> null and parameter.oclIsKindOf(ActionUsage) then + parameter.oclAsType(ActionUsage) + else + null + endif + + + + + <p>A composite <code>IfActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::ifSubactions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubactionUsage() implies + specializesFromLibrary('Actions::Action::ifSubactions') + + + + + <p>A <code>IfActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::ifThenActions</code></em> from the Systems Model Library. If it has an <code>elseAction</code>, then it must directly or indirectly specialize <em><code>Actions::ifThenElseActions</code></em>. + + + OCL2.0 + if elseAction = null then + specializesFromLibrary('Actions::ifThenActions') + else + specializesFromLibrary('Actions::ifThenElseActions') + endif + + + + + <p>The <code>ifArgument</code> of an <code>ifActionUsage</code> is its first <code>parameter</code>, which must be an <code>Expression</code>.</p> + + + OCL2.0 + ifArgument = + let parameter : Feature = inputParameter(1) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif + + + + + <p>The <code>elseAction</code> of an <code>ifActionUsage</code> is its third <code>parameter</code>, if there is one, which must then be an <code>ActionUsage</code>.</p> + + + OCL2.0 + elseAction = + let parameter : Feature = inputParameter(3) in + if parameter <> null and parameter.oclIsKindOf(ActionUsage) then + parameter.oclAsType(ActionUsage) + else + null + endif + + + + + <p>An <code>IfActionUsage</code> must have at least two owned <code>input</code> <code>parameters</code>.</p> + + + OCL2.0 + inputParameters()->size() >= 2 + + + + + + <p>The <code>ActionUsage</code> that is to be performed if the result of the <code>ifArgument</code> is false. It is the (optional) third <code>parameter</code> of the <code>IfActionUsage</code>.</p> + + + + + + + + <p>The <code>ActionUsage</code> that is to be performed if the result of the <code>ifArgument</code> is true. It is the second <code>parameter<code> of the <code>IfActionUsage</code>.</p> + + + + + + + + <p>The <code>Expression</code> whose result determines whether the <code>thenAction</code> or (optionally) the <code>elseAction</code> is performed. It is the first <code>parameter<code> of the <code>IfActionUsage</code>.</p> + + + + + + + + + + + <p>The AssignmentActionUsage that has a certain Expression as its <code>targetArgument</code>.</p> + + + + + + + + + <p>The <code>WhileLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>untilArgument</code>.</p> + + + + + + + + + <p>The <code>WhileLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>whileArgument</code>.</p> + + + + + + + + + <p>The <code>LoopActionUsage</code> that has a certain <code>ActionUsage</code> as its <code>bodyAction</code>.</p> + + + + + + + + + <p>The IfActionUsage that has a certain ActionUsage as its <code>elseAction</code>.</p> + + + + + + + + + <p>The <code>IfActionUsage</code> that has a certain <code>Expression</code> as its <code>ifArgument</code>.</p> + + + + + + + + + <p>The <code>IfActionUsage</code> that has a certain <code>ActionUsage</code> as its <code>thenAction</code>.</p> + + + + + + + + <p>A <code>LoopActionUsage</code> is an <code>ActionUsage</code> that specifies that its <code>bodyAction</code> should be performed repeatedly. Its subclasses <code>WhileLoopActionUsage</code> and <code>ForLoopActionUsage</code> provide different ways to determine how many times the <code>bodyAction</code> should be performed.</p> + + + + <p>The <code>bodyAction</code> of a <code>LoopActionUsage</code> is its second input <code>parameter</code>, which must be an <code>Action</code>.</p> + + + OCL2.0 + bodyAction = + let parameter : Feature = inputParameter(2) in + if parameter <> null and parameter.oclIsKindOf(Action) then + parameter.oclAsType(Action) + else + null + endif + + + + + + + <p>The <code>ActionUsage</code> to be performed repeatedly by the <code>LoopActionUsage</code>. It is the second <code>parameter</code> of the <code>LoopActionUsage</code>.</p> + + + + + + + + + + <p>The AssignmentActionUsage that has a certain Expression as its <code>valueArgument</code>.</p> + + + + + + + + <p>A <code>ForLoopActionUsage</code> is a <code>LoopActionUsage</code> that specifies that its <code>bodyAction</code> <code>ActionUsage</code> should be performed once for each value, in order, from the sequence of values obtained as the result of the <code>seqArgument</code> <code>Expression</code>, with the <code>loopVariable</code> set to the value for each iteration.</p> + + + + <p>The <code>seqArgument</code> of a <code>ForLoopActionUsage</code> is its first argument <code>Expression</code>.</p> + + + OCL2.0 + seqArgument = argument(1) + + + + + + <p>A composite <code>ForLoopActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::forLoops</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubactionUsage() implies + specializesFromLibrary('Actions::Action::forLoops') + + + + + <p>The <code>loopVariable</code> of a <code>ForLoopActionUsage</code> must redefine the <code>ActionUsage</code> <code><em>Actions::ForLoopAction::var</em></code>.</p> + + + OCL2.0 + loopVariable <> null and + loopVariable.redefinesFromLibrary('Actions::ForLoopAction::var') + + + + + <p>A <code>ForLoopActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::forLoopActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::forLoopActions') + + + + + <p>The <code>loopVariable</code> of a <code>ForLoopActionUsage</code> is its first <code>ownedFeature</code>, which must be a <code>ReferenceUsage</code>.</p> + + + OCL2.0 + loopVariable = + if ownedFeature->isEmpty() or + not ownedFeature->first().oclIsKindOf(ReferenceUsage) then + null + else + ownedFeature->first().oclAsType(ReferenceUsage) + endif + + + + + <p>The first <code>ownedFeature</code> of a <code>ForLoopActionUsage</code> must be a <code>ReferenceUsage</code>.</p> + + + OCL2.0 + ownedFeature->notEmpty() and + ownedFeature->at(1).oclIsKindOf(ReferenceUsage) + + + + + + <p>A <code>ForLoopActionUsage</code> must have two owned <code>input</code> <code>parameters</code>.</p> + + + OCL2.0 + inputParameters()->size() = 2 + + + + + + <p>The <code>Expression</code> whose result provides the sequence of values to which the <code>loopVariable</code> is set for each iterative performance of the <code>bodyAction</code>. It is the <code>Expression</code> whose <code>result</code> is bound to the <em><code>seq</code></em> <code>input</code> <code>parameter</code> of this <code>ForLoopActionUsage</code>.</p> + + + + + + + + + <p>The <code>ownedFeature</code> of this <co>ForLoopActionUsage</code> that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the <code>ownedFeature</code> that redefines <em><code>ForLoopAction::var</code></em>.</p> + + + + + + + + <p>An <code>AssignmentActionUsage</code> is an <code>ActionUsage</code> that is defined, directly or indirectly, by the <code>ActionDefinition</code> <em><code>AssignmentAction</code></em> from the Systems Model Library. It specifies that the value of the <code>referent</code> <code>Feature</code>, relative to the target given by the result of the <code>targetArgument</code> <code>Expression</code>, should be set to the result of the <code>valueExpression</code>.</p> + + + + + <p>An <code>AssignmentActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::assignmentActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::assignmentActions') + + + + + <p>The first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine <code><em>AssignmentAction::target::startingAt</em></code>.</p> + + + OCL2.0 + let targetParameter : Feature = inputParameter(1) in + targetParameter <> null and + targetParameter.ownedFeature->notEmpty() and + targetParameter.ownedFeature->first(). + redefines('AssignmentAction::target::startingAt') + + + + + <p>The <code>valueExpression</code> of a <code>AssignmentActionUsage</code> is its second argument <code>Expression</code>.</p> + + + OCL2.0 + valueExpression = argument(2) + + + + + <p>The <code>targetArgument</code> of a <code>AssignmentActionUsage</code> is its first argument <code>Expression</code>.</p> + + + OCL2.0 + targetArgument = argument(1) + + + + + <p>A composite <code>AssignmentActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::assignments</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubactionUsage() implies + specializesFromLibrary('Actions::Action::assignments') + + + + + <p>The first <code>ownedFeature</code> of the first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine <code><em>AssignmentAction::target::startingAt::accessedFeature</em></code>.</p> + + + OCL2.0 + let targetParameter : Feature = inputParameter(1) in + targetParameter <> null and + targetParameter.ownedFeature->notEmpty() and + targetParameter->first().ownedFeature->notEmpty() and + targetParameter->first().ownedFeature->first(). + redefines('AssigmentAction::target::startingAt::accessedFeature') + + + + + <p>The first <code>ownedFeature</code> of the first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine the <code>referent</code> of the <code>AssignmentActionUsage</code>.</p> + + + OCL2.0 + let targetParameter : Feature = inputParameter(1) in + targetParameter <> null and + targetParameter.ownedFeature->notEmpty() and + targetParameter->first().ownedFeature->notEmpty() and + targetParameter->first().ownedFeature->first().redefines(referent) + + + + + <p>The <code>referent</code> of an <code>AssignmentActionUsage</code> is the first <code>Feature</code> that is the <code>memberElement</code> of a <code>ownedMembership</code> that is not a <code>FeatureMembership</code>.</p> + + + OCL2.0 + referent = + let unownedFeatures : Sequence(Feature) = ownedMembership-> + reject(oclIsKindOf(FeatureMembership)).memberElement-> + selectByKind(Feature) in + if unownedFeatures->isEmpty() then null + else unownedFeatures->first().oclAsType(Feature) + endif + + + + + <p>An <code>AssignmentActionUsage</code> must have an <code>ownedMembership</code> that is not an <code>OwningMembership</code> and whose <code>memberElement</code> is a <code>Feature</code>.</p> + + + OCL2.0 + ownedMembership->exists( + not oclIsKindOf(OwningMembership) and + memberElement.oclIsKindOf(Feature)) + + + + + <p>The <code>featureTarget</code> of the <code>referent</code> of an <code>AssignmentActionUsage</code> must be able to have time-varying values.</p> + + + OCL2.0 + referent <> null implies referent.featureTarget.mayTimeVary + + + + + + <p>The <code>Expression</code> whose value is an occurrence in the domain of the <code>referent</code> <code>Feature</code>, for which the value of the <code>referent</code> will be set to the result of the <code>valueExpression</code> by this <code>AssignmentActionUsage</code>.</p> + + + + + + + + <p>The <code>Expression</code> whose result is to be assigned to the <code>referent</code> <code>Feature</code>.</p> + + + + + + + + <p>The <code>Feature</code> whose value is to be set.</p> + + + + + + + + + + <p>A <code>WhileLoopActionUsage</code> is a <code>LoopActionUsage</code> that specifies that the <code>bodyAction</code> <code>ActionUsage</code> should be performed repeatedly while the result of the <code>whileArgument</code> <code>Expression</code> is true or until the result of the <code>untilArgument</code> <code>Expression</code> (if provided) is true. The <code>whileArgument</code> <code>Expression</code> is evaluated before each (possible) performance of the <code>bodyAction</code>, and the <code>untilArgument</code> <code>Expression</code> is evaluated after each performance of the <code>bodyAction</code>.</p> + + + + <p>A composite <code>WhileLoopActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::whileLoops</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubactionUsage() implies + specializesFromLibrary('Actions::Action::whileLoops') + + + + + <p>The <code>whileArgument</code> of a <code>WhileLoopActionUsage</code> is its third input <code>parameter</code>, which, if it exists, must be an <code>Expression</code>.</p> + + + OCL2.0 + untilArgument = + let parameter : Feature = inputParameter(3) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif + + + + + + <p>A <code>WhileLoopActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::whileLoopActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::whileLoopActions') + + + + + <p>The <code>whileArgument</code> of a <code>WhileLoopActionUsage</code> is its first input <code>parameter</code>, which must be an <code>Expression</code>.</p> + + + OCL2.0 + whileArgument = + let parameter : Feature = inputParameter(1) in + if parameter <> null and parameter.oclIsKindOf(Expression) then + parameter.oclAsType(Expression) + else + null + endif + + + + + + <p>A <code>WhileLoopActionUsage</code> must have at least two owned <code>input</code> <code>parameters</code>.</p> + + + OCL2.0 + inputParameters()->size() >= 2 + + + + + + <p>The <code>Expression</code> whose result, if true, determines that the <code>bodyAction</code> should continue to be performed. It is the first owned <code>parameter</code> of the <code>WhileLoopActionUsage</code>.</p> + + + + + + + + + <p>The <code>Expression</code> whose result, if false, determines that the <code>bodyAction</code> should continue to be performed. It is the (optional) third owned <code>parameter</code> of the <code>WhileLoopActionUsage</code>.</p> + + + + + + + + + + + The <code>ForLoopActionUsage</code> that has a certain <code>ReferenceUsage</code> as its <code>loopVariable</code>. + + + + + + + + + <p>The AcceptActionUsage that owns the <code>payloadParameter</code>.</p> + + + + + + + + <p><code>TriggerKind</code> enumerates the kinds of triggers that can be represented by a <code>TriggerInvocationExpression</code>.</p> + + + + <p>Indicates a <em>change trigger</em>, corresponding to the <em><code>TriggerWhen</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the Kernel Semantic Library.</p> + + + + + <p>Indicates an <em>absolute time trigger</em>, corresponding to the <em><code>TriggerAt</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the Kernel Semantic Library.</p> + + + + + <p>Indicates a <em>relative time trigger</em>, corresponding to the <em><code>TriggerAfter</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the <code>Kernel Semantic Library.</p> + + + + + + + + + + + + <p>A <code>TriggerInvocationExpression</code> is an <code>InvocationExpression</code> that invokes one of the trigger <code>Functions</code> from the Kernel Semantic Library <code><em>Triggers<em></code> package, as indicated by its <code>kind</code>.</p> + + + + <p>If a <code>TriggerInvocationExpression</code> has <code>kind = after</code>, then it must have an argument <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>Quantities::ScalarQuantityValue</code></em> and a <code>feature</code> that directly or indirectly redefines <em><code>Quantities::TensorQuantityValue::mRef</code></em> and directly or indirectly specializes <em><code>ISQBase::DurationUnit</code></em>.</p> + + + OCL2.0 + kind = TriggerKind::after implies + argument->notEmpty() and + argument->at(1).result.specializesFromLibrary('Quantities::ScalarQuantityValue') and + let mRef : Element = + resolveGlobal('Quantities::TensorQuantityValue::mRef').ownedMemberElement in + argument->at(1).result.feature-> + select(ownedRedefinition.redefinedFeature-> + closure(ownedRedefinition.redefinedFeature)-> + includes(mRef))-> + exists(specializesFromLibrary('ISQBase::DurationUnit')) + + + + + <p>If a <code>TriggerInvocationExpression</code> has <code>kind = at</code>, then it must have an argument <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>Time::TimeInstantValue</code></em>.</p> + + + OCL2.0 + kind = TriggerKind::at implies + argument->notEmpty() and + argument->at(1).result.specializesFromLibrary('Time::TimeInstantValue') + + + + + <p>If a <code>TriggerInvocationExpression</code> has <code>kind = when</code>, then it must have an <code>argument</code> that is a <code>FeatureReferenceExpression</code> whose <code>referent</code> is an <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>ScalarValues::Boolean</code></em>.</p> + + + OCL2.0 + kind = TriggerKind::when implies + argument->notEmpty() and + argument->at(1).oclIsKindOf(FeatureReferenceExpression) and + let referent : Feature = + argument->at(1).oclAsType(FeatureReferenceExpression).referent in + referent.oclIsKindOf(Expression) and + referent.oclAsType(Expression).result.specializesFromLibrary('ScalarValues::Boolean') + + + + + + + + <p>Indicates which of the <code>Functions</code> from the <code><em>Triggers</em></code> model in the Kernel Semantic Library is to be invoked by this <code>TriggerInvocationExpression</code>.</p> + + + + + <p>Return one of the <code>Functions</code> <em><code>TriggerWhen</code></em>, <em><code>TriggerAt</code></em> or <em><code>TriggerAfter</code></em>, from the Kernel Semantic Library <em><code>Triggers</code></em> package, depending on whether the <code>kind</code> of this <code>TriggerInvocationExpression</code> is <code>when</code>, <code>at</code> or <code>after</code>, respectively.</p> + + + + OCL2.0 + resolveGlobal( + if kind = TriggerKind::when then + 'Triggers::TriggerWhen' + else if kind = TriggerKind::at then + 'Triggers::TriggerAt' + else + 'Triggers::TriggerAfter' + endif endif + ).memberElement.oclAsType(Type) + + + + + + + + + + + + <p>The <code>SendActionUsage</code> that has a certain <code>Expression</code> as its <code>senderArgument</code>.</p> + + + + + + + + <p>A <code>TerminateActionUsage</code> is an <code>ActionUsage</code> that directly or indirectly specializes the <code>ActionDefinition</code> <em><code>TerminateAction</code></em> from the Systems Model Library, which causes a given <em><code>terminatedOccurrence</code></em> to end during its performance. By default, the <code>terminatedOccurrence</code> is the featuring instance (<em><code>that</code></em>) of the performance of the <code>TerminateActionUsage</code>, generally the performance of its immediately containing <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> + + + + <p>A <code>TerminateActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::terminateActions</code></em> from the Systems Modeling Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::terminateActions') + + + + + <p>The <code>terminatedOccurrenceArgument</code> of a <code>TerminateActionUsage</code> is its first argument.</p> + + + OCL2.0 + terminatedOccurrenceArgument = argument(1) + + + + + <p>A composite <code>TerminateActionUsage</code> that is a subaction must must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::terminateSubactions</code></em> from the Systems Modeling Library.</p> + + + OCL2.0 + isSubactionUsage() implies + specializesFromLibrary('Actions::Action::terminateSubactions') + + + + + + <p>The <code>Expression</code> that is the <code>featureValue</code> of the <em><code>terminateOccurrence</code></em> <code>parameter</code> of this <code>TerminateActionUsage</code>. + + + + + + + + + + <p>The <code>TerminateActionUsage</code> that has a certain <code>Expression</code> as its <code>terminatedOccurrenceArgument</code>.</p> + + + + + + + + + + + <p>The Definitions that have a certain Usage as a <code>flow</code>.</p> + + + + + + + + + + + <p>The Definitions that feature a certain Usage.</p> + + + + + + + + + + <p>The Usage in which the <code>nestedPort</code> is nested (if any).</p> + + + + + + + + <p>A <code>Definition</code> is a <code>Classifier</code> of <code>Usages</code>. The actual kinds of <code>Definition</code> that may appear in a model are given by the subclasses of <code>Definition</code> (possibly as extended with user-defined <em><code>SemanticMetadata</code></em>).</p> -<p>Normally, a <code>Definition</code> has owned Usages that model <code>features</code> of the thing being defined. A <code>Definition</code> may also have other <code>Definitions</code> nested in it, but this has no semantic significance, other than the nested scoping resulting from the <code>Definition</code> being considered as a <code>Namespace</code> for any nested <code>Definitions</code>.</p> + <p>Normally, a <code>Definition</code> has owned Usages that model <code>features</code> of the thing being defined. A <code>Definition</code> may also have other <code>Definitions</code> nested in it, but this has no semantic significance, other than the nested scoping resulting from the <code>Definition</code> being considered as a <code>Namespace</code> for any nested <code>Definitions</code>.</p> -<p>However, if a <code>Definition</code> has <code>isVariation</code> = <code>true</code>, then it represents a <em>variation point</em> <code>Definition</code>. In this case, all of its <code>members</code> must be <code>variant</code> <code>Usages</code>, related to the <code>Definition</code> by <code>VariantMembership</code> <code>Relationships</code>. Rather than being <code>features</code> of the <code>Definition</code>, <code>variant</code> <code>Usages</code> model different concrete alternatives that can be chosen to fill in for an abstract <code>Usage</code> of the variation point <code>Definition</code>.</p> - - - - - <p>If a <code>Definition</code> is a variation, then all it must not have any <code>ownedFeatureMemberships</code>.</p> - - - OCL2.0 - isVariation implies ownedFeatureMembership->isEmpty() - - - - - <p>The <code>variants</code> of a <code>Definition</code> are the <code>ownedVariantUsages</code> of its <code>variantMemberships</code>.</p> - - - OCL2.0 - variant = variantMembership.ownedVariantUsage - - - - - <p>The <code>variantMemberships</code> of a <code>Definition</code> are those <code>ownedMemberships</code> that are <code>VariantMemberships</code>.</p> - - - OCL2.0 - variantMembership = ownedMembership->selectByKind(VariantMembership) - - - - - <p>A variation <code>Definition</code> may not specialize any other variation <code>Definition</code>.</p> - - - OCL2.0 - isVariation implies - not ownedSpecialization.specific->exists( - oclIsKindOf(Definition) and - oclAsType(Definition).isVariation) - - - - - <p>The <code>usages</code> of a <code>Definition</code> are all its <code>features</code> that are <code>Usages</code>.</p> - - - OCL2.0 - usage = feature->selectByKind(Usage) - - - - - <p>The <code>directedUsages</code> of a <code>Definition</code> are all its <code>directedFeatures</code> that are <code>Usages</code>.</p> - - - OCL2.0 - directedUsage = directedFeature->selectByKind(Usage) - - - - - <p>The <code>ownedUsages</code> of a <code>Definition</code> are all its <code>ownedFeatures</code> that are <code>Usages</code>.</p> - - - OCL2.0 - ownedUsage = ownedFeature->selectByKind(Usage) - - - - - <p>The <code>ownedAttributes</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AttributeUsages</code>.</p> - - - OCL2.0 - ownedAttribute = ownedUsage->selectByKind(AttributeUsage) - - - - - <p>The <code>ownedReferences</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ReferenceUsages</code>.</p> - - - OCL2.0 - ownedReference = ownedUsage->selectByKind(ReferenceUsage) - - - - - <p>The <code>ownedEnumerations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>EnumerationUsages</code>.</p> - - - OCL2.0 - ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage) - - - - - <p>The <code>ownedOccurrences</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>OccurrenceUsages</code>.</p> - - - OCL2.0 - ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage) - - - - - <p>The <code>ownedItems</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ItemUsages</code>.</p> - - - OCL2.0 - ownedItem = ownedUsage->selectByKind(ItemUsage) - - - - - <p>The <code>ownedParts</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>PartUsages</code>.</p> - - - OCL2.0 - ownedPart = ownedUsage->selectByKind(PartUsage) - - - - - <p>The <code>ownedPorts</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>PortUsages</code>.</p> - - - OCL2.0 - ownedPort = ownedUsage->selectByKind(PortUsage) - - - - - <p>The <code>ownedConnections</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConnectorAsUsages</code>.</p> - - - OCL2.0 - ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage) - - - - - <p>The <code>ownedFlows</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>FlowUsages</code>.</p> - - - OCL2.0 - ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage) - - - - - <p>The <code>ownedInterfaces</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>InterfaceUsages</code>.</p> - - - OCL2.0 - ownedInterface = ownedUsage->selectByKind(ReferenceUsage) - - - - - <p>The <code>ownedAllocations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AllocationUsages</code>.</p> - - - OCL2.0 - ownedAllocation = ownedUsage->selectByKind(AllocationUsage) - - - - - <p>The <code>ownedActions</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ActionUsages</code>.</p> - - - OCL2.0 - ownedAction = ownedUsage->selectByKind(ActionUsage) - - - - - <p>The <code>ownedStates</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>StateUsages</code>.</p> - - - OCL2.0 - ownedState = ownedUsage->selectByKind(StateUsage) - - - - - <p>The <code>ownedTransitions</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>TransitionUsages</code>.</p> - - - OCL2.0 - ownedTransition = ownedUsage->selectByKind(TransitionUsage) - - - - - <p>The <code>ownedCalculations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>CalculationUsages</code>.</p> - - - OCL2.0 - ownedCalculation = ownedUsage->selectByKind(CalculationUsage) - - - - - <p>The <code>ownedConstraints</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConstraintUsages</code>.</p> - - - OCL2.0 - ownedConstraint = ownedUsage->selectByKind(ConstraintUsage) - - - - - <p>The <code>ownedRequirements</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>RequirementUsages</code>.</p> - - - OCL2.0 - ownedRequirement = ownedUsage->selectByKind(RequirementUsage) - - - - - <p>The <code>ownedConcerns</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConcernUsages</code>.</p> - - - OCL2.0 - ownedConcern = ownedUsage->selectByKind(ConcernUsage) - - - - - <p>The <code>ownedCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>CaseUsages</code>.</p> - - - OCL2.0 - ownedCase = ownedUsage->selectByKind(CaseUsage) - - - - - <p>The <code>ownedAnalysisCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AnalysisCaseUsages</code>.</p> - - - OCL2.0 - ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage) - - - - - <p>The <code>ownedValidationCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ValidationCaseUsages</code>.</p> - - - OCL2.0 - ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage) - - - - - <p>The <code>ownedUseCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>UseCaseUsages</code>.</p> - - - OCL2.0 - ownedUseCase = ownedUsage->selectByKind(UseCaseUsage) - - - - - <p>The <code>ownedViews</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ViewUsages</code>.</p> - - - OCL2.0 - ownedView = ownedUsage->selectByKind(ViewUsage) - - - - - <p>The <code>ownedViewpoints</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ViewpointUsages</code>.</p> - - - OCL2.0 - ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage) - - - - - <p>The <code>ownedRenderings</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>RenderingUsages</code>.</p> - - - OCL2.0 - ownedRendering = ownedUsage->selectByKind(RenderingUsage) - - - - - <p>The <code>ownedMetadata</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>MetadataUsages</code>.</p> - - - OCL2.0 - ownedMetadata = ownedUsage->selectByKind(MetadataUsage) - - - - - <p>If a <code>Definition</code> is a variation, then it must be abstract.</p> - - - OCL2.0 - isVariation implies isAbstract - - - - - - - - <p>Whether this <code>Definition</code> is for a variation point or not. If true, then all the <code>memberships</code> of the <code>Definition</code> must be <code>VariantMemberships</code>.</p> - - - - - - <p>The <code>Usages</code> which represent the variants of this <code>Definition</code> as a variation point <code>Definition</code>, if <code>isVariation</code> = true. If <code>isVariation = false</code>, the there must be no <code>variants</code>.</p> - - - - - - - - <p>The <code>ownedMemberships</code> of this <code>Definition</code> that are <code>VariantMemberships</code>. If <code>isVariation</code> = true, then this must be all <code>ownedMemberships</code> of the <code>Definition</code>. If <code>isVariation</code> = false, then <code>variantMembership</code>must be empty.</p> - - - - - - - - <p>The <code>Usages</code> that are <code>features</code> of this <code>Definition</code> (not necessarily owned).</p> - - - - - - - - <p>The <code>usages</code> of this <code>Definition</code> that are <code>directedFeatures</code>.</p> - - - - - - - - - - <p>The <code>Usages</code> that are <code>ownedFeatures</code> of this <code>Definition</code>.</p> - - - - - - - - - <p>The <code>ReferenceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>AttributeUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.<p> - - - - - - - <p>The <code>EnumerationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.<p> - - - - - - - <p>The <code>OccurrenceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ItemUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>PartUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>PortUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ConnectorAsUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>. Note that this list includes <code>BindingConnectorAsUsages</code>, <code>SuccessionAsUsages</code>, and <code>FlowUsages</code> because these are <code>ConnectorAsUsages</code> even though they are not <code>ConnectionUsages</code>.</p> - - - - - - - <p>The <code>FlowUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>InterfaceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>AllocationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ActionUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>StateUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>TransitionUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>CalculationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ConstraintUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - - <p>The <code>RequirementUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ConcernUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The code>CaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>AnalysisCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>VerificationCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>UseCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ViewUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ViewpointUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>RenderingUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>MetadataUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - - - <p>The ItemUsages being typed by a certain Structure.</p> - - - - - - - - - <p>The Usage in which the <code>nestedAction</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedPort</code>.</p> - - - - - - - - - - <p>A <code>Usage</code> is a usage of a <code>Definition</code>.</p> + <p>However, if a <code>Definition</code> has <code>isVariation</code> = <code>true</code>, then it represents a <em>variation point</em> <code>Definition</code>. In this case, all of its <code>members</code> must be <code>variant</code> <code>Usages</code>, related to the <code>Definition</code> by <code>VariantMembership</code> <code>Relationships</code>. Rather than being <code>features</code> of the <code>Definition</code>, <code>variant</code> <code>Usages</code> model different concrete alternatives that can be chosen to fill in for an abstract <code>Usage</code> of the variation point <code>Definition</code>.</p> + + + + + <p>If a <code>Definition</code> is a variation, then all it must not have any <code>ownedFeatureMemberships</code>.</p> + + + OCL2.0 + isVariation implies ownedFeatureMembership->isEmpty() + + + + + <p>The <code>variants</code> of a <code>Definition</code> are the <code>ownedVariantUsages</code> of its <code>variantMemberships</code>.</p> + + + OCL2.0 + variant = variantMembership.ownedVariantUsage + + + + + <p>The <code>variantMemberships</code> of a <code>Definition</code> are those <code>ownedMemberships</code> that are <code>VariantMemberships</code>.</p> + + + OCL2.0 + variantMembership = ownedMembership->selectByKind(VariantMembership) + + + + + <p>A variation <code>Definition</code> may not specialize any other variation <code>Definition</code>.</p> + + + OCL2.0 + isVariation implies + not ownedSpecialization.specific->exists( + oclIsKindOf(Definition) and + oclAsType(Definition).isVariation) + + + + + <p>The <code>usages</code> of a <code>Definition</code> are all its <code>features</code> that are <code>Usages</code>.</p> + + + OCL2.0 + usage = feature->selectByKind(Usage) + + + + + <p>The <code>directedUsages</code> of a <code>Definition</code> are all its <code>directedFeatures</code> that are <code>Usages</code>.</p> + + + OCL2.0 + directedUsage = directedFeature->selectByKind(Usage) + + + + + <p>The <code>ownedUsages</code> of a <code>Definition</code> are all its <code>ownedFeatures</code> that are <code>Usages</code>.</p> + + + OCL2.0 + ownedUsage = ownedFeature->selectByKind(Usage) + + + + + <p>The <code>ownedAttributes</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AttributeUsages</code>.</p> + + + OCL2.0 + ownedAttribute = ownedUsage->selectByKind(AttributeUsage) + + + + + <p>The <code>ownedReferences</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ReferenceUsages</code>.</p> + + + OCL2.0 + ownedReference = ownedUsage->selectByKind(ReferenceUsage) + + + + + <p>The <code>ownedEnumerations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>EnumerationUsages</code>.</p> + + + OCL2.0 + ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage) + + + + + <p>The <code>ownedOccurrences</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>OccurrenceUsages</code>.</p> + + + OCL2.0 + ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage) + + + + + <p>The <code>ownedItems</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ItemUsages</code>.</p> + + + OCL2.0 + ownedItem = ownedUsage->selectByKind(ItemUsage) + + + + + <p>The <code>ownedParts</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>PartUsages</code>.</p> + + + OCL2.0 + ownedPart = ownedUsage->selectByKind(PartUsage) + + + + + <p>The <code>ownedPorts</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>PortUsages</code>.</p> + + + OCL2.0 + ownedPort = ownedUsage->selectByKind(PortUsage) + + + + + <p>The <code>ownedConnections</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConnectorAsUsages</code>.</p> + + + OCL2.0 + ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage) + + + + + <p>The <code>ownedFlows</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>FlowUsages</code>.</p> + + + OCL2.0 + ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage) + + + + + <p>The <code>ownedInterfaces</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>InterfaceUsages</code>.</p> + + + OCL2.0 + ownedInterface = ownedUsage->selectByKind(ReferenceUsage) + + + + + <p>The <code>ownedAllocations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AllocationUsages</code>.</p> + + + OCL2.0 + ownedAllocation = ownedUsage->selectByKind(AllocationUsage) + + + + + <p>The <code>ownedActions</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ActionUsages</code>.</p> + + + OCL2.0 + ownedAction = ownedUsage->selectByKind(ActionUsage) + + + + + <p>The <code>ownedStates</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>StateUsages</code>.</p> + + + OCL2.0 + ownedState = ownedUsage->selectByKind(StateUsage) + + + + + <p>The <code>ownedTransitions</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>TransitionUsages</code>.</p> + + + OCL2.0 + ownedTransition = ownedUsage->selectByKind(TransitionUsage) + + + + + <p>The <code>ownedCalculations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>CalculationUsages</code>.</p> + + + OCL2.0 + ownedCalculation = ownedUsage->selectByKind(CalculationUsage) + + + + + <p>The <code>ownedConstraints</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConstraintUsages</code>.</p> + + + OCL2.0 + ownedConstraint = ownedUsage->selectByKind(ConstraintUsage) + + + + + <p>The <code>ownedRequirements</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>RequirementUsages</code>.</p> + + + OCL2.0 + ownedRequirement = ownedUsage->selectByKind(RequirementUsage) + + + + + <p>The <code>ownedConcerns</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConcernUsages</code>.</p> + + + OCL2.0 + ownedConcern = ownedUsage->selectByKind(ConcernUsage) + + + + + <p>The <code>ownedCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>CaseUsages</code>.</p> + + + OCL2.0 + ownedCase = ownedUsage->selectByKind(CaseUsage) + + + + + <p>The <code>ownedAnalysisCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AnalysisCaseUsages</code>.</p> + + + OCL2.0 + ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage) + + + + + <p>The <code>ownedValidationCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ValidationCaseUsages</code>.</p> + + + OCL2.0 + ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage) + + + + + <p>The <code>ownedUseCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>UseCaseUsages</code>.</p> + + + OCL2.0 + ownedUseCase = ownedUsage->selectByKind(UseCaseUsage) + + + + + <p>The <code>ownedViews</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ViewUsages</code>.</p> + + + OCL2.0 + ownedView = ownedUsage->selectByKind(ViewUsage) + + + + + <p>The <code>ownedViewpoints</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ViewpointUsages</code>.</p> + + + OCL2.0 + ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage) + + + + + <p>The <code>ownedRenderings</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>RenderingUsages</code>.</p> + + + OCL2.0 + ownedRendering = ownedUsage->selectByKind(RenderingUsage) + + + + + <p>The <code>ownedMetadata</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>MetadataUsages</code>.</p> + + + OCL2.0 + ownedMetadata = ownedUsage->selectByKind(MetadataUsage) + + + + + <p>If a <code>Definition</code> is a variation, then it must be abstract.</p> + + + OCL2.0 + isVariation implies isAbstract + + + + + + + + <p>Whether this <code>Definition</code> is for a variation point or not. If true, then all the <code>memberships</code> of the <code>Definition</code> must be <code>VariantMemberships</code>.</p> + + + + + + <p>The <code>Usages</code> which represent the variants of this <code>Definition</code> as a variation point <code>Definition</code>, if <code>isVariation</code> = true. If <code>isVariation = false</code>, the there must be no <code>variants</code>.</p> + + + + + + + + <p>The <code>ownedMemberships</code> of this <code>Definition</code> that are <code>VariantMemberships</code>. If <code>isVariation</code> = true, then this must be all <code>ownedMemberships</code> of the <code>Definition</code>. If <code>isVariation</code> = false, then <code>variantMembership</code>must be empty.</p> + + + + + + + + <p>The <code>Usages</code> that are <code>features</code> of this <code>Definition</code> (not necessarily owned).</p> + + + + + + + + <p>The <code>usages</code> of this <code>Definition</code> that are <code>directedFeatures</code>.</p> + + + + + + + + + + <p>The <code>Usages</code> that are <code>ownedFeatures</code> of this <code>Definition</code>.</p> + + + + + + + + + <p>The <code>ReferenceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>AttributeUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.<p> + + + + + + + <p>The <code>EnumerationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.<p> + + + + + + + <p>The <code>OccurrenceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>ItemUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>PartUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>PortUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>ConnectorAsUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>. Note that this list includes <code>BindingConnectorAsUsages</code>, <code>SuccessionAsUsages</code>, and <code>FlowUsages</code> because these are <code>ConnectorAsUsages</code> even though they are not <code>ConnectionUsages</code>.</p> + + + + + + + <p>The <code>FlowUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>InterfaceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>AllocationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>ActionUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>StateUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>TransitionUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>CalculationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>ConstraintUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + + <p>The <code>RequirementUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>ConcernUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The code>CaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>AnalysisCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>VerificationCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>UseCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>ViewUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>ViewpointUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>RenderingUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + <p>The <code>MetadataUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> + + + + + + + + + <p>The ItemUsages being typed by a certain Structure.</p> + + + + + + + + + <p>The Usage in which the <code>nestedAction</code> is nested.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedPort</code>.</p> + + + + + + + + + + <p>A <code>Usage</code> is a usage of a <code>Definition</code>.</p> -<p>A <code>Usage</code> may have <code>nestedUsages</code> that model <code>features</code> that apply in the context of the <code>owningUsage</code>. A <code>Usage</code> may also have <code>Definitions</code> nested in it, but this has no semantic significance, other than the nested scoping resulting from the <code>Usage</code> being considered as a <code>Namespace</code> for any nested <code>Definitions</code>.</p> + <p>A <code>Usage</code> may have <code>nestedUsages</code> that model <code>features</code> that apply in the context of the <code>owningUsage</code>. A <code>Usage</code> may also have <code>Definitions</code> nested in it, but this has no semantic significance, other than the nested scoping resulting from the <code>Usage</code> being considered as a <code>Namespace</code> for any nested <code>Definitions</code>.</p> -<p>However, if a <code>Usage</code> has <code>isVariation = true</code>, then it represents a <em>variation point</em> <code>Usage</code>. In this case, all of its <code>members</code> must be <code>variant</code> <code>Usages</code>, related to the <code>Usage</code> by <code>VariantMembership</code> <code>Relationships</code>. Rather than being <code>features</code> of the <code>Usage</code>, <code>variant</code> <code>Usages</code> model different concrete alternatives that can be chosen to fill in for the variation point <code>Usage</code>.</p> - - - - <p>The <code>variants</code> of a <code>Usage</code> are the <code>ownedVariantUsages</code> of its <code>variantMemberships</code>.</p> - - - OCL2.0 - variant = variantMembership.ownedVariantUsage - - - - - <p>The <code>variantMemberships</code> of a <code>Usage</code> are those <code>ownedMemberships</code> that are <code>VariantMemberships</code>.</p> - - - OCL2.0 - variantMembership = ownedMembership->selectByKind(VariantMembership) - - - - - <p>If a <code>Usage</code> is a variation, then it must not have any <code>ownedFeatureMemberships</code>.</p> - - - OCL2.0 - isVariation implies ownedFeatureMembership->isEmpty() - - - - - <p>A <code>Usage</code> is referential if it is not composite.</p> - - - OCL2.0 - isReference = not isComposite - - - - - <p>If a <code>Usage</code> has an <code>owningVariationUsage</code>, then it must directly or indirectly specialize that <code>Usage</code>.</p> - - - OCL2.0 - owningVariationUsage <> null implies - specializes(owningVariationUsage) - - - - - <p>A variation <code>Usage</code> may not specialize any variation <code>Definition</code> or <code>Usage</code>.</p> - - - OCL2.0 - isVariation implies - not ownedSpecialization.specific->exists( - oclIsKindOf(Definition) and - oclAsType(Definition).isVariation or - oclIsKindOf(Usage) and - oclAsType(Usage).isVariation) - - - - - <p>If a <code>Usage</code> has an <code>owningVariationDefinition</code>, then it must directly or indirectly specialize that <code>Definition</code>.</p> - - - OCL2.0 - owningVariationDefinition <> null implies - specializes(owningVariationDefinition) - - - - - <p>The <code>directedUsages</code> of a <code>Usage</code> are all its <code>directedFeatures</code> that are <code>Usages</code>.</p> - - - OCL2.0 - directedUsage = directedFeature->selectByKind(Usage) - - - - - <p>The <code>ownedActions</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ActionUsages</code>.</p> - - - OCL2.0 - nestedAction = nestedUsage->selectByKind(ActionUsage) - - - - - <p>The <code>ownedAllocations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AllocationUsages</code>.</p> - - - OCL2.0 - nestedAllocation = nestedUsage->selectByKind(AllocationUsage) - - - - - <p>The <code>ownedAnalysisCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AnalysisCaseUsages</code>.</p> - - - OCL2.0 - nestedAnalysisCase = nestedUsage->selectByKind(AnalysisCaseUsage) - - - - - <p>The <code>ownedAttributes</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AttributeUsages</code>.</p> - - - OCL2.0 - nestedAttribute = nestedUsage->selectByKind(AttributeUsage) - - - - - <p>The <code>ownedCalculations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>CalculationUsages</code>.</p> - - - OCL2.0 - nestedCalculation = nestedUsage->selectByKind(CalculationUsage) - - - - - <p>The <code>ownedCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>CaseUsages</code>.</p> - - - OCL2.0 - nestedCase = nestedUsage->selectByKind(CaseUsage) - - - - - <p>The <code>ownedConcerns</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConcernUsages</code>.</p> - - - OCL2.0 - nestedConcern = nestedUsage->selectByKind(ConcernUsage) - - - - - <p>The <code>ownedConnections</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConnectorAsUsages</code>.</p> - - - OCL2.0 - nestedConnection = nestedUsage->selectByKind(ConnectorAsUsage) - - - - - <p>The <code>ownedConstraints</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConstraintUsages</code>.</p> - - - OCL2.0 - nestedConstraint = nestedUsage->selectByKind(ConstraintUsage) - - - - - <p>The <code>ownedEnumerations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>EnumerationUsages</code>.</p> - - - OCL2.0 - ownedNested = nestedUsage->selectByKind(EnumerationUsage) - - - - - <p>The <code>ownedFlows</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>FlowConnectionUsages</code>.</p> - - - OCL2.0 - nestedFlow = nestedUsage->selectByKind(FlowConnectionUsage) - - - - - <p>The <code>ownedInterfaces</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>InterfaceUsages</code>.</p> - - - OCL2.0 - nestedInterface = nestedUsage->selectByKind(ReferenceUsage) - - - - - <p>The <code>ownedItems</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ItemUsages</code>.</p> - - - OCL2.0 - nestedItem = nestedUsage->selectByKind(ItemUsage) - - - - - <p>The <code>ownedMetadata</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>MetadataUsages</code>.</p> - - - OCL2.0 - nestedMetadata = nestedUsage->selectByKind(MetadataUsage) - - - - - <p>The <code>ownedOccurrences</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>OccurrenceUsages</code>.</p> - - - OCL2.0 - nestedOccurrence = nestedUsage->selectByKind(OccurrenceUsage) - - - - - <p>The <code>ownedParts</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>PartUsages</code>.</p> - - - OCL2.0 - nestedPart = nestedUsage->selectByKind(PartUsage) - - - - - <p>The <code>ownedPorts</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>PortUsages</code>.</p> - - - OCL2.0 - nestedPort = nestedUsage->selectByKind(PortUsage) - - - - - <p>The <code>ownedReferences</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ReferenceUsages</code>.</p> - - - OCL2.0 - nestedReference = nestedUsage->selectByKind(ReferenceUsage) - - - - - <p>The <code>ownedRenderings</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>RenderingUsages</code>.</p> - - - OCL2.0 - nestedRendering = nestedUsage->selectByKind(RenderingUsage) - - - - - <p>The <code>ownedRequirements</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>RequirementUsages</code>.</p> - - - OCL2.0 - nestedRequirement = nestedUsage->selectByKind(RequirementUsage) - - - - - <p>The <code>ownedStates</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>StateUsages</code>.</p> - - - OCL2.0 - nestedState = nestedUsage->selectByKind(StateUsage) - - - - - <p>The <code>ownedTransitions</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>TransitionUsages</code>.</p> - - - OCL2.0 - nestedTransition = nestedUsage->selectByKind(TransitionUsage) - - - - - <p>The <code>ownedUsages</code> of a <code>Usage</code> are all its <code>ownedFeatures</code> that are <code>Usages</code>.</p> - - - OCL2.0 - nestedUsage = ownedFeature->selectByKind(Usage) - - - - - <p>The <code>ownedUseCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>UseCaseUsages</code>.</p> - - - OCL2.0 - nestedUseCase = nestedUsage->selectByKind(UseCaseUsage) - - - - - <p>The <code>ownedValidationCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ValidationCaseUsages</code>.</p> - - - OCL2.0 - nestedVerificationCase = nestedUsage->selectByKind(VerificationCaseUsage) - - - - - <p>The <code>ownedViews</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ViewUsages</code>.</p> - - - OCL2.0 - nestedView = nestedUsage->selectByKind(ViewUsage) - - - - - <p>The <code>ownedViewpoints</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ViewpointUsages</code>.</p> - - - OCL2.0 - nestedViewpoint = nestedUsage->selectByKind(ViewpointUsage) - - - - - <p>The <code>usages</code> of a <code>Usage</code> are all its <code>features</code> that are <code>Usages</code>.</p> - - - OCL2.0 - usage = feature->selectByKind(Usage) - - - - - <p>A <code>Usage</code> that is directed, an end feature or has no <code>featuringTypes</code> must be referential.</p> - - - OCL2.0 - direction <> null or isEnd or featuringType->isEmpty() implies - isReference - - - - - <p>If a <code>Usage</code> is a variation, then it must be abstract.</p> - - - OCL2.0 - isVariation implies isAbstract - - - - - <p>A <code>Usage</code> <code>mayTimeVary</code> if and only if all of the following are true</p> -<ul> - <li>It has an <code>owningType</code> that specializes <em><code>Occurrences::Occurrence</code></em> (from the Kernel Semantic Library).</li> - <li>It is not a portion.</li> - <li>It does not specialize <em><code>Links::SelfLink</code></em> or <em><code>Occurrences::HappensLink</code></em> (from the Kernel Semantic Library).</li> - <li>If <code>isComposite = true</code>, it does not specialize <em><code>Actions::Action</code></em> (from the Systems Model Library). -</li></ul> - - - OCL2.0 - mayTimeVary = - owningType <> null and - owningType.specializesFromLibrary('Occurrences::Occurrence') and - not ( - isPortion or - specializesFromLibrary('Links::SelfLink') or - specializesFromLibrary('Occurrences::HappensLink') or - isComposite and specializesFromLibrary('Actions::Action') - ) - - - - - <p>If a <code>Usage</code> has an <code>owningVariationUsage</code>, then it must have the same <code>featuringTypes</code> as that <code>Usage</code>.</p> - - - OCL2.0 - owningVariationUsage <> null implies - featuringType->asSet() = owningVariationUsage.featuringType->asSet() - - - - - - - - <p>Whether this <code>Usage</code> may be time varying (that is, whether it is featured by the snapshots of its <code>owningType</code>, rather than being featured by the <code>owningType</code> itself). However, if <code>isConstant</code> is also true, then the value of the <code>Usage</code> is nevertheless constant over the entire duration of an instance of its <code>owningType</code> (that is, it has the same value on all snapshots).</p> + <p>However, if a <code>Usage</code> has <code>isVariation = true</code>, then it represents a <em>variation point</em> <code>Usage</code>. In this case, all of its <code>members</code> must be <code>variant</code> <code>Usages</code>, related to the <code>Usage</code> by <code>VariantMembership</code> <code>Relationships</code>. Rather than being <code>features</code> of the <code>Usage</code>, <code>variant</code> <code>Usages</code> model different concrete alternatives that can be chosen to fill in for the variation point <code>Usage</code>.</p> + + + + <p>The <code>variants</code> of a <code>Usage</code> are the <code>ownedVariantUsages</code> of its <code>variantMemberships</code>.</p> + + + OCL2.0 + variant = variantMembership.ownedVariantUsage + + + + + <p>The <code>variantMemberships</code> of a <code>Usage</code> are those <code>ownedMemberships</code> that are <code>VariantMemberships</code>.</p> + + + OCL2.0 + variantMembership = ownedMembership->selectByKind(VariantMembership) + + + + + <p>If a <code>Usage</code> is a variation, then it must not have any <code>ownedFeatureMemberships</code>.</p> + + + OCL2.0 + isVariation implies ownedFeatureMembership->isEmpty() + + + + + <p>A <code>Usage</code> is referential if it is not composite.</p> + + + OCL2.0 + isReference = not isComposite + + + + + <p>If a <code>Usage</code> has an <code>owningVariationUsage</code>, then it must directly or indirectly specialize that <code>Usage</code>.</p> + + + OCL2.0 + owningVariationUsage <> null implies + specializes(owningVariationUsage) + + + + + <p>A variation <code>Usage</code> may not specialize any variation <code>Definition</code> or <code>Usage</code>.</p> + + + OCL2.0 + isVariation implies + not ownedSpecialization.specific->exists( + oclIsKindOf(Definition) and + oclAsType(Definition).isVariation or + oclIsKindOf(Usage) and + oclAsType(Usage).isVariation) + + + + + <p>If a <code>Usage</code> has an <code>owningVariationDefinition</code>, then it must directly or indirectly specialize that <code>Definition</code>.</p> + + + OCL2.0 + owningVariationDefinition <> null implies + specializes(owningVariationDefinition) + + + + + <p>The <code>directedUsages</code> of a <code>Usage</code> are all its <code>directedFeatures</code> that are <code>Usages</code>.</p> + + + OCL2.0 + directedUsage = directedFeature->selectByKind(Usage) + + + + + <p>The <code>ownedActions</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ActionUsages</code>.</p> + + + OCL2.0 + nestedAction = nestedUsage->selectByKind(ActionUsage) + + + + + <p>The <code>ownedAllocations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AllocationUsages</code>.</p> + + + OCL2.0 + nestedAllocation = nestedUsage->selectByKind(AllocationUsage) + + + + + <p>The <code>ownedAnalysisCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AnalysisCaseUsages</code>.</p> + + + OCL2.0 + nestedAnalysisCase = nestedUsage->selectByKind(AnalysisCaseUsage) + + + + + <p>The <code>ownedAttributes</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AttributeUsages</code>.</p> + + + OCL2.0 + nestedAttribute = nestedUsage->selectByKind(AttributeUsage) + + + + + <p>The <code>ownedCalculations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>CalculationUsages</code>.</p> + + + OCL2.0 + nestedCalculation = nestedUsage->selectByKind(CalculationUsage) + + + + + <p>The <code>ownedCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>CaseUsages</code>.</p> + + + OCL2.0 + nestedCase = nestedUsage->selectByKind(CaseUsage) + + + + + <p>The <code>ownedConcerns</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConcernUsages</code>.</p> + + + OCL2.0 + nestedConcern = nestedUsage->selectByKind(ConcernUsage) + + + + + <p>The <code>ownedConnections</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConnectorAsUsages</code>.</p> + + + OCL2.0 + nestedConnection = nestedUsage->selectByKind(ConnectorAsUsage) + + + + + <p>The <code>ownedConstraints</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConstraintUsages</code>.</p> + + + OCL2.0 + nestedConstraint = nestedUsage->selectByKind(ConstraintUsage) + + + + + <p>The <code>ownedEnumerations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>EnumerationUsages</code>.</p> + + + OCL2.0 + ownedNested = nestedUsage->selectByKind(EnumerationUsage) + + + + + <p>The <code>ownedFlows</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>FlowConnectionUsages</code>.</p> + + + OCL2.0 + nestedFlow = nestedUsage->selectByKind(FlowConnectionUsage) + + + + + <p>The <code>ownedInterfaces</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>InterfaceUsages</code>.</p> + + + OCL2.0 + nestedInterface = nestedUsage->selectByKind(ReferenceUsage) + + + + + <p>The <code>ownedItems</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ItemUsages</code>.</p> + + + OCL2.0 + nestedItem = nestedUsage->selectByKind(ItemUsage) + + + + + <p>The <code>ownedMetadata</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>MetadataUsages</code>.</p> + + + OCL2.0 + nestedMetadata = nestedUsage->selectByKind(MetadataUsage) + + + + + <p>The <code>ownedOccurrences</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>OccurrenceUsages</code>.</p> + + + OCL2.0 + nestedOccurrence = nestedUsage->selectByKind(OccurrenceUsage) + + + + + <p>The <code>ownedParts</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>PartUsages</code>.</p> + + + OCL2.0 + nestedPart = nestedUsage->selectByKind(PartUsage) + + + + + <p>The <code>ownedPorts</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>PortUsages</code>.</p> + + + OCL2.0 + nestedPort = nestedUsage->selectByKind(PortUsage) + + + + + <p>The <code>ownedReferences</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ReferenceUsages</code>.</p> + + + OCL2.0 + nestedReference = nestedUsage->selectByKind(ReferenceUsage) + + + + + <p>The <code>ownedRenderings</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>RenderingUsages</code>.</p> + + + OCL2.0 + nestedRendering = nestedUsage->selectByKind(RenderingUsage) + + + + + <p>The <code>ownedRequirements</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>RequirementUsages</code>.</p> + + + OCL2.0 + nestedRequirement = nestedUsage->selectByKind(RequirementUsage) + + + + + <p>The <code>ownedStates</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>StateUsages</code>.</p> + + + OCL2.0 + nestedState = nestedUsage->selectByKind(StateUsage) + + + + + <p>The <code>ownedTransitions</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>TransitionUsages</code>.</p> + + + OCL2.0 + nestedTransition = nestedUsage->selectByKind(TransitionUsage) + + + + + <p>The <code>ownedUsages</code> of a <code>Usage</code> are all its <code>ownedFeatures</code> that are <code>Usages</code>.</p> + + + OCL2.0 + nestedUsage = ownedFeature->selectByKind(Usage) + + + + + <p>The <code>ownedUseCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>UseCaseUsages</code>.</p> + + + OCL2.0 + nestedUseCase = nestedUsage->selectByKind(UseCaseUsage) + + + + + <p>The <code>ownedValidationCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ValidationCaseUsages</code>.</p> + + + OCL2.0 + nestedVerificationCase = nestedUsage->selectByKind(VerificationCaseUsage) + + + + + <p>The <code>ownedViews</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ViewUsages</code>.</p> + + + OCL2.0 + nestedView = nestedUsage->selectByKind(ViewUsage) + + + + + <p>The <code>ownedViewpoints</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ViewpointUsages</code>.</p> + + + OCL2.0 + nestedViewpoint = nestedUsage->selectByKind(ViewpointUsage) + + + + + <p>The <code>usages</code> of a <code>Usage</code> are all its <code>features</code> that are <code>Usages</code>.</p> + + + OCL2.0 + usage = feature->selectByKind(Usage) + + + + + <p>A <code>Usage</code> that is directed, an end feature or has no <code>featuringTypes</code> must be referential.</p> + + + OCL2.0 + direction <> null or isEnd or featuringType->isEmpty() implies + isReference + + + + + <p>If a <code>Usage</code> is a variation, then it must be abstract.</p> + + + OCL2.0 + isVariation implies isAbstract + + + + + <p>A <code>Usage</code> <code>mayTimeVary</code> if and only if all of the following are true</p> + <ul> + <li>It has an <code>owningType</code> that specializes <em><code>Occurrences::Occurrence</code></em> (from the Kernel Semantic Library).</li> + <li>It is not a portion.</li> + <li>It does not specialize <em><code>Links::SelfLink</code></em> or <em><code>Occurrences::HappensLink</code></em> (from the Kernel Semantic Library).</li> + <li>If <code>isComposite = true</code>, it does not specialize <em><code>Actions::Action</code></em> (from the Systems Model Library). + </li></ul> + + + OCL2.0 + mayTimeVary = + owningType <> null and + owningType.specializesFromLibrary('Occurrences::Occurrence') and + not ( + isPortion or + specializesFromLibrary('Links::SelfLink') or + specializesFromLibrary('Occurrences::HappensLink') or + isComposite and specializesFromLibrary('Actions::Action') + ) + + + + + <p>If a <code>Usage</code> has an <code>owningVariationUsage</code>, then it must have the same <code>featuringTypes</code> as that <code>Usage</code>.</p> + + + OCL2.0 + owningVariationUsage <> null implies + featuringType->asSet() = owningVariationUsage.featuringType->asSet() + + + + + + + + <p>Whether this <code>Usage</code> may be time varying (that is, whether it is featured by the snapshots of its <code>owningType</code>, rather than being featured by the <code>owningType</code> itself). However, if <code>isConstant</code> is also true, then the value of the <code>Usage</code> is nevertheless constant over the entire duration of an instance of its <code>owningType</code> (that is, it has the same value on all snapshots).</p> -<p>The property <code>mayTimeVary</code> redefines the KerML property <code>Feature::isVariable</code>, making it derived. The property <code>isConstant</code> is inherited from <code>Feature</code>.</p> - - - - - - - <p>Whether this <code>Usage</code> is a referential <code>Usage</code>, that is, it has <code>isComposite = false</code>.<p> - - - - - - <p>The <code>Usages</code> which represent the variants of this <code>Usage</code> as a variation point <code>Usage</code>, if <code>isVariation = true</code>. If <code>isVariation = false</code>, then there must be no <code>variants</code>.</p> - - - - - - - - <p>The <code>ownedMemberships</code> of this <code>Usage</code> that are <code>VariantMemberships</code>. If <code>isVariation = true</code>, then this must be all <code>memberships</code> of the <code>Usage</code>. If <code>isVariation = false</code>, then <code>variantMembership</code>must be empty.</p> - - - - - - - - <p>The <code>Definition</code> that owns this <code>Usage</code> (if any).</p> - - - - - - - - - <p>The <code>Usage</code> in which this <code>Usage</code> is nested (if any).</p> - - - - - - - - <p>The <code>Classifiers</code> that are the types of this <code>Usage</code>. Nominally, these are <code>Definitions</code>, but other kinds of Kernel <code>Classifiers</code> are also allowed, to permit use of <code>Classifiers</code> from the Kernel Model Libraries.</p> - - - - - - - - - <p>The <code>Usages</code> that are <code>features</code> of this <code>Usage</code> (not necessarily owned).</p> - - - - - - - - - - - <p>The <code>usages</code> of this <code>Usage</code> that are <code>directedFeatures</code>.</p> - - - - - - - - - - <p>The <code>Usages</code> that are <code>ownedFeatures</code> of this <code>Usage</code>.</p> - - - - - - - - - <p>The <code>ReferenceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The code>AttributeUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The code>EnumerationUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.<p> - - - - - - - <p>The <code>OccurrenceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>ItemUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>PartUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>PortUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>ConnectorAsUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>. Note that this list includes <code>BindingConnectorAsUsages</code>, <code>SuccessionAsUsages</code>, and <code>FlowConnectionUsages</code> because these are <code>ConnectorAsUsages</code> even though they are not <code>ConnectionUsages</code>.</p> - - - - - - - <p>The code>FlowUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>InterfaceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>AllocationUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>ActionUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>StateUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>TransitionUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>CalculationUsage</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>ConstraintUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>RequirementUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>ConcernUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>CaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>AnalysisCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>VerificationCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>UseCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>ViewUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>ViewpointUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>RenderingUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>MetadataUsages</code> that are <code>nestedUsages</code> of this of this <code>Usage</code>.</p> - - - - - - - <p>Whether this <code>Usage</code> is for a variation point or not. If true, then all the <code>memberships</code> of the <code>Usage</code> must be <code>VariantMemberships</code>.</p> - - - - - - <p>If this <code>Usage</code> is a variant, then its naming <code>Feature</code> is the <code>referencedFeature</code> of its <code>ownedReferenceSubsetting</code>.</p> - - - - OCL2.0 - if not owningMembership.oclIsKindOf(VariantMembership) then - self.oclAsType(Feature).namingFeature() -else if ownedReferenceSubsetting = null then null -else ownedReferenceSubsetting.referencedFeature -endif endif - - - - - - - - - - - - <p>If <code>ownedReferenceSubsetting</code> is not null, return the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code>.</p> - - - - OCL2.0 - if ownedReferenceSubsetting = null then null -else ownedReferenceSubsetting.referencedFeature.featureTarget -endif - - - - - - - - - - - <p>The Definition that owns the <code>ownedState</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedState</code> is nested.</p> - - - - - - - - - <p>The Usage in which the <code>nestedConstraint</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedTransition</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedConstraint</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedTransition</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedRequirement</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedRequirement</code> is nested.</p> - - - - - - - - <p>A <code>ReferenceUsage</code> is a <code>Usage</code> that specifies a non-compositional (<code>isComposite = false</code>) reference to something. The <code>definition</code> of a <code>ReferenceUsage</code> can be any kind of <code>Classifier</code>, with the default being the top-level <code>Classifier</code> <code><em>Base::Anything</em></code> from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc.</p> - - - - <p>A <code>ReferenceUsage</code> is always referential.</p> - - - OCL2.0 - isReference - - - - - - <p>Always <code>true</code> for a <code>ReferenceUsage</code>.</code> - - - - - - - <p>If this <code>ReferenceUsage</code> is the <em><code>payload</code></em> <code>parameter</code> of a <code>TransitionUsage</code>, then its naming <code>Feature</code> is the <code>payloadParameter</code> of the <code>triggerAction</code> of that <code>TransitionUsage</code> (if any).</p> - - - - OCL2.0 - if owningType <> null and owningType.oclIsKindOf(TransitionUsage) and - owningType.oclAsType(TransitionUsage).inputParameter(2) = self then - owningType.oclAsType(TransitionUsage).triggerPayloadParameter() -else self.oclAsType(Usage).namingFeature() -endif - - - - - - - - - - - - - <p>The owning Definition of this VariantMembership, which must have <code>isVariation</code> = true.</p> - - - - - - - - - - <p>The Definition that owns the <code>ownedItem</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedInterface</code> is nested.</p> - - - - - - - - - <p>The Usage that owns the <code>nestedReference</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedAnalysisCase</code>.</p> - - - - - - - - - <p>The Usages that feature a certain Usage.</p> - - - - - - - - - - <p>The Definition that owns the <code>ownedPart</code>.</p> - - - - - - - - - <p>The Usages that have a certain Usage as a <code>flow</code>.</p> - - - - - - - - - - - - - - <p>The Usage in which the <code>nestedAnalysisCase</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedInterface</code>.</p> - - - - - - - - - <p>The variation point Definition that for which this Usage represents a variant, derived as the <code>owningVariationDefinition</code> of the <code>owningVariantMembership</code> of the Usage.</p> - - - - - - - - - - <p>The Definition that owns the <code>ownedReference</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedItem</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedAction</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedPart</code> is nested.</p> - - - - - - - - - <p>The Usage in which the <code>nestedUsage</code> is nested.</p> - - - - - - - - - <p>The variation point Usage that for which this Usage represents a variant, derived as the <code>owningVariationUsage</code> of the <code>owningVariantMembership</code> of the Usage.</p> - - - - - - - - - - <p>The Usage in which the <code>nestedAttribute</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedAttribute</code>.</p> - - - - - - - - - <p>The Usages that have a certain Classifier as a <code>definition</code>.</p> - - - - - - - - - - <p>The Definition that owns the <code>ownedConnection</code>.</p> - - - - - - - - <p>The Definition that owns this CaseUsage (if any).</p> - - - - <p>The Definition that owns the <code>ownedCase</code>.</p> - - - - - - - - <p>A <code>VariantMembership</code> is a <code>Membership</code> between a variation point <code>Definition</code> or <code>Usage</code> and a <code>Usage</code> that represents a variant in the context of that variation. The <code>membershipOwningNamespace</code> for the <code>VariantMembership</code> must be either a Definition or a <code>Usage</code> with <code>isVariation = true</code>.</p> - - - - <p>The <code>membershipOwningNamespace</code> of a <code>VariantMembership</code> must be a variation-point <code>Definition</code> or <code>Usage</code>.</p> - - - OCL2.0 - membershipOwningNamespace.oclIsKindOf(Definition) and - membershipOwningNamespace.oclAsType(Definition).isVariation or -membershipOwningNamespace.oclIsKindOf(Usage) and - membershipOwningNamespace.oclAsType(Usage).isVariation - - - - - - - - - <p>The <code>Usage</code> that represents a variant in the context of the <code>owningVariationDefinition</code> or <code>owningVariationUsage</code>.</p> - - - - - - - - - - <p>The VariantMembership that owns this Usage, if the Usage represents a variant in the context of some variation point Definition or Usage.</p> - - - - - - - - - - <p>The owning Definition of this VariantMembership, which must have <code>isVariation</code> = true.</p> - - - - - - - - - - <p>The Usage that owns a certain <code>nestedVerificationCase</code>.</p> - - - - - - - - - <p>The Usage that owns a certain <code>nestedViewpoint</code>.</p> - - - - - - - - - <p>The Definition that owns a certain <code>ownedView</code>.</p> - - - - - - - - - <p>The Definition that owns a certain <code>ownedRendering</code>.</p> - - - - - - - - - <p>The Definition that owns a certain <code>ownedViewpoint</code>.</p> - - - - - - - - - <p>The Usage that owns a certain <code>nestedRendering</code>.</p> - - - - - - - - - <p>The Definition that owns a certain <code>ownedVerificationCase</code>.</p> - - - - - - - - - <p>The Usage that owns a certain <code>nestedView</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedEnumeration</code>.</p> - - - - - - - - - <p>The Usage that owns the <code>nestedEnumeration</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedAllocation</code>.</p> - - - - - - - - - <p>The Usage that owns the <code>nestedAllocation</code>.</p> - - - - - - - - - <p>The Usage that owns the <code>nestedConcern</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedConcern</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedOccurrence</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedOccurrence</code> is nested.</p> - - - - - - - - - <p>The <code>Usage</code> that owns the <code>nestedFlow</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedUseCase</code> is nested.</p> - - - - - - - - - <p>The <code>Definition</code> that owns the <code>ownedFlow</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedUseCase</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedMetadata</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedMetadata</code>.</p> - - - - - - - - - - <p>A <code>PartDefinition</code> is an <code>ItemDefinition</code> of a <code>Class</code> of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system.</p> - - - - - </p>A <code>PartDefinition</code> must directly or indirectly specialize the base <code>PartDefinition</code> <em><code>Parts::Part</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Parts::Part') - - - - - - - <p>A <code>PartUsage</code> is a usage of a <code>PartDefinition</code> to represent a system or a part of a system. At least one of the <code>itemDefinitions</code> of the <code>PartUsage</code> must be a <code>PartDefinition</code>.</p> + <p>The property <code>mayTimeVary</code> redefines the KerML property <code>Feature::isVariable</code>, making it derived. The property <code>isConstant</code> is inherited from <code>Feature</code>.</p> + + + + + + + <p>Whether this <code>Usage</code> is a referential <code>Usage</code>, that is, it has <code>isComposite = false</code>.<p> + + + + + + <p>The <code>Usages</code> which represent the variants of this <code>Usage</code> as a variation point <code>Usage</code>, if <code>isVariation = true</code>. If <code>isVariation = false</code>, then there must be no <code>variants</code>.</p> + + + + + + + + <p>The <code>ownedMemberships</code> of this <code>Usage</code> that are <code>VariantMemberships</code>. If <code>isVariation = true</code>, then this must be all <code>memberships</code> of the <code>Usage</code>. If <code>isVariation = false</code>, then <code>variantMembership</code>must be empty.</p> + + + + + + + + <p>The <code>Definition</code> that owns this <code>Usage</code> (if any).</p> + + + + + + + + + <p>The <code>Usage</code> in which this <code>Usage</code> is nested (if any).</p> + + + + + + + + <p>The <code>Classifiers</code> that are the types of this <code>Usage</code>. Nominally, these are <code>Definitions</code>, but other kinds of Kernel <code>Classifiers</code> are also allowed, to permit use of <code>Classifiers</code> from the Kernel Model Libraries.</p> + + + + + + + + + <p>The <code>Usages</code> that are <code>features</code> of this <code>Usage</code> (not necessarily owned).</p> + + + + + + + + + + + <p>The <code>usages</code> of this <code>Usage</code> that are <code>directedFeatures</code>.</p> + + + + + + + + + + <p>The <code>Usages</code> that are <code>ownedFeatures</code> of this <code>Usage</code>.</p> + + + + + + + + + <p>The <code>ReferenceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The code>AttributeUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The code>EnumerationUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.<p> + + + + + + + <p>The <code>OccurrenceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + <p>The <code>ItemUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + <p>The <code>PartUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + <p>The <code>PortUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + <p>The <code>ConnectorAsUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>. Note that this list includes <code>BindingConnectorAsUsages</code>, <code>SuccessionAsUsages</code>, and <code>FlowConnectionUsages</code> because these are <code>ConnectorAsUsages</code> even though they are not <code>ConnectionUsages</code>.</p> + + + + + + + <p>The code>FlowUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + <p>The <code>InterfaceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + <p>The <code>AllocationUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + <p>The <code>ActionUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>StateUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>TransitionUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>CalculationUsage</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>ConstraintUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>RequirementUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>ConcernUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>CaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>AnalysisCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>VerificationCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>UseCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>ViewUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>ViewpointUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>RenderingUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> + + + + + + + + <p>The <code>MetadataUsages</code> that are <code>nestedUsages</code> of this of this <code>Usage</code>.</p> + + + + + + + <p>Whether this <code>Usage</code> is for a variation point or not. If true, then all the <code>memberships</code> of the <code>Usage</code> must be <code>VariantMemberships</code>.</p> + + + + + + <p>If this <code>Usage</code> is a variant, then its naming <code>Feature</code> is the <code>referencedFeature</code> of its <code>ownedReferenceSubsetting</code>.</p> + + + + OCL2.0 + if not owningMembership.oclIsKindOf(VariantMembership) then + self.oclAsType(Feature).namingFeature() + else if ownedReferenceSubsetting = null then null + else ownedReferenceSubsetting.referencedFeature + endif endif + + + + + + + + + + + + <p>If <code>ownedReferenceSubsetting</code> is not null, return the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code>.</p> + + + + OCL2.0 + if ownedReferenceSubsetting = null then null + else ownedReferenceSubsetting.referencedFeature.featureTarget + endif + + + + + + + + + + + <p>The Definition that owns the <code>ownedState</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedState</code> is nested.</p> + + + + + + + + + <p>The Usage in which the <code>nestedConstraint</code> is nested.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedTransition</code>.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedConstraint</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedTransition</code> is nested.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedRequirement</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedRequirement</code> is nested.</p> + + + + + + + + <p>A <code>ReferenceUsage</code> is a <code>Usage</code> that specifies a non-compositional (<code>isComposite = false</code>) reference to something. The <code>definition</code> of a <code>ReferenceUsage</code> can be any kind of <code>Classifier</code>, with the default being the top-level <code>Classifier</code> <code><em>Base::Anything</em></code> from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc.</p> + + + + <p>A <code>ReferenceUsage</code> is always referential.</p> + + + OCL2.0 + isReference + + + + + + <p>Always <code>true</code> for a <code>ReferenceUsage</code>.</code> + + + + + + + <p>If this <code>ReferenceUsage</code> is the <em><code>payload</code></em> <code>parameter</code> of a <code>TransitionUsage</code>, then its naming <code>Feature</code> is the <code>payloadParameter</code> of the <code>triggerAction</code> of that <code>TransitionUsage</code> (if any).</p> + + + + OCL2.0 + if owningType <> null and owningType.oclIsKindOf(TransitionUsage) and + owningType.oclAsType(TransitionUsage).inputParameter(2) = self then + owningType.oclAsType(TransitionUsage).triggerPayloadParameter() + else self.oclAsType(Usage).namingFeature() + endif + + + + + + + + + + + + + <p>The owning Definition of this VariantMembership, which must have <code>isVariation</code> = true.</p> + + + + + + + + + + <p>The Definition that owns the <code>ownedItem</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedInterface</code> is nested.</p> + + + + + + + + + <p>The Usage that owns the <code>nestedReference</code>.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedAnalysisCase</code>.</p> + + + + + + + + + <p>The Usages that feature a certain Usage.</p> + + + + + + + + + + <p>The Definition that owns the <code>ownedPart</code>.</p> + + + + + + + + + <p>The Usages that have a certain Usage as a <code>flow</code>.</p> + + + + + + + + + + + + + + <p>The Usage in which the <code>nestedAnalysisCase</code> is nested.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedInterface</code>.</p> + + + + + + + + + <p>The variation point Definition that for which this Usage represents a variant, derived as the <code>owningVariationDefinition</code> of the <code>owningVariantMembership</code> of the Usage.</p> + + + + + + + + + + <p>The Definition that owns the <code>ownedReference</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedItem</code> is nested.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedAction</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedPart</code> is nested.</p> + + + + + + + + + <p>The Usage in which the <code>nestedUsage</code> is nested.</p> + + + + + + + + + <p>The variation point Usage that for which this Usage represents a variant, derived as the <code>owningVariationUsage</code> of the <code>owningVariantMembership</code> of the Usage.</p> + + + + + + + + + + <p>The Usage in which the <code>nestedAttribute</code> is nested.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedAttribute</code>.</p> + + + + + + + + + <p>The Usages that have a certain Classifier as a <code>definition</code>.</p> + + + + + + + + + + <p>The Definition that owns the <code>ownedConnection</code>.</p> + + + + + + + + <p>The Definition that owns this CaseUsage (if any).</p> + + + + <p>The Definition that owns the <code>ownedCase</code>.</p> + + + + + + + + <p>A <code>VariantMembership</code> is a <code>Membership</code> between a variation point <code>Definition</code> or <code>Usage</code> and a <code>Usage</code> that represents a variant in the context of that variation. The <code>membershipOwningNamespace</code> for the <code>VariantMembership</code> must be either a Definition or a <code>Usage</code> with <code>isVariation = true</code>.</p> + + + + <p>The <code>membershipOwningNamespace</code> of a <code>VariantMembership</code> must be a variation-point <code>Definition</code> or <code>Usage</code>.</p> + + + OCL2.0 + membershipOwningNamespace.oclIsKindOf(Definition) and + membershipOwningNamespace.oclAsType(Definition).isVariation or + membershipOwningNamespace.oclIsKindOf(Usage) and + membershipOwningNamespace.oclAsType(Usage).isVariation + + + + + + + + + <p>The <code>Usage</code> that represents a variant in the context of the <code>owningVariationDefinition</code> or <code>owningVariationUsage</code>.</p> + + + + + + + + + + <p>The VariantMembership that owns this Usage, if the Usage represents a variant in the context of some variation point Definition or Usage.</p> + + + + + + + + + + <p>The owning Definition of this VariantMembership, which must have <code>isVariation</code> = true.</p> + + + + + + + + + + <p>The Usage that owns a certain <code>nestedVerificationCase</code>.</p> + + + + + + + + + <p>The Usage that owns a certain <code>nestedViewpoint</code>.</p> + + + + + + + + + <p>The Definition that owns a certain <code>ownedView</code>.</p> + + + + + + + + + <p>The Definition that owns a certain <code>ownedRendering</code>.</p> + + + + + + + + + <p>The Definition that owns a certain <code>ownedViewpoint</code>.</p> + + + + + + + + + <p>The Usage that owns a certain <code>nestedRendering</code>.</p> + + + + + + + + + <p>The Definition that owns a certain <code>ownedVerificationCase</code>.</p> + + + + + + + + + <p>The Usage that owns a certain <code>nestedView</code>.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedEnumeration</code>.</p> + + + + + + + + + <p>The Usage that owns the <code>nestedEnumeration</code>.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedAllocation</code>.</p> + + + + + + + + + <p>The Usage that owns the <code>nestedAllocation</code>.</p> + + + + + + + + + <p>The Usage that owns the <code>nestedConcern</code>.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedConcern</code>.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedOccurrence</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedOccurrence</code> is nested.</p> + + + + + + + + + <p>The <code>Usage</code> that owns the <code>nestedFlow</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedUseCase</code> is nested.</p> + + + + + + + + + <p>The <code>Definition</code> that owns the <code>ownedFlow</code>.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedUseCase</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedMetadata</code> is nested.</p> + + + + + + + + + <p>The Definition that owns the <code>ownedMetadata</code>.</p> + + + + + + + + + + <p>A <code>PartDefinition</code> is an <code>ItemDefinition</code> of a <code>Class</code> of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system.</p> + + + + + </p>A <code>PartDefinition</code> must directly or indirectly specialize the base <code>PartDefinition</code> <em><code>Parts::Part</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Parts::Part') + + + + + + + <p>A <code>PartUsage</code> is a usage of a <code>PartDefinition</code> to represent a system or a part of a system. At least one of the <code>itemDefinitions</code> of the <code>PartUsage</code> must be a <code>PartDefinition</code>.</p> -<p>A <code>PartUsage</code> must subset, directly or indirectly, the base <code>PartUsage</code> <em><code>parts</code></em> from the Systems Model Library.</p> - - - - <p>The <code>partDefinitions</code> of an <code>PartUsage</code> are those <code>itemDefinitions</code> that are <code>PartDefinitions</code>.</p> - - - OCL2.0 - itemDefinition->selectByKind(PartDefinition) - - - - - <p>At least one of the <code>itemDefinitions</code> of a <code>PartUsage</code> must be a <code>PartDefinition</code>.</p> - - - OCL2.0 - partDefinition->notEmpty() - - - - - <p>A <code>PartUsage</code> must directly or indirectly specialize the <code>PartUsage</code> <em><code>Parts::parts</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Parts::parts') - - - - - <p>A composite <code>PartUsage</code> whose <code>owningType</code> is a <code>ItemDefinition</code> or <code>ItemUsage</code> must directly or indirectly specialize the <code>PartUsage</code> <em><code>Items::Item::subparts</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::subparts') - - - - - <p>If a <code>PartUsage</code> is owned via an <code>ActorMembership</code>, then it must directly or indirectly specialize either <code><em>Requirements::RequirementCheck::actors</em></code> (if its <code>owningType</code> is a <code>RequirementDefinition</code> or <code>RequirementUsage</code> or <code><em>Cases::Case::actors</em></code> (otherwise).</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(ActorMembership) implies - if owningType.oclIsKindOf(RequirementDefinition) or - owningType.oclIsKindOf(RequirementUsage) - then specializesFromLibrary('Requirements::RequirementCheck::actors') - else specializesFromLibrary('Cases::Case::actors') - - - - - <p>If a <code>PartUsage</code> is owned via a <code>StakeholderMembership</code>, then it must directly or indirectly specialize either <code><em>Requirements::RequirementCheck::stakeholders</em></code>.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(StakeholderMembership) implies - specializesFromLibrary('Requirements::RequirementCheck::stakeholders') - - - - - - <p>The <code>itemDefinitions</code> of this PartUsage that are PartDefinitions.</p> - - - - - - - - - <p>The PartUsages typed by a certain PartDefinition.</p> - - - - - - - - - - - <p>The InterfaceDefinitions that have a certain PortUsage as an <code>interfaceEnd</code>.</p> - - - - - - - - <p>An <code>InterfaceUsage</code> is a Usage of an <code>InterfaceDefinition</code> to represent an interface connecting parts of a system through specific ports.</p> - - - - <p>A binary <code>InterfaceUsage</code> must directly or indirectly specialize the <code>InterfaceUsage</code> <em><code>Interfaces::binaryInterfaces</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeature->size() = 2 implies - specializesFromLibrary('Interfaces::binaryInterfaces') - - - - - <p>An <code>InterfaceUsage</code> must directly or indirectly specialize the <code>InterfaceUsage</code> <em><code>Interfaces::interfaces</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Interfaces::interfaces') - - - - - - <p>The <code>InterfaceDefinitions</code> that type this <code>InterfaceUsage</code>.</p> - - - - - - - - - <p>The InterfaceUsages typed by a certain InterfaceDefinition.</p> - - - - - - - - <p>An <code>InterfaceDefinition</code> is a <code>ConnectionDefinition</code> all of whose ends are <code>PortUsages</code>, defining an interface between elements that interact through such ports.</p> - - - - <p>An <code>InterfaceDefinition</code> must directly or indirectly specialize the <code>InterfaceDefinition</code> <em><code>Interfaces::Interface</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Interfaces::Interface') - - - - - <p>A binary <code>InterfaceDefinition</code> must directly or indirectly specialize the <code>InterfaceDefinition</code> <em><code>Interfaces::BinaryInterface</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeature->size() = 2 implies - specializesFromLibrary('Interfaces::BinaryInterface') - - - - - - <p>The <code>PortUsages</code> that are the <code>connectionEnds</code> of this <code>InterfaceDefinition</code>. + <p>A <code>PartUsage</code> must subset, directly or indirectly, the base <code>PartUsage</code> <em><code>parts</code></em> from the Systems Model Library.</p> + + + + <p>The <code>partDefinitions</code> of an <code>PartUsage</code> are those <code>itemDefinitions</code> that are <code>PartDefinitions</code>.</p> + + + OCL2.0 + itemDefinition->selectByKind(PartDefinition) + + + + + <p>At least one of the <code>itemDefinitions</code> of a <code>PartUsage</code> must be a <code>PartDefinition</code>.</p> + + + OCL2.0 + partDefinition->notEmpty() + + + + + <p>A <code>PartUsage</code> must directly or indirectly specialize the <code>PartUsage</code> <em><code>Parts::parts</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Parts::parts') + + + + + <p>A composite <code>PartUsage</code> whose <code>owningType</code> is a <code>ItemDefinition</code> or <code>ItemUsage</code> must directly or indirectly specialize the <code>PartUsage</code> <em><code>Items::Item::subparts</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::subparts') + + + + + <p>If a <code>PartUsage</code> is owned via an <code>ActorMembership</code>, then it must directly or indirectly specialize either <code><em>Requirements::RequirementCheck::actors</em></code> (if its <code>owningType</code> is a <code>RequirementDefinition</code> or <code>RequirementUsage</code> or <code><em>Cases::Case::actors</em></code> (otherwise).</p> + + + OCL2.0 + owningFeatureMembership <> null and + owningFeatureMembership.oclIsKindOf(ActorMembership) implies + if owningType.oclIsKindOf(RequirementDefinition) or + owningType.oclIsKindOf(RequirementUsage) + then specializesFromLibrary('Requirements::RequirementCheck::actors') + else specializesFromLibrary('Cases::Case::actors') + + + + + <p>If a <code>PartUsage</code> is owned via a <code>StakeholderMembership</code>, then it must directly or indirectly specialize either <code><em>Requirements::RequirementCheck::stakeholders</em></code>.</p> + + + OCL2.0 + owningFeatureMembership <> null and + owningFeatureMembership.oclIsKindOf(StakeholderMembership) implies + specializesFromLibrary('Requirements::RequirementCheck::stakeholders') + + + + + + <p>The <code>itemDefinitions</code> of this PartUsage that are PartDefinitions.</p> + + + + + + + + + <p>The PartUsages typed by a certain PartDefinition.</p> + + + + + + + + + + + <p>The InterfaceDefinitions that have a certain PortUsage as an <code>interfaceEnd</code>.</p> + + + + + + + + <p>An <code>InterfaceUsage</code> is a Usage of an <code>InterfaceDefinition</code> to represent an interface connecting parts of a system through specific ports.</p> + + + + <p>A binary <code>InterfaceUsage</code> must directly or indirectly specialize the <code>InterfaceUsage</code> <em><code>Interfaces::binaryInterfaces</code></em> from the Systems Model Library.</p> + + + OCL2.0 + ownedEndFeature->size() = 2 implies + specializesFromLibrary('Interfaces::binaryInterfaces') + + + + + <p>An <code>InterfaceUsage</code> must directly or indirectly specialize the <code>InterfaceUsage</code> <em><code>Interfaces::interfaces</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Interfaces::interfaces') + + + + + + <p>The <code>InterfaceDefinitions</code> that type this <code>InterfaceUsage</code>.</p> + + + + + + + + + <p>The InterfaceUsages typed by a certain InterfaceDefinition.</p> + + + + + + + + <p>An <code>InterfaceDefinition</code> is a <code>ConnectionDefinition</code> all of whose ends are <code>PortUsages</code>, defining an interface between elements that interact through such ports.</p> + + + + <p>An <code>InterfaceDefinition</code> must directly or indirectly specialize the <code>InterfaceDefinition</code> <em><code>Interfaces::Interface</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Interfaces::Interface') + + + + + <p>A binary <code>InterfaceDefinition</code> must directly or indirectly specialize the <code>InterfaceDefinition</code> <em><code>Interfaces::BinaryInterface</code></em> from the Systems Model Library.</p> + + + OCL2.0 + ownedEndFeature->size() = 2 implies + specializesFromLibrary('Interfaces::BinaryInterface') + + + + + + <p>The <code>PortUsages</code> that are the <code>connectionEnds</code> of this <code>InterfaceDefinition</code>. - - - - - - - - - - + + + + + + + + + + - - - - - <p>A <code>StateUsage</code> is an <code>ActionUsage</code> that is nominally the <code>Usage</code> of a <code>StateDefinition</code>. However, other kinds of kernel <code>Behaviors</code> are also allowed as <code>types</code>, to permit use of <code>Behaviors</code from the Kernel Model Libraries.</p> + + + + + <p>A <code>StateUsage</code> is an <code>ActionUsage</code> that is nominally the <code>Usage</code> of a <code>StateDefinition</code>. However, other kinds of kernel <code>Behaviors</code> are also allowed as <code>types</code>, to permit use of <code>Behaviors</code from the Kernel Model Libraries.</p> -<p>A <code>StateUsage</code> may be related to up to three of its <code>ownedFeatures</code> by <code>StateSubactionMembership</code> <code>Relationships</code>, all of different <code>kinds</code>, corresponding to the entry, do and exit actions of the <code>StateUsage</code>.</p> - - - - - <p>The <code>doAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> - - - OCL2.0 - doAction = - let doMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::do) in - if doMemberships->isEmpty() then null - else doMemberships->at(1) - endif - - - - - <p>The <code>entryAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> - - - OCL2.0 - entryAction = - let entryMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::entry) in - if entryMemberships->isEmpty() then null - else entryMemberships->at(1) - endif - - - - - <p>If a <code>StateUsage</code> is parallel, then its <code>nestedActions</code> (which includes <code>nestedStates</code>) must not have any <code>incomingTransitions</code> or <code>outgoingTransitions</code>.</p> - - - OCL2.0 - isParallel implies - nestedAction.incomingTransition->isEmpty() and - nestedAction.outgoingTransition->isEmpty() - - - - - <p>A <code>StateUsage</code> that is a substate usage with a non-parallel owning <code>StateDefinition</code> or <code>StateUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::StateAction::exclusiveStates</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubstateUsage(false) implies - specializesFromLibrary('States::StateAction::exclusiveStates') - - - - - <p>The <code>exitAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = exit -</code>.</p> - - - OCL2.0 - exitAction = - let exitMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::exit) in - if exitMemberships->isEmpty() then null - else exitMemberships->at(1) - endif - - - - - <p>A <code>StateUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::stateActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('States::stateActions') - - - - - <p>A <code>StateUsage</code> must not have more than one owned <code>StateSubactionMembership</code> of each <code>kind</code>.</p> - - - OCL2.0 - ownedMembership-> - selectByKind(StateSubactionMembership)-> - isUnique(kind) - - - - - <p>A <code>StateUsage</code> that is a substate usage with a owning <code>StateDefinition</code> or <code>StateUsage</code> that is parallel must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::StateAction::substates</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubstateUsage(true) implies - specializesFromLibrary('States::StateAction::substates') - - - - - <p>A composite <code>StateUsage</code> whose <code>owningType</code> is a <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>Parts::Part::ownedStates</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::ownedStates') - - - - - - <p>The <code>Behaviors</code> that are the <code>types</code> of this <code>StateUsage</code>. Nominally, these would be <code>StateDefinitions</code>, but kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> - - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed on entry to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed while in the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed on exit to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = exit</code>.</p> - - - - - - - <p>Whether the <code>nestedStates</code> of this <code>StateUsage</code> are to all be performed in parallel. If true, none of the <code>nestedActions</code> (which include <code>nestedStates</code>) may have any incoming or outgoing <code>Transitions</code>. If false, only one <code>nestedState</code> may be performed at a time.</p> - - - - - - - - <p>Check if this <code>StateUsage</code> is composite and has an <code>owningType</code> that is a <code>StateDefinition</code> or <code>StateUsage</code> with the given value of <code>isParallel</code>, but is <em>not</em> an <code>entryAction</code>, <code>doAction</code>, or <code>exitAction</code>. If so, then it represents a <code><em>StateAction</em></code> that is a <code><em>substate</em></code> or <code><em>exclusiveState</em></code> (for <code>isParallel = false</code>) of another <code><em>StateAction</em></code>.</p> - - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(StateDefinition) and - owningType.oclAsType(StateDefinition).isParallel = isParallel or - owningType.oclIsKindOf(StateUsage) and - owningType.oclAsType(StateUsage).isParallel = isParallel) and -not owningFeatureMembership.oclIsKindOf(StateSubactionMembership) - - - - - - - - - - - - - - <p>The StateDefinitions featuring a certain StateUsage.</p> - - - - - - - - - <p>A <code>StateSubactionKind</code> indicates whether the <code>action</code> of a StateSubactionMembership is an entry, do or exit action.</p> - - - - <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is an <code>entryAction</code>.</p> - - - - - <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is a <code>doAction</code>.</p> - - - - - <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is an <code>exitAction</code>.</p> - - - - - - <p>A <code>StateSubactionMembership</code> is a <code>FeatureMembership</code> for an entry, do or exit <code>ActionUsage<code> of a <code>StateDefinition</code> or <code>StateUsage</code>.</p> - - - - <p>The <code>owningType</code> of a <code>StateSubactionMembership</code> must be a <code>StateDefinition</code> or a <code>StateUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(StateDefinition) or -owningType.oclIsKindOf(StateUsage) - - - - - - - - <p>Whether this <code>StateSubactionMembership</code> is for an <code>entry<code>, <code>do</code> or <code>exit</code> <code>ActionUsage</code>.</p> - - - - - <p>The <code>ActionUsage</code> that is the <code>ownedMemberFeature</code> of this <code>StateSubactionMembership</code>.</p> - - - - - - - - - <p>A <code>StateDefinition</code> is the <code>Definition</code> of the </code>Behavior</code> of a system or part of a system in a certain state condition.</p> + <p>A <code>StateUsage</code> may be related to up to three of its <code>ownedFeatures</code> by <code>StateSubactionMembership</code> <code>Relationships</code>, all of different <code>kinds</code>, corresponding to the entry, do and exit actions of the <code>StateUsage</code>.</p> + + + + + <p>The <code>doAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> + + + OCL2.0 + doAction = + let doMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::do) in + if doMemberships->isEmpty() then null + else doMemberships->at(1) + endif + + + + + <p>The <code>entryAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> + + + OCL2.0 + entryAction = + let entryMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::entry) in + if entryMemberships->isEmpty() then null + else entryMemberships->at(1) + endif + + + + + <p>If a <code>StateUsage</code> is parallel, then its <code>nestedActions</code> (which includes <code>nestedStates</code>) must not have any <code>incomingTransitions</code> or <code>outgoingTransitions</code>.</p> + + + OCL2.0 + isParallel implies + nestedAction.incomingTransition->isEmpty() and + nestedAction.outgoingTransition->isEmpty() + + + + + <p>A <code>StateUsage</code> that is a substate usage with a non-parallel owning <code>StateDefinition</code> or <code>StateUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::StateAction::exclusiveStates</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubstateUsage(false) implies + specializesFromLibrary('States::StateAction::exclusiveStates') + + + + + <p>The <code>exitAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = exit + </code>.</p> + + + OCL2.0 + exitAction = + let exitMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::exit) in + if exitMemberships->isEmpty() then null + else exitMemberships->at(1) + endif + + + + + <p>A <code>StateUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::stateActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('States::stateActions') + + + + + <p>A <code>StateUsage</code> must not have more than one owned <code>StateSubactionMembership</code> of each <code>kind</code>.</p> + + + OCL2.0 + ownedMembership-> + selectByKind(StateSubactionMembership)-> + isUnique(kind) + + + + + <p>A <code>StateUsage</code> that is a substate usage with a owning <code>StateDefinition</code> or <code>StateUsage</code> that is parallel must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::StateAction::substates</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isSubstateUsage(true) implies + specializesFromLibrary('States::StateAction::substates') + + + + + <p>A composite <code>StateUsage</code> whose <code>owningType</code> is a <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>Parts::Part::ownedStates</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::ownedStates') + + + + + + <p>The <code>Behaviors</code> that are the <code>types</code> of this <code>StateUsage</code>. Nominally, these would be <code>StateDefinitions</code>, but kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> + + + + + + + + <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed on entry to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> + + + + + + + <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed while in the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> + + + + + + + <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed on exit to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = exit</code>.</p> + + + + + + + <p>Whether the <code>nestedStates</code> of this <code>StateUsage</code> are to all be performed in parallel. If true, none of the <code>nestedActions</code> (which include <code>nestedStates</code>) may have any incoming or outgoing <code>Transitions</code>. If false, only one <code>nestedState</code> may be performed at a time.</p> + + + + + + + + <p>Check if this <code>StateUsage</code> is composite and has an <code>owningType</code> that is a <code>StateDefinition</code> or <code>StateUsage</code> with the given value of <code>isParallel</code>, but is <em>not</em> an <code>entryAction</code>, <code>doAction</code>, or <code>exitAction</code>. If so, then it represents a <code><em>StateAction</em></code> that is a <code><em>substate</em></code> or <code><em>exclusiveState</em></code> (for <code>isParallel = false</code>) of another <code><em>StateAction</em></code>.</p> + + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(StateDefinition) and + owningType.oclAsType(StateDefinition).isParallel = isParallel or + owningType.oclIsKindOf(StateUsage) and + owningType.oclAsType(StateUsage).isParallel = isParallel) and + not owningFeatureMembership.oclIsKindOf(StateSubactionMembership) + + + + + + + + + + + + + + <p>The StateDefinitions featuring a certain StateUsage.</p> + + + + + + + + + <p>A <code>StateSubactionKind</code> indicates whether the <code>action</code> of a StateSubactionMembership is an entry, do or exit action.</p> + + + + <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is an <code>entryAction</code>.</p> + + + + + <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is a <code>doAction</code>.</p> + + + + + <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is an <code>exitAction</code>.</p> + + + + + + <p>A <code>StateSubactionMembership</code> is a <code>FeatureMembership</code> for an entry, do or exit <code>ActionUsage<code> of a <code>StateDefinition</code> or <code>StateUsage</code>.</p> + + + + <p>The <code>owningType</code> of a <code>StateSubactionMembership</code> must be a <code>StateDefinition</code> or a <code>StateUsage</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(StateDefinition) or + owningType.oclIsKindOf(StateUsage) + + + + + + + + <p>Whether this <code>StateSubactionMembership</code> is for an <code>entry<code>, <code>do</code> or <code>exit</code> <code>ActionUsage</code>.</p> + + + + + <p>The <code>ActionUsage</code> that is the <code>ownedMemberFeature</code> of this <code>StateSubactionMembership</code>.</p> + + + + + + + + + <p>A <code>StateDefinition</code> is the <code>Definition</code> of the </code>Behavior</code> of a system or part of a system in a certain state condition.</p> -<p>A <code>StateDefinition</code> may be related to up to three of its <code>ownedFeatures</code> by <code>StateBehaviorMembership</code> <code>Relationships</code>, all of different <code>kinds</code>, corresponding to the entry, do and exit actions of the <code>StateDefinition</code>.</p> - - - - <p>A <code>StateDefinition</code> must directly or indirectly specialize the <code>StateDefinition</code> <em><code>States::StateAction</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('States::StateAction') - - - - - <p>A <code>StateDefinition</code> must not have more than one owned <code>StateSubactionMembership</code> of each <code>kind</code>.</p> - - - OCL2.0 - ownedMembership-> - selectByKind(StateSubactionMembership)-> - isUnique(kind) - - - - - <p>The <code>states</code> of a <code>StateDefinition</code> are those of its <code>actions</code> that are <code>StateUsages</code>.</p> - - - OCL2.0 - state = action->selectByKind(StateUsage) - - - - - <p>The <code>doAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> - - - OCL2.0 - doAction = - let doMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::do) in - if doMemberships->isEmpty() then null - else doMemberships->at(1) - endif - - - - - <p>The <code>entryAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> - - - OCL2.0 - entryAction = - let entryMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::entry) in - if entryMemberships->isEmpty() then null - else entryMemberships->at(1) - endif - - - - - <p>If a <code>StateDefinition</code> is parallel, then its <code>ownedActions</code> (which includes its <code>ownedStates</code>) must not have any <code>incomingTransitions</code> or <code>outgoingTransitions</code>.</p> - - - OCL2.0 - isParallel implies - ownedAction.incomingTransition->isEmpty() and - ownedAction.outgoingTransition->isEmpty() - - - - - <p>The <code>exitAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = exit -</code>.</p> - - - OCL2.0 - exitAction = - let exitMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::exit) in - if exitMemberships->isEmpty() then null - else exitMemberships->at(1) - endif - - - - - - <p>The <code>StateUsages</code>, which are <code>actions</code> in the <code>StateDefinition</code>, that specify the discrete states in the behavior defined by the <code>StateDefinition</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed on entry to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed while in the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed on exit to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = exit</code>.</p> - - - - - - - <p>Whether the <code>ownedStates</code> of this <code>StateDefinition</code> are to all be performed in parallel. If true, none of the <code>ownedActions</code> (which includes <code>ownedStates</code>) may have any incoming or outgoing <code>Transitions</code>. If false, only one <code>ownedState</code> may be performed at a time.</p> - - - - - - - - - - <p>The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinition, but non-StateDefinition Behaviors are also allowed, to permit use of Behaviors from the Kernel Library.</p> - - - - - - - - <p>A <code>TransitionUsage</code> is an <code>ActionUsage</code> representing a triggered transition between <code>ActionUsages</code> or <code>StateUsages</code>. When triggered by a <code>triggerAction</code>, when its <code>guardExpression</code> is true, the <code>TransitionUsage</code> asserts that its <code>source</code> is exited, then its <code>effectAction</code> (if any) is performed, and then its <code>target</code> is entered.</p> + <p>A <code>StateDefinition</code> may be related to up to three of its <code>ownedFeatures</code> by <code>StateBehaviorMembership</code> <code>Relationships</code>, all of different <code>kinds</code>, corresponding to the entry, do and exit actions of the <code>StateDefinition</code>.</p> + + + + <p>A <code>StateDefinition</code> must directly or indirectly specialize the <code>StateDefinition</code> <em><code>States::StateAction</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('States::StateAction') + + + + + <p>A <code>StateDefinition</code> must not have more than one owned <code>StateSubactionMembership</code> of each <code>kind</code>.</p> + + + OCL2.0 + ownedMembership-> + selectByKind(StateSubactionMembership)-> + isUnique(kind) + + + + + <p>The <code>states</code> of a <code>StateDefinition</code> are those of its <code>actions</code> that are <code>StateUsages</code>.</p> + + + OCL2.0 + state = action->selectByKind(StateUsage) + + + + + <p>The <code>doAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> + + + OCL2.0 + doAction = + let doMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::do) in + if doMemberships->isEmpty() then null + else doMemberships->at(1) + endif + + + + + <p>The <code>entryAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> + + + OCL2.0 + entryAction = + let entryMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::entry) in + if entryMemberships->isEmpty() then null + else entryMemberships->at(1) + endif + + + + + <p>If a <code>StateDefinition</code> is parallel, then its <code>ownedActions</code> (which includes its <code>ownedStates</code>) must not have any <code>incomingTransitions</code> or <code>outgoingTransitions</code>.</p> + + + OCL2.0 + isParallel implies + ownedAction.incomingTransition->isEmpty() and + ownedAction.outgoingTransition->isEmpty() + + + + + <p>The <code>exitAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = exit + </code>.</p> + + + OCL2.0 + exitAction = + let exitMemberships : Sequence(StateSubactionMembership) = + ownedMembership-> + selectByKind(StateSubactionMembership)-> + select(kind = StateSubactionKind::exit) in + if exitMemberships->isEmpty() then null + else exitMemberships->at(1) + endif + + + + + + <p>The <code>StateUsages</code>, which are <code>actions</code> in the <code>StateDefinition</code>, that specify the discrete states in the behavior defined by the <code>StateDefinition</code>.</p> + + + + + + + <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed on entry to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> + + + + + + + <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed while in the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> + + + + + + + <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed on exit to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = exit</code>.</p> + + + + + + + <p>Whether the <code>ownedStates</code> of this <code>StateDefinition</code> are to all be performed in parallel. If true, none of the <code>ownedActions</code> (which includes <code>ownedStates</code>) may have any incoming or outgoing <code>Transitions</code>. If false, only one <code>ownedState</code> may be performed at a time.</p> + + + + + + + + + + <p>The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinition, but non-StateDefinition Behaviors are also allowed, to permit use of Behaviors from the Kernel Library.</p> + + + + + + + + <p>A <code>TransitionUsage</code> is an <code>ActionUsage</code> representing a triggered transition between <code>ActionUsages</code> or <code>StateUsages</code>. When triggered by a <code>triggerAction</code>, when its <code>guardExpression</code> is true, the <code>TransitionUsage</code> asserts that its <code>source</code> is exited, then its <code>effectAction</code> (if any) is performed, and then its <code>target</code> is entered.</p> -<p>A <code>TransitionUsage</code> can be related to some of its <code>ownedFeatures</code> using <code>TransitionFeatureMembership</code> <code>Relationships</code>, corresponding to the <code>triggerAction</code>, <code>guardExpression</code> and <code>effectAction</code> of the <code>TransitionUsage</code>.</p> - - - - <p>A composite <code>TransitionUsage</code> whose <code>owningType</code> is an <code>ActionDefinition</code> or <code>ActionUsage</code> and whose <code>source</code> is <em>not</em> a <code>StateUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::decisionTransitions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) and -source <> null and not source.oclIsKindOf(StateUsage) implies - specializesFromLibrary('Actions::Action::decisionTransitions') - - - - - <p>A composite <code>TransitionUsage</code> whose <code>owningType</code> is a <code>StateDefinition</code> or <code>StateUsage</code> and whose <code>source</code> is a <code>StateUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>States::StateAction::stateTransitions</code></em> from the Systems Model Library</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(StateDefinition) or - owningType.oclIsKindOf(StateUsage)) and -source <> null and source.oclIsKindOf(StateUsage) implies - specializesFromLibrary('States::StateAction::stateTransitions') - - - - - - <p>A <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::transitionActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::transitionActions') - - - - - <p>The <code>source</code> of a <code>TransitionUsage</code> is <code>featureTarget</code> of the result of <code>sourceFeature()</code>, which must be an <code>ActionUsage</code>.</p> - - - OCL2.0 - source = - let sourceFeature : Feature = sourceFeature() in - if sourceFeature = null then null - else sourceFeature.featureTarget.oclAsType(ActionUsage) - - - - - <p>The <code>target</code> of a <code>TransitionUsage</code> is given by the <code>featureTarget</code> of the <code>targetFeature</code> of its <code>succession</code>, which must be an <code>ActionUsage</code>.</p> - - - OCL2.0 - target = - if succession.targetFeature->isEmpty() then null - else - let targetFeature : Feature = - succession.targetFeature->first().featureTarget in - if not targetFeature.oclIsKindOf(ActionUsage) then null - else targetFeature.oclAsType(ActionUsage) - endif - endif - - - - - - <p>The <code>triggerActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = trigger</code>, which must all be <code>AcceptActionUsages</code>.</p> - - - OCL2.0 - triggerAction = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeature-> - selectByKind(AcceptActionUsage) - - - - - <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>Succession</code> with an <code>ActionUsage</code> as the <code>featureTarget</code> of its <code>targetFeature</code>.</p> - - - OCL2.0 - let successions : Sequence(Successions) = - ownedMember->selectByKind(Succession) in -successions->notEmpty() and -successions->at(1).targetFeature.featureTarget-> - forAll(oclIsKindOf(ActionUsage)) - - - - - <p>The <code>triggerActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = trigger</code>, which must all be <code>Expressions</code>.</p> - - - OCL2.0 - guardExpression = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeature-> - selectByKind(Expression) - - - - - <p>The <code>triggerActions</code>, <code>guardExpressions</code>, and <code>effectActions</code> of a <code>TransitionUsage</code> must specialize, respectively, the <em><code>accepter</code></em>, <em><code>guard</code></em>, and <em><code>effect</code></em> <code>features</code> of the <code>ActionUsage</code> <em><code>Actions::TransitionActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - triggerAction->forAll(specializesFromLibrary('Actions::TransitionAction::accepter') and -guardExpression->forAll(specializesFromLibrary('Actions::TransitionAction::guard') and -effectAction->forAll(specializesFromLibrary('Actions::TransitionAction::effect')) - - - - - <p>The <code>effectActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = effect</code>, which must all be <code>ActionUsages</code>.</p> - - - OCL2.0 - triggerAction = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeatures-> - selectByKind(AcceptActionUsage) - - - - - <p>The <code>sourceFeature</code> of the <code>succession</code> of a <code>TransitionUsage</code> must be the <code>source</code> of the <code>TransitionUsage</code> (i.e., the first <code>connectorEnd</code> of the <code>succession</code> must have a <code>ReferenceSubsetting</code> <code>Relationship</code> with the <code>source</code>).</p> - - - OCL2.0 - succession.sourceFeature = source - - - - - <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>source</code> and its first input <code>parameter</code> (which redefines <code><em>Actions::TransitionAction::transitionLinkSource</em></code>).</p> - - - OCL2.0 - ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(source) and - b.relatedFeatures->includes(inputParameter(1))) - - - - - <p>If a <code>TransitionUsage</code> has a <code>triggerAction</code>, then the <em><code>payload</code></em> <code>parameter</code> of the <code>TransitionUsage</code> subsets the <code>Feature</code> chain of the <code>triggerAction</code> and its <code>payloadParameter</code>.</p> - - - OCL2.0 - triggerAction->notEmpty() implies - let payloadParameter : Feature = inputParameter(2) in - payloadParameter <> null and - payloadParameter.subsetsChain(triggerAction->at(1), triggerPayloadParameter()) - - - - - <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>succession</code> and the inherited <code>Feature</code> <code><em>TransitionPerformances::TransitionPerformance::transitionLink</em></code>.</p> - - - OCL2.0 - ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(succession) and - b.relatedFeatures->includes(resolveGlobal( - 'TransitionPerformances::TransitionPerformance::transitionLink'))) - - - - - <p>A <code>TransitionUsage</code> must have at least one owned input <code>parameter</code> and, if it has a <code>triggerAction</code>, it must have at least two.</p> - - - OCL2.0 - if triggerAction->isEmpty() then - inputParameters()->size() >= 1 -else - inputParameters()->size() >= 2 -endif - - - - - - <p>The <code>succession</code> of a <code>TransitionUsage</code> is its first <code>ownedMember</code> that is a <code>Succession</code>.</p> - - - OCL2.0 - succession = ownedMember->selectByKind(Succession)->at(1) - - - - - <p>If the <code>source</code> of a <code>TransitionUsage</code> is <em>not</em> a <code>StateUsage</code>, then the <code>TransitionUsage</code> must not have any <code>triggerActions</code>.</p> - - - OCL2.0 - source <> null and not source.oclIsKindOf(StateUsage) implies - triggerAction->isEmpty() - - - - - - <p>The source <code>ActionUsage</code> of this <code>TransitionUsage</code>, which becomes the <code>source</code> of the <code>succession</code> for the <code>TransitionUsage</code>.</p> - - - - - - - <p>The target <code>ActionUsage</code> of this <code>TransitionUsage<code>, which is the <code>targetFeature</code> of the <code>succession</code> for the <code>TransitionUsage</code>.</p> - - - - - - - <p>The <code>AcceptActionUsages</code> that define the triggers of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = trigger</code>, which must all be <code>AcceptActionUsages</code>.</p> - - - - - - - - <p>The <code>Expressions</code> that define the guards of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = guard</code>, which must all be <code>Expressions</code>.</p> - - - - - - - - - <p>The <code>ActionUsages</code> that define the effects of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = effect</code>, which must all be <code>ActionUsages</code>.</p> - - - - - - - - <p>The <code>Succession</code> that is the <code>ownedFeature</code> of this <code>TransitionUsage</code>, which, if the <code>TransitionUsage</code> is triggered, asserts the temporal ordering of the <code>source</code> and <code>target</code>.</p> - - - - - - - - - <p>Return the <code>payloadParameter</code> of the <code>triggerAction</code> of this <code>TransitionUsage</code>, if it has one.</p> - - - - OCL2.0 - if triggerAction->isEmpty() then null -else triggerAction->first().payloadParameter -endif - - - - - - - - - - <p>Return the <code>Feature</code> to be used as the <code>source</code> of the <code>succession</code> of this <code>TransitionUsage</code>, which is the first <code>member</code> of the <code>TransitionUsage</code> that is a <code>Feature</code>, that is owned by the <code>TransitionUsage</code> via a <code>Membership</code> that is <em>not</em> a <code>FeatureMembership</code>, and whose <code>featureTarget</code> is an <code>ActionUsage</code>.</p> - - - - OCL2.0 - let features : Sequence(Feature) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement-> - selectByKind(Feature)-> - select(featureTarget.oclIsKindOf(ActionUsage)) in -if features->isEmpty() then null -else features->first() -endif - - - - - - - - - - - - <p>A <code>TransitionFeatureMembership</code> is a <code>FeatureMembership</code> for a trigger, guard or effect of a <code>TransitionUsage</code>, whose <code>transitionFeature</code> is a <code>AcceptActionUsage</code>, <em><code>Boolean</code></em>-valued <code>Expression</code> or <code>ActionUsage</code>, depending on its <code>kind</code>. </p> - - - - <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>trigger</code>, then its <code>transitionFeature</code> must be a kind of <code>AcceptActionUsage</code>.</p> - - - OCL2.0 - kind = TransitionFeatureKind::trigger implies - transitionFeature.oclIsKindOf(AcceptActionUsage) - - - - - <p>The <code>owningType</code> of a <code>TransitionFeatureMembership</code> must be a <code>TransitionUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(TransitionUsage) - - - - - <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>guard</code>, then its <code>transitionFeature</code> must be a kind of <code>Expression</code> whose result is a <em><code>Boolean</code></em> value.</p> - - - OCL2.0 - kind = TransitionFeatureKind::guard implies - transitionFeature.oclIsKindOf(Expression) and - let guard : Expression = transitionFeature.oclIsKindOf(Expression) in - guard.result.specializesFromLibrary('ScalarValues::Boolean') and - guard.result.multiplicity <> null and - guard.result.multiplicity.hasBounds(1,1) - - - - - <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>effect</code>, then its <code>transitionFeature</code> must be a kind of <code>ActionUsage</code>.</p> - - - OCL2.0 - kind = TransitionFeatureKind::effect implies - transitionFeature.oclIsKindOf(ActionUsage) - - - - - - - - <p>Whether this <code>TransitionFeatureMembership </code> is for a <code>trigger</code>, <code>guard</code> or <code>effect</code>.</p> - - - - - <p>The <code>Step</code> that is the <code>ownedMemberFeature</code> of this <code>TransitionFeatureMembership</code>.</p> - - - - - - - - - - <p>An <code>ExhibitStateUsage</code> is a <code>StateUsage</code> that represents the exhibiting of a <code>StateUsage</code>. Unless it is the <code>StateUsage</code> itself, the <code>StateUsage</code> to be exhibited is related to the <code>ExhibitStateUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>. An <code>ExhibitStateUsage</code> is also a <code>PerformActionUsage</code>, with its <code>exhibitedState</code> as the <code>performedAction</code>.</p> - - - - - <p>If an <code>ExhibitStateUsage</code> has an <code>owningType</code> that is a <code>PartDefinition</code> or <code>PartUsage</code>, then it must directly or indirectly specialize the <code>StateUsage</code> <code><em>Parts::Part::exhibitedStates</em></code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::exhibitedStates') - - - - - <p>If an <code>ExhibitStateUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be a <code>StateUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(StateUsage) - - - - - - - <p>The <code>StateUsage</code> to be exhibited by the <code>ExhibitStateUsage</code>. It is the <code>performedAction</code> of the <code>ExhibitStateUsage</code> considered as a <code>PerformActionUsage</code>, which must be a <code>StateUsage</code>.</p> - - - - - - - - <p>A <code>TransitionActionKind</code> indicates whether the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a trigger, guard or effect.</p> - - - - <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a <code>triggerAction</code>.</p> - - - - - <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a <code>guardExpression</code>.</p> - - - - - <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is an <code>effectAction</code>.</p> - - - - - - - <p>The ExhibitStateUsages that have a certain StateUsage as their <tt>exhibitedState</tt>.</p> - - - - - - - - - <p>The Transition that owns a certain Succession.</p> - - - - - - - - - - <p>The TransitionUsage that has a certain <tt>effectAction</tt>.</p> - - - - - - - - - - <p>The TransitionUsage incoming to a certain target <tt>ActionUsage</tt>.</p> - - - - - - - - - <p>The TransitionUsage that is triggered by a certain AcceptActionUsage.</p> - - - - - - - - - - <p>The TransitionUsage that is guarded by a certain Expression.</p> - - - - - - - - - - <p>The TransitionUsage outgoing from a certain source <tt>ActionUsage</tt>.</p> - - - - - - - - - <p>The StateDefinitions with a certain <tt>exitAction</tt>.</p> - - - - - - - - - <p>The StateDefinitions with a certain <tt>doAction</tt>.</p> - - - - - - - - - <p>The StateUsages with a certain <tt>entryAction</tt>.</p> - - - - - - - - - <p>The StateDefinitions with a certain <tt>entryAction</tt>.</p> - - - - - - - - - <p>The TransitionFeatureMembership that owns a certain Step (if any).</p> - - - - - - - - - - <p>The StateUsages with a certain <tt>exitAction</tt>.</p> - - - - - - - - - <p>The StateUsages with a certain <tt>doAction</tt>.</p> - - - - - - - - - <p>The StateSubactionMembership that is the owner of a certain ActionUsage (if any).</p> - - - - - - - - - - - <p>A <code>ConstraintUsage</code> is an <code>OccurrenceUsage</code> that is also a <code>BooleanExpression</code>, and, so, is typed by a <code>Predicate</code>. Nominally, if the type is a <code>ConstraintDefinition</code>, a <code>ConstraintUsage</code> is a <code>Usage</code> of that <code>ConstraintDefinition</code>. However, other kinds of kernel <code>Predicates</code> are also allowed, to permit use of <code>Predicates</code> from the Kernel Model Libraries.</p> - - - - <p>A <code>ConstraintUsage</code> whose <code>owningFeatureMembership</code> is a <code>RequirementConstraintMembership</code> must directly or indirectly specialize on the <code>ConstraintUsages</code> <code><em>assumptions</em></code> or <code><em>constraints</em></code> from the <code>ConstraintDefinition</code> <code><em>Requirements::RequirementCheck</em></code> in the Systems Model Library, depending on whether the <code>kind</code> of the <code>RequirementConstraintMembership</code> is <code>assumption</code> or <code>requirement</code>, respectively.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies - if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind = - RequirementConstraintKind::assumption then - specializesFromLibrary('Requirements::RequirementCheck::assumptions') - else - specializesFromLibrary('Requirements::RequirementCheck::constraints') - endif - - - - - <p>A <code>ConstraintUsage</code> must directly or indirectly specialize the base <code>ConstraintUsage</code> <em><code>Constraints::constraintChecks</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Constraints::constraintChecks') - - - - - <p>A <code>ConstraintUsage</code> whose <code>owningType</code> is an <code>ItemDefinition</code> or <code>ItemUsage</code> must directly or indirectly specialize the <code>ConstraintUsage</code> <em><code>Items::Item::checkedConstraints</code></em>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::checkedConstraints') - - - - - - - - - <p>The (single) <code>Predicate</code> that is the type of this <code>ConstraintUsage</code>. Nominally, this will be a <code>ConstraintDefinition</code>, but other kinds of <code>Predicates</code> are also allowed, to permit use of <code>Predicates</code> from the Kernel Model Libraries.</p> - - - - - - - - - <p>The naming <code>Feature</code> of a <code>ConstraintUsage</code> that is owned by a <code>RequirementConstraintMembership</code> and has an <code>ownedReferenceSubsetting</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of that <code>ownedReferenceSubsetting</code>.</p> - - - - OCL2.0 - if owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) and -ownedReferenceSubsetting <> null then - ownedReferenceSubsetting.referencedFeature.featureTarget -else - self.oclAsType(OccurrenceUsage).namingFeature() -endif - - - - - - - - - - - <p>A <code>ConstraintUsage</code> is not model-level evaluable.</p> - - - - OCL2.0 - false - - - - - - - - - - - - - - - - <p>A <code>ConstraintDefinition</code> is an <code>OccurrenceDefinition</code> that is also a <code>Predicate</code> that defines a constraint that may be asserted to hold on a system or part of a system.</p> + <p>A <code>TransitionUsage</code> can be related to some of its <code>ownedFeatures</code> using <code>TransitionFeatureMembership</code> <code>Relationships</code>, corresponding to the <code>triggerAction</code>, <code>guardExpression</code> and <code>effectAction</code> of the <code>TransitionUsage</code>.</p> + + + + <p>A composite <code>TransitionUsage</code> whose <code>owningType</code> is an <code>ActionDefinition</code> or <code>ActionUsage</code> and whose <code>source</code> is <em>not</em> a <code>StateUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::decisionTransitions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(ActionDefinition) or + owningType.oclIsKindOf(ActionUsage)) and + source <> null and not source.oclIsKindOf(StateUsage) implies + specializesFromLibrary('Actions::Action::decisionTransitions') + + + + + <p>A composite <code>TransitionUsage</code> whose <code>owningType</code> is a <code>StateDefinition</code> or <code>StateUsage</code> and whose <code>source</code> is a <code>StateUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>States::StateAction::stateTransitions</code></em> from the Systems Model Library</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(StateDefinition) or + owningType.oclIsKindOf(StateUsage)) and + source <> null and source.oclIsKindOf(StateUsage) implies + specializesFromLibrary('States::StateAction::stateTransitions') + + + + + + <p>A <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::transitionActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Actions::transitionActions') + + + + + <p>The <code>source</code> of a <code>TransitionUsage</code> is <code>featureTarget</code> of the result of <code>sourceFeature()</code>, which must be an <code>ActionUsage</code>.</p> + + + OCL2.0 + source = + let sourceFeature : Feature = sourceFeature() in + if sourceFeature = null then null + else sourceFeature.featureTarget.oclAsType(ActionUsage) + + + + + <p>The <code>target</code> of a <code>TransitionUsage</code> is given by the <code>featureTarget</code> of the <code>targetFeature</code> of its <code>succession</code>, which must be an <code>ActionUsage</code>.</p> + + + OCL2.0 + target = + if succession.targetFeature->isEmpty() then null + else + let targetFeature : Feature = + succession.targetFeature->first().featureTarget in + if not targetFeature.oclIsKindOf(ActionUsage) then null + else targetFeature.oclAsType(ActionUsage) + endif + endif + + + + + + <p>The <code>triggerActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = trigger</code>, which must all be <code>AcceptActionUsages</code>.</p> + + + OCL2.0 + triggerAction = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeature-> + selectByKind(AcceptActionUsage) + + + + + <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>Succession</code> with an <code>ActionUsage</code> as the <code>featureTarget</code> of its <code>targetFeature</code>.</p> + + + OCL2.0 + let successions : Sequence(Successions) = + ownedMember->selectByKind(Succession) in + successions->notEmpty() and + successions->at(1).targetFeature.featureTarget-> + forAll(oclIsKindOf(ActionUsage)) + + + + + <p>The <code>triggerActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = trigger</code>, which must all be <code>Expressions</code>.</p> + + + OCL2.0 + guardExpression = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeature-> + selectByKind(Expression) + + + + + <p>The <code>triggerActions</code>, <code>guardExpressions</code>, and <code>effectActions</code> of a <code>TransitionUsage</code> must specialize, respectively, the <em><code>accepter</code></em>, <em><code>guard</code></em>, and <em><code>effect</code></em> <code>features</code> of the <code>ActionUsage</code> <em><code>Actions::TransitionActions</code></em> from the Systems Model Library.</p> + + + OCL2.0 + triggerAction->forAll(specializesFromLibrary('Actions::TransitionAction::accepter') and + guardExpression->forAll(specializesFromLibrary('Actions::TransitionAction::guard') and + effectAction->forAll(specializesFromLibrary('Actions::TransitionAction::effect')) + + + + + <p>The <code>effectActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = effect</code>, which must all be <code>ActionUsages</code>.</p> + + + OCL2.0 + triggerAction = ownedFeatureMembership-> + selectByKind(TransitionFeatureMembership)-> + select(kind = TransitionFeatureKind::trigger).transitionFeatures-> + selectByKind(AcceptActionUsage) + + + + + <p>The <code>sourceFeature</code> of the <code>succession</code> of a <code>TransitionUsage</code> must be the <code>source</code> of the <code>TransitionUsage</code> (i.e., the first <code>connectorEnd</code> of the <code>succession</code> must have a <code>ReferenceSubsetting</code> <code>Relationship</code> with the <code>source</code>).</p> + + + OCL2.0 + succession.sourceFeature = source + + + + + <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>source</code> and its first input <code>parameter</code> (which redefines <code><em>Actions::TransitionAction::transitionLinkSource</em></code>).</p> + + + OCL2.0 + ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(source) and + b.relatedFeatures->includes(inputParameter(1))) + + + + + <p>If a <code>TransitionUsage</code> has a <code>triggerAction</code>, then the <em><code>payload</code></em> <code>parameter</code> of the <code>TransitionUsage</code> subsets the <code>Feature</code> chain of the <code>triggerAction</code> and its <code>payloadParameter</code>.</p> + + + OCL2.0 + triggerAction->notEmpty() implies + let payloadParameter : Feature = inputParameter(2) in + payloadParameter <> null and + payloadParameter.subsetsChain(triggerAction->at(1), triggerPayloadParameter()) + + + + + <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>succession</code> and the inherited <code>Feature</code> <code><em>TransitionPerformances::TransitionPerformance::transitionLink</em></code>.</p> + + + OCL2.0 + ownedMember->selectByKind(BindingConnector)->exists(b | + b.relatedFeatures->includes(succession) and + b.relatedFeatures->includes(resolveGlobal( + 'TransitionPerformances::TransitionPerformance::transitionLink'))) + + + + + <p>A <code>TransitionUsage</code> must have at least one owned input <code>parameter</code> and, if it has a <code>triggerAction</code>, it must have at least two.</p> + + + OCL2.0 + if triggerAction->isEmpty() then + inputParameters()->size() >= 1 + else + inputParameters()->size() >= 2 + endif + + + + + + <p>The <code>succession</code> of a <code>TransitionUsage</code> is its first <code>ownedMember</code> that is a <code>Succession</code>.</p> + + + OCL2.0 + succession = ownedMember->selectByKind(Succession)->at(1) + + + + + <p>If the <code>source</code> of a <code>TransitionUsage</code> is <em>not</em> a <code>StateUsage</code>, then the <code>TransitionUsage</code> must not have any <code>triggerActions</code>.</p> + + + OCL2.0 + source <> null and not source.oclIsKindOf(StateUsage) implies + triggerAction->isEmpty() + + + + + + <p>The source <code>ActionUsage</code> of this <code>TransitionUsage</code>, which becomes the <code>source</code> of the <code>succession</code> for the <code>TransitionUsage</code>.</p> + + + + + + + <p>The target <code>ActionUsage</code> of this <code>TransitionUsage<code>, which is the <code>targetFeature</code> of the <code>succession</code> for the <code>TransitionUsage</code>.</p> + + + + + + + <p>The <code>AcceptActionUsages</code> that define the triggers of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = trigger</code>, which must all be <code>AcceptActionUsages</code>.</p> + + + + + + + + <p>The <code>Expressions</code> that define the guards of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = guard</code>, which must all be <code>Expressions</code>.</p> + + + + + + + + + <p>The <code>ActionUsages</code> that define the effects of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = effect</code>, which must all be <code>ActionUsages</code>.</p> + + + + + + + + <p>The <code>Succession</code> that is the <code>ownedFeature</code> of this <code>TransitionUsage</code>, which, if the <code>TransitionUsage</code> is triggered, asserts the temporal ordering of the <code>source</code> and <code>target</code>.</p> + + + + + + + + + <p>Return the <code>payloadParameter</code> of the <code>triggerAction</code> of this <code>TransitionUsage</code>, if it has one.</p> + + + + OCL2.0 + if triggerAction->isEmpty() then null + else triggerAction->first().payloadParameter + endif + + + + + + + + + + <p>Return the <code>Feature</code> to be used as the <code>source</code> of the <code>succession</code> of this <code>TransitionUsage</code>, which is the first <code>member</code> of the <code>TransitionUsage</code> that is a <code>Feature</code>, that is owned by the <code>TransitionUsage</code> via a <code>Membership</code> that is <em>not</em> a <code>FeatureMembership</code>, and whose <code>featureTarget</code> is an <code>ActionUsage</code>.</p> + + + + OCL2.0 + let features : Sequence(Feature) = ownedMembership-> + reject(oclIsKindOf(FeatureMembership)).memberElement-> + selectByKind(Feature)-> + select(featureTarget.oclIsKindOf(ActionUsage)) in + if features->isEmpty() then null + else features->first() + endif + + + + + + + + + + + + <p>A <code>TransitionFeatureMembership</code> is a <code>FeatureMembership</code> for a trigger, guard or effect of a <code>TransitionUsage</code>, whose <code>transitionFeature</code> is a <code>AcceptActionUsage</code>, <em><code>Boolean</code></em>-valued <code>Expression</code> or <code>ActionUsage</code>, depending on its <code>kind</code>. </p> + + + + <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>trigger</code>, then its <code>transitionFeature</code> must be a kind of <code>AcceptActionUsage</code>.</p> + + + OCL2.0 + kind = TransitionFeatureKind::trigger implies + transitionFeature.oclIsKindOf(AcceptActionUsage) + + + + + <p>The <code>owningType</code> of a <code>TransitionFeatureMembership</code> must be a <code>TransitionUsage</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(TransitionUsage) + + + + + <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>guard</code>, then its <code>transitionFeature</code> must be a kind of <code>Expression</code> whose result is a <em><code>Boolean</code></em> value.</p> + + + OCL2.0 + kind = TransitionFeatureKind::guard implies + transitionFeature.oclIsKindOf(Expression) and + let guard : Expression = transitionFeature.oclIsKindOf(Expression) in + guard.result.specializesFromLibrary('ScalarValues::Boolean') and + guard.result.multiplicity <> null and + guard.result.multiplicity.hasBounds(1,1) + + + + + <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>effect</code>, then its <code>transitionFeature</code> must be a kind of <code>ActionUsage</code>.</p> + + + OCL2.0 + kind = TransitionFeatureKind::effect implies + transitionFeature.oclIsKindOf(ActionUsage) + + + + + + + + <p>Whether this <code>TransitionFeatureMembership </code> is for a <code>trigger</code>, <code>guard</code> or <code>effect</code>.</p> + + + + + <p>The <code>Step</code> that is the <code>ownedMemberFeature</code> of this <code>TransitionFeatureMembership</code>.</p> + + + + + + + + + + <p>An <code>ExhibitStateUsage</code> is a <code>StateUsage</code> that represents the exhibiting of a <code>StateUsage</code>. Unless it is the <code>StateUsage</code> itself, the <code>StateUsage</code> to be exhibited is related to the <code>ExhibitStateUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>. An <code>ExhibitStateUsage</code> is also a <code>PerformActionUsage</code>, with its <code>exhibitedState</code> as the <code>performedAction</code>.</p> + + + + + <p>If an <code>ExhibitStateUsage</code> has an <code>owningType</code> that is a <code>PartDefinition</code> or <code>PartUsage</code>, then it must directly or indirectly specialize the <code>StateUsage</code> <code><em>Parts::Part::exhibitedStates</em></code>.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(PartDefinition) or + owningType.oclIsKindOf(PartUsage)) implies + specializesFromLibrary('Parts::Part::exhibitedStates') + + + + + <p>If an <code>ExhibitStateUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be a <code>StateUsage</code>.</p> + + + OCL2.0 + referencedFeatureTarget() <> null implies + referencedFeatureTarget().oclIsKindOf(StateUsage) + + + + + + + <p>The <code>StateUsage</code> to be exhibited by the <code>ExhibitStateUsage</code>. It is the <code>performedAction</code> of the <code>ExhibitStateUsage</code> considered as a <code>PerformActionUsage</code>, which must be a <code>StateUsage</code>.</p> + + + + + + + + <p>A <code>TransitionActionKind</code> indicates whether the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a trigger, guard or effect.</p> + + + + <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a <code>triggerAction</code>.</p> + + + + + <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a <code>guardExpression</code>.</p> + + + + + <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is an <code>effectAction</code>.</p> + + + + + + + <p>The ExhibitStateUsages that have a certain StateUsage as their <tt>exhibitedState</tt>.</p> + + + + + + + + + <p>The Transition that owns a certain Succession.</p> + + + + + + + + + + <p>The TransitionUsage that has a certain <tt>effectAction</tt>.</p> + + + + + + + + + + <p>The TransitionUsage incoming to a certain target <tt>ActionUsage</tt>.</p> + + + + + + + + + <p>The TransitionUsage that is triggered by a certain AcceptActionUsage.</p> + + + + + + + + + + <p>The TransitionUsage that is guarded by a certain Expression.</p> + + + + + + + + + + <p>The TransitionUsage outgoing from a certain source <tt>ActionUsage</tt>.</p> + + + + + + + + + <p>The StateDefinitions with a certain <tt>exitAction</tt>.</p> + + + + + + + + + <p>The StateDefinitions with a certain <tt>doAction</tt>.</p> + + + + + + + + + <p>The StateUsages with a certain <tt>entryAction</tt>.</p> + + + + + + + + + <p>The StateDefinitions with a certain <tt>entryAction</tt>.</p> + + + + + + + + + <p>The TransitionFeatureMembership that owns a certain Step (if any).</p> + + + + + + + + + + <p>The StateUsages with a certain <tt>exitAction</tt>.</p> + + + + + + + + + <p>The StateUsages with a certain <tt>doAction</tt>.</p> + + + + + + + + + <p>The StateSubactionMembership that is the owner of a certain ActionUsage (if any).</p> + + + + + + + + + + + <p>A <code>ConstraintUsage</code> is an <code>OccurrenceUsage</code> that is also a <code>BooleanExpression</code>, and, so, is typed by a <code>Predicate</code>. Nominally, if the type is a <code>ConstraintDefinition</code>, a <code>ConstraintUsage</code> is a <code>Usage</code> of that <code>ConstraintDefinition</code>. However, other kinds of kernel <code>Predicates</code> are also allowed, to permit use of <code>Predicates</code> from the Kernel Model Libraries.</p> + + + + <p>A <code>ConstraintUsage</code> whose <code>owningFeatureMembership</code> is a <code>RequirementConstraintMembership</code> must directly or indirectly specialize on the <code>ConstraintUsages</code> <code><em>assumptions</em></code> or <code><em>constraints</em></code> from the <code>ConstraintDefinition</code> <code><em>Requirements::RequirementCheck</em></code> in the Systems Model Library, depending on whether the <code>kind</code> of the <code>RequirementConstraintMembership</code> is <code>assumption</code> or <code>requirement</code>, respectively.</p> + + + OCL2.0 + owningFeatureMembership <> null and + owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies + if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind = + RequirementConstraintKind::assumption then + specializesFromLibrary('Requirements::RequirementCheck::assumptions') + else + specializesFromLibrary('Requirements::RequirementCheck::constraints') + endif + + + + + <p>A <code>ConstraintUsage</code> must directly or indirectly specialize the base <code>ConstraintUsage</code> <em><code>Constraints::constraintChecks</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Constraints::constraintChecks') + + + + + <p>A <code>ConstraintUsage</code> whose <code>owningType</code> is an <code>ItemDefinition</code> or <code>ItemUsage</code> must directly or indirectly specialize the <code>ConstraintUsage</code> <em><code>Items::Item::checkedConstraints</code></em>.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::checkedConstraints') + + + + + + + + + <p>The (single) <code>Predicate</code> that is the type of this <code>ConstraintUsage</code>. Nominally, this will be a <code>ConstraintDefinition</code>, but other kinds of <code>Predicates</code> are also allowed, to permit use of <code>Predicates</code> from the Kernel Model Libraries.</p> + + + + + + + + + <p>The naming <code>Feature</code> of a <code>ConstraintUsage</code> that is owned by a <code>RequirementConstraintMembership</code> and has an <code>ownedReferenceSubsetting</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of that <code>ownedReferenceSubsetting</code>.</p> + + + + OCL2.0 + if owningFeatureMembership <> null and + owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) and + ownedReferenceSubsetting <> null then + ownedReferenceSubsetting.referencedFeature.featureTarget + else + self.oclAsType(OccurrenceUsage).namingFeature() + endif + + + + + + + + + + + <p>A <code>ConstraintUsage</code> is not model-level evaluable.</p> + + + + OCL2.0 + false + + + + + + + + + + + + + + + + <p>A <code>ConstraintDefinition</code> is an <code>OccurrenceDefinition</code> that is also a <code>Predicate</code> that defines a constraint that may be asserted to hold on a system or part of a system.</p> - - - - - <p>A <code>ConstraintDefinition</code> must directly or indirectly specialize the base <code>ConstraintDefinition</code> <em><code>Constraints::ConstraintCheck</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Constraints::ConstraintCheck') - - - - - - - - - - - <p>The ConstraintUsages typed by a certain Predicate.</p> - - - - - - - - - - <p>The AssertConstraintUsages that have a certain ConstraintUsage as their <tt>assertedConstraint</tt>.</p> - - - - - - - - <p>An <code>AssertConstraintUsage</code> is a <code>ConstraintUsage</code> that is also an <code>Invariant</code> and, so, is asserted to be true (by default). Unless it is the <code>AssertConstraintUsage</code> itself, the asserted <code>ConstraintUsage</code> is related to the <code>AssertConstraintUsage</code> by a ReferenceSubsetting <code>Relationship</code>.</p> - - - - <p>If an <code>AssertConstraintUsage</code> has no <code>ownedReferenceSubsetting</code>, then its <code>assertedConstraint</code> is the <code>AssertConstraintUsage</code> itself. Otherwise, the <code>assertedConstraint</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code>, which must be a <code>ConstraintUsage</code>.</p> - - - OCL2.0 - assertedConstraint = - if referencedFeatureTarget() = null then self - else if referencedFeatureTarget().oclIsKindOf(ConstraintUsage) then - referencedFeatureTarget().oclAsType(ConstraintUsage) - else null - endif endif - - - - - <p>If a <code>AssertConstraintUsage</code> is negated, then it must directly or indirectly specialize the <code>ConstraintUsage</code> <code><em>Constraints::negatedConstraintChecks</em></code>. Otherwise, it must directly or indirectly specialize the <code>ConstraintUsage</code> <code><em>Constraints::assertedConstraintChecks</em></code>.</p> - - - OCL2.0 - if isNegated then - specializesFromLibrary('Constraints::negatedConstraintChecks') -else - specializesFromLibrary('Constraints::assertedConstraintChecks') -endif - - - - - <p>If an <code>AssertConstraintUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of its <code>referencedFeature</code> must be a </code>ConstraintUsage</code>.</p> - - - OCL2.0 - referencedFeaureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(ConstraintUsage) - - - - - - - - - <p>The <code>ConstraintUsage</code> to be performed by the <code>AssertConstraintUsage</code>. It is the <code>referenceFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>AssertConstraintUsage</code>, if there is one, and, otherwise, the <code>AssertConstraintUsage</code> itself.</p> - - - - - - - - - - - <p>The RequirementUsage that has a certain ConstraintUsage as a <code>requiredConstraint</code> (if any).</p> - - - - - - - - - - <p>The RequirementUsage that has a certain ConstraintUsage as an <cod>assumedConstraint</code> (if any).</p> - - - - - - - - - - <p>The SatifyRequirementUsages that have a certain RequirementUsage as their <tt>satisfiedRequirement</tt>.</p> - - - - - - - - <p>A <code>RequirementDefinition</code> is a <code>ConstraintDefinition</code> that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors.</p> - - - - <p>The <code>texts</code> of a<code>RequirementDefinition</code> are the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementDefinition</code>.</p> - - - OCL2.0 - text = documentation.body - - - - - <p>The <code>assumedConstraints</code> of a <code>RequirementDefinition</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> - - - OCL2.0 - assumedConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::assumption). - ownedConstraint - - - - - <p>The <code>requiredConstraints</code> of a <code>RequirementDefinition</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = requirement</code>.</p> - - - OCL2.0 - requiredConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::requirement). - ownedConstraint - - - - - <p>The <code>subjectParameter</code> of a <code>RequirementDefinition</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> - - - OCL2.0 - subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif - - - - - <p>The <code>framedConcerns</code> of a <code>RequirementDefinition</code> are the <code>ownedConcerns</code> of the <code>FramedConcernMemberships</code> of the <code>RequirementDefinition</code>.</p> - - - OCL2.0 - framedConcern = featureMembership-> - selectByKind(FramedConcernMembership). - ownedConcern - - - - - <p>The <code>actorParameters</code> of a <code>RequirementDefinition</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>RequirementDefinition</code>.</p> - - - OCL2.0 - actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter - - - - - <p>The <code>stakeHolderParameters</code> of a <code>RequirementDefinition</code> are the <code>ownedStakeholderParameters</code> of the <code>StakeholderMemberships</code> of the <code>RequirementDefinition</code>.</p> - - - OCL2.0 - stakeholderParameter = featureMembership-> - selectByKind(StakholderMembership). - ownedStakeholderParameter - - - - - <p>A <code>RequirementDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 - - - - - <p>The <code>subjectParameter</code> of a <code>RequirementDefinition</code> must be its first <code>input</code>.</p> - - - OCL2.0 - input->notEmpty() and input->first() = subjectParameter - - - - - <p>A <code>RequirementDefinition</code> must directly or indirectly specialize the base <code>RequirementDefinition</code> <code><em>Requirements::RequirementCheck</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Requirements::RequirementCheck') - - - - - - <p>An optional modeler-specified identifier for this <code>RequirementDefinition</code> (used, e.g., to link it to an original requirement text in some source document), which is the <code>declaredShortName</code> for the <code>RequirementDefinition</code>.</p> - - - - - - - - - <p>An optional textual statement of the requirement represented by this <code>RequirementDefinition</code>, derived from the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementDefinition</code>.</p> - - - - - - - - - <p>The <code>parameter</code> of this <code>RequirementDefinition</code> that represents its subject.</p> - - - - - - - - - <p>The <code>parameters</code> of this <code>RequirementDefinition</code> that represent actors involved in the requirement.</p> - - - - - - - - - <p>The <code>parameters</code> of this <code>RequirementDefinition</code> that represent stakeholders for th requirement.</p> - - - - - - - - - <p>The owned <code>ConstraintUsages</code> that represent assumptions of this <code>RequirementDefinition</code>, which are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> - - - - - - - - <p>The owned <code>ConstraintUsages</code> that represent requirements of this <code>RequirementDefinition</code>, derived as the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind</code> = <code>requirement</code>.</p> - - - - - - - - <p>The <code>ConcernUsages</code> framed by this <code>RequirementDefinition</code>, which are the <code>ownedConcerns</code> of all <code>FramedConcernMemberships</code> of the <code>RequirementDefinition</code>.</p> - - - - - - - - - <p>The SatisfyRequirementUsages that have a certain Feature as their <tt>satisfyingFeature</tt>.</p> - - - - - - - - - <p>The RequirementUsages typed by a certain RequirementDefinition.</p> - - - - - - - - - <p>The RequirementDefinition that has a certain ConstraintUsage as an <code>assumedConstraint</code> (if any).</p> - - - - - - - - - <p>A <code>SatisfyRequirementUsage</code> is an <code>AssertConstraintUsage</code> that asserts, by default, that a satisfied <code>RequirementUsage</code> is true for a specific <code>satisfyingFeature</code>, or, if <code>isNegated = true</code>, that the <code>RequirementUsage</code> is false. The satisfied <code>RequirementUsage</code> is related to the <code>SatisfyRequirementUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>.</p> - - - - <p>The <code>satisfyingFeature</code> of a <code>SatisfyRequirementUsage</code> is the <code>Feature</code> to which the <code>subjectParameter</code> is bound.</p> - - - OCL2.0 - satisfyingFeature = - let bindings: BindingConnector = ownedMember-> - selectByKind(BindingConnector)-> - select(b | b.relatedElement->includes(subjectParameter)) in - if bindings->isEmpty() or - bindings->first().relatedElement->exits(r | r <> subjectParameter) - then null - else bindings->first().relatedElement->any(r | r <> subjectParameter) - endif - - - - - <p>A <code>SatisfyRequirementUsage</code> must have exactly one <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>subjectParameter</code> and some <code>Feature</code> other than the <code>subjectParameter</code>.</p> - - - OCL2.0 - ownedMember->selectByKind(BindingConnector)-> - select(b | - b.relatedElement->includes(subjectParameter) and - b.relatedElement->exists(r | r <> subjectParameter))-> - size() = 1 - - - - - <p>If a <code>SatisfyRequirementUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of its <code>referencedFeature</code> must be a <code>RequirementUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(RequirementUsage) - - - - - <p>If a <code>SatisfyRequirementUsage</code> is negated, then it must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::notSatisfiedRequirementChecks</code></em>. Otherwise, it must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::satisfiedRequirementChecks</code></em>.</p> - - - OCL2.0 - if isNegated then - specializesFromLibrary('Requirements::notSatisfiedRequirementChecks') -else - specializesFromLibrary('Requirements::satisfiedRequirementChecks') -endif - - - - - - - <p>The <code>RequirementUsage</code> that is satisfied by the <code>satisfyingSubject</code> of this <code>SatisfyRequirementUsage</code>. It is the <code>assertedConstraint</code> of the <code>SatisfyRequirementUsage</code> considered as an <code>AssertConstraintUsage</code>, which must be a <code>RequirementUsage</code>.</p> - - - - - - - <p>The <code>Feature</code> that represents the actual subject that is asserted to satisfy the <code>satisfiedRequirement</code>. The <code>satisfyingFeature</code> is bound to the <code>subjectParameter</code> of the <code>SatisfyRequirementUsage</code>.</p> - - - - - - - - - <p>A <code>RequirementUsage</code> is a <code>Usage</code> of a <code>RequirementDefinition</code>.</p> - - - - <p>The <code>actorParameters</code> of a <code>RequirementUsage</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter - - - - - <p>The <code>assumedConstraints</code> of a <code>RequirementUsage</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> - - - OCL2.0 - assumedConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::assumption). - ownedConstraint - - - - - <p>The <code>framedConcerns</code> of a <code>RequirementUsage</code> are the <code>ownedConcerns</code> of the <code>FramedConcernMemberships</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - framedConcern = featureMembership-> - selectByKind(FramedConcernMembership). - ownedConcern - - - - - <p>The <code>requiredConstraints</code> of a <code>RequirementUsage</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind = requirement</code>.</p> - - - OCL2.0 - requiredConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::requirement). - ownedConstraint - - - - - <p>The <code>stakeHolderParameters</code> of a <code>RequirementUsage</code> are the <code>ownedStakeholderParameters</code> of the <code>StakeholderMemberships</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - stakeholderParameter = featureMembership-> - selectByKind(AStakholderMembership). - ownedStakeholderParameter - - - - - <p>The <code>subjectParameter</code> of a <code>RequirementUsage</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> - - - OCL2.0 - subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif - - - - - <p>The <code>texts</code> of a<code>RequirementUsage</code> are the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - text = documentation.body - - - - - <p>A <code>RequirementDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 - - - - - <p>The <code>subjectParameter</code> of a <code>RequirementUsage</code> must be its first <code>input</code>.</p> - - - OCL2.0 - input->notEmpty() and input->first() = subjectParameter - - - - - <p>A <code>RequirementUsage</code> must directly or indirectly specialize the base <code>RequirementUsage</code> <em><code>Requirements::requirementChecks</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Requirements::requirementChecks') - - - - - <p>A composite <code>RequirementUsage</code> whose <code>owningType</code> is a <code>RequirementDefinition</code> or ,code>RequirementUsage</code> must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::RequirementCheck::subrequirements</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and - (owningType.oclIsKindOf(RequirementDefinition) or - owningType.oclIsKindOf(RequirementUsage)) implies - specializesFromLibrary('Requirements::RequirementCheck::subrequirements') - - - - - <p>A <code>RequirementUsage</code> whose <code>owningFeatureMembership</code> is a <code>ObjectiveMembership</code> must redefine the <code>objectiveRequirement</code> of each <code>CaseDefinition</code> or <code>CaseUsage</code> that is specialized by the <code>owningType</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - owningfeatureMembership <> null and -owningfeatureMembership.oclIsKindOf(ObjectiveMembership) implies - owningType.ownedSpecialization.general->forAll(gen | - (gen.oclIsKindOf(CaseDefinition) implies - redefines(gen.oclAsType(CaseDefinition).objectiveRequirement)) and - (gen.oclIsKindOf(CaseUsage) implies - redefines(gen.oclAsType(CaseUsage).objectiveRequirement)) - - - - - <p>A <code>RequirementUsage</code> whose <code>owningFeatureMembership</code> is a <code>RequirementVerificationMembership</code> must directly or indirectly specialize the <code>RequirementUsage</code> <code><em>VerificationCases::VerificationCase::obj::requirementVerifications</em></code>.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementVerificationMembership) implies - specializesFromLibrary('VerificationCases::VerificationCase::obj::requirementVerifications') - - - - - - <p>The <code>RequirementDefinition</code> that is the single <code>definition</code> of this <code>RequirementUsage</code>.</p> - - - - - - - <p>An optional modeler-specified identifier for this <code>RequirementUsage</code> (used, e.g., to link it to an original requirement text in some source document), which is the <code>declaredShortName</code> for the <code>RequirementUsage</code>.</p> - - - - - - - - - <p>An optional textual statement of the requirement represented by this <code>RequirementUsage</code>, derived from the <code>bodies<code> of the <code>documentation</code> of the <code>RequirementUsage</code>.</p> - - - - - - - - <p>The owned <code>ConstraintUsages</code> that represent requirements of this <code>RequirementUsage</code>, which are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind</code> = <code>requirement</code>.</p> - - - - - - - - <p>The owned <code>ConstraintUsages</code> that represent assumptions of this <code>RequirementUsage</code>, derived as the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind</code> = <code>assumption</code>.</p> - - - - - - - - <p>The <code>parameter</code> of this <code>RequirementUsage</code> that represents its subject.</p> - - - - - - - - - <p>The <code>ConcernUsages</code> framed by this <code>RequirementUsage</code>, which are the <code>ownedConcerns</code> of all <code>FramedConcernMemberships</code> of the <code>RequirementUsage</code>.</p> - - - - - - - <p>The <code>parameters</code> of this <code>RequirementUsage</code> that represent actors involved in the requirement.</p> - - - - - - - - - <p>The <code>parameters</code> of this <code>RequirementUsage</code> that represent stakeholders for the requirement.</p> - - - - - - - - - - - <p>The RequirementDefinition that has a certain ConstraintUsage as a <code>requiredConstraint</code> (if any).</p> - - - - - - - - - - <p>The RequirementConstraintMembership that owns a certain ConstraintUsage as its <code>ownedConstraint</code>.</p> - - - - - - - - - <p>A <code>RequirementConstraintMembership</code> is a <code>FeatureMembership</code> for an assumed or required <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage<code>.</p> - - - - <p>The <code>referencedConstraint</code> of a <code>RequirementConstraintMembership</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> of the <code>ownedConstraint</code>, if there is one, and, otherwise, the <code>ownedConstraint</code> itself.</p> - - - OCL2.0 - referencedConstraint = - let referencedFeature : Feature = - ownedConstraint.referencedFeatureTarget() in - if referencedFeature = null then ownedConstraint - else if referencedFeature.oclIsKindOf(ConstraintUsage) then - refrencedFeature.oclAsType(ConstraintUsage) - else null - endif endif - - - - - <p>The <code>owningType</code> of a <code>RequirementConstraintMembership</code> must be a <code>RequirementDefinition</code> or a <code>RequirementUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(RequirementDefinition) or -owningType.oclIsKindOf(RequirementUsage) - - - - - <p>The <code>ownedConstraint</code> of a <code>RequirementConstraintMembership</code> must be composite.</p> - - - OCL2.0 - ownedConstraint.isComposite - - - - - - - - <p>Whether the <code>RequirementConstraintMembership</code> is for an assumed or required <code>ConstraintUsage</code>.</p> - - - - - <p>The <code>ConstraintUsage</code> that is the <code>ownedMemberFeature</code> of this <code>RequirementConstraintMembership</code>.</p> - - - - - - - - <p> The <code>ConstraintUsage</code> that is referenced through this <code>RequirementConstraintMembership</code>. It is the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> of the <code>ownedConstraint</code>, if there is one, and, otherwise, the <code>ownedConstraint</code> itself.</p> - - - - - - - - <p>A <code>RequirementConstraintKind</code> indicates whether a <code>ConstraintUsage</code> is an assumption or a requirement in a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> - - - - <p>Indicates that a member <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code> represents an assumption.</p> - - - - - <p>Indicates that a member <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>represents an requirement.</p> - - - - - - - <p>The RequirementDefinitions that have a certain Usage as their <code>subjectParameter</code>.</p> - - - - - - - - - - - <p>The RequirementUsages that have a certain Usage as their <code>subjectParameter</code>.</p> - - - - - - - - - - <p>A <code>SubjectMembership</code> is a <code>ParameterMembership</code> that indicates that its <code>ownedSubjectParameter</code> is the subject of its <code>owningType</code>. The <code>owningType</code> of a <code>SubjectMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> - - - - <p>The <code>owningType</code> of a <code>SubjectMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> - - - OCL2.0 - owningType.oclIsType(RequirementDefinition) or -owningType.oclIsType(RequiremenCaseRequirementDefinition) or -owningType.oclIsType(CaseDefinition) or -owningType.oclIsType(CaseUsage) - - - - - - - - - <p>The <code>Usage</code< that is the <code>ownedMemberParameter</code> of this <code>SubjectMembership</code>.</p> - - - - - - - - - - <p>The SubjectMembership that owns a particular Parameter as its <code>ownedSubjectParameter</code>.</p> - - - - - - - - - - <p>The RequirementDefinition that addresses a certain <code>addressedConcern</code>.</p> - - - - - - - - - <p>The ConcernUsages that are typed by a certain <code>concernDefinition</code>.</p> - - - - - - - - - <p>The AddressedConcernMembership that has a certain ConcernUsage as its <code>addressedConcern</code>.</p> - - - - - - - - <p>A <code>FramedConcernMembership</code> is a <code>RequirementConstraintMembership</code> for a framed <code>ConcernUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> - - - - <p>A <code>FramedConcernMembership</code> must have <code>kind = requirement</code>.</p> - - - OCL2.0 - kind = RequirementConstraintKind::requirement - - - - - - <p>The <code>kind</code> of an <code>FramedConcernMembership</code> must be <code>requirement</code>.</p> - - - - - - <p>The <code>ConcernUsage</code> that is the <code>ownedConstraint</code> of this <code>FramedConcernMembership</code>.</p> - - - - - - - <p> The <code>ConcernUsage</code> that is referenced through this <code>FramedConcernMembership</code>. It is the <code>referencedConstraint</code> of the <code>FramedConcernMembership</code> considered as a <code>RequirementConstraintMembership</code>, which must be a <code>ConcernUsage</code>.</p> - - - - - - - - <p>A <code>ConcernDefinition</code> is a <code>RequirementDefinition</code> that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the <code>ownedStakeholders</code>of the <code>ConcernDefinition</code>.</p> - - - - - <p>A <code>ConcernDefinition</code> must directly or indirectly specialize the base <code>ConcernDefinition</code> <em><code>Requirements::ConcernCheck</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Requirements::ConcernCheck') - - - - - - - - <p>The RequirementConstraintMembership that has a certain ConstraintUsage as its <code>referencedConstraint</code>.</p> - - - - - - - - - <p>The AddressedConcernMembership that owns a certain ConcernUsage as its <code>ownedConcern</code>.</p> - - - - - - - - <p>A <code>ConcernUsage</code> is a <code>Usage</code> of a <code>ConcernDefinition</code>.</p> + + + + + <p>A <code>ConstraintDefinition</code> must directly or indirectly specialize the base <code>ConstraintDefinition</code> <em><code>Constraints::ConstraintCheck</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Constraints::ConstraintCheck') + + + + + + + + + + + <p>The ConstraintUsages typed by a certain Predicate.</p> + + + + + + + + + + <p>The AssertConstraintUsages that have a certain ConstraintUsage as their <tt>assertedConstraint</tt>.</p> + + + + + + + + <p>An <code>AssertConstraintUsage</code> is a <code>ConstraintUsage</code> that is also an <code>Invariant</code> and, so, is asserted to be true (by default). Unless it is the <code>AssertConstraintUsage</code> itself, the asserted <code>ConstraintUsage</code> is related to the <code>AssertConstraintUsage</code> by a ReferenceSubsetting <code>Relationship</code>.</p> + + + + <p>If an <code>AssertConstraintUsage</code> has no <code>ownedReferenceSubsetting</code>, then its <code>assertedConstraint</code> is the <code>AssertConstraintUsage</code> itself. Otherwise, the <code>assertedConstraint</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code>, which must be a <code>ConstraintUsage</code>.</p> + + + OCL2.0 + assertedConstraint = + if referencedFeatureTarget() = null then self + else if referencedFeatureTarget().oclIsKindOf(ConstraintUsage) then + referencedFeatureTarget().oclAsType(ConstraintUsage) + else null + endif endif + + + + + <p>If a <code>AssertConstraintUsage</code> is negated, then it must directly or indirectly specialize the <code>ConstraintUsage</code> <code><em>Constraints::negatedConstraintChecks</em></code>. Otherwise, it must directly or indirectly specialize the <code>ConstraintUsage</code> <code><em>Constraints::assertedConstraintChecks</em></code>.</p> + + + OCL2.0 + if isNegated then + specializesFromLibrary('Constraints::negatedConstraintChecks') + else + specializesFromLibrary('Constraints::assertedConstraintChecks') + endif + + + + + <p>If an <code>AssertConstraintUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of its <code>referencedFeature</code> must be a </code>ConstraintUsage</code>.</p> + + + OCL2.0 + referencedFeaureTarget() <> null implies + referencedFeatureTarget().oclIsKindOf(ConstraintUsage) + + + + + + + + + <p>The <code>ConstraintUsage</code> to be performed by the <code>AssertConstraintUsage</code>. It is the <code>referenceFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>AssertConstraintUsage</code>, if there is one, and, otherwise, the <code>AssertConstraintUsage</code> itself.</p> + + + + + + + + + + + <p>The RequirementUsage that has a certain ConstraintUsage as a <code>requiredConstraint</code> (if any).</p> + + + + + + + + + + <p>The RequirementUsage that has a certain ConstraintUsage as an <cod>assumedConstraint</code> (if any).</p> + + + + + + + + + + <p>The SatifyRequirementUsages that have a certain RequirementUsage as their <tt>satisfiedRequirement</tt>.</p> + + + + + + + + <p>A <code>RequirementDefinition</code> is a <code>ConstraintDefinition</code> that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors.</p> + + + + <p>The <code>texts</code> of a<code>RequirementDefinition</code> are the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementDefinition</code>.</p> + + + OCL2.0 + text = documentation.body + + + + + <p>The <code>assumedConstraints</code> of a <code>RequirementDefinition</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> + + + OCL2.0 + assumedConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::assumption). + ownedConstraint + + + + + <p>The <code>requiredConstraints</code> of a <code>RequirementDefinition</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = requirement</code>.</p> + + + OCL2.0 + requiredConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::requirement). + ownedConstraint + + + + + <p>The <code>subjectParameter</code> of a <code>RequirementDefinition</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> + + + OCL2.0 + subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif + + + + + <p>The <code>framedConcerns</code> of a <code>RequirementDefinition</code> are the <code>ownedConcerns</code> of the <code>FramedConcernMemberships</code> of the <code>RequirementDefinition</code>.</p> + + + OCL2.0 + framedConcern = featureMembership-> + selectByKind(FramedConcernMembership). + ownedConcern + + + + + <p>The <code>actorParameters</code> of a <code>RequirementDefinition</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>RequirementDefinition</code>.</p> + + + OCL2.0 + actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter + + + + + <p>The <code>stakeHolderParameters</code> of a <code>RequirementDefinition</code> are the <code>ownedStakeholderParameters</code> of the <code>StakeholderMemberships</code> of the <code>RequirementDefinition</code>.</p> + + + OCL2.0 + stakeholderParameter = featureMembership-> + selectByKind(StakholderMembership). + ownedStakeholderParameter + + + + + <p>A <code>RequirementDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 + + + + + <p>The <code>subjectParameter</code> of a <code>RequirementDefinition</code> must be its first <code>input</code>.</p> + + + OCL2.0 + input->notEmpty() and input->first() = subjectParameter + + + + + <p>A <code>RequirementDefinition</code> must directly or indirectly specialize the base <code>RequirementDefinition</code> <code><em>Requirements::RequirementCheck</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Requirements::RequirementCheck') + + + + + + <p>An optional modeler-specified identifier for this <code>RequirementDefinition</code> (used, e.g., to link it to an original requirement text in some source document), which is the <code>declaredShortName</code> for the <code>RequirementDefinition</code>.</p> + + + + + + + + + <p>An optional textual statement of the requirement represented by this <code>RequirementDefinition</code>, derived from the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementDefinition</code>.</p> + + + + + + + + + <p>The <code>parameter</code> of this <code>RequirementDefinition</code> that represents its subject.</p> + + + + + + + + + <p>The <code>parameters</code> of this <code>RequirementDefinition</code> that represent actors involved in the requirement.</p> + + + + + + + + + <p>The <code>parameters</code> of this <code>RequirementDefinition</code> that represent stakeholders for th requirement.</p> + + + + + + + + + <p>The owned <code>ConstraintUsages</code> that represent assumptions of this <code>RequirementDefinition</code>, which are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> + + + + + + + + <p>The owned <code>ConstraintUsages</code> that represent requirements of this <code>RequirementDefinition</code>, derived as the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind</code> = <code>requirement</code>.</p> + + + + + + + + <p>The <code>ConcernUsages</code> framed by this <code>RequirementDefinition</code>, which are the <code>ownedConcerns</code> of all <code>FramedConcernMemberships</code> of the <code>RequirementDefinition</code>.</p> + + + + + + + + + <p>The SatisfyRequirementUsages that have a certain Feature as their <tt>satisfyingFeature</tt>.</p> + + + + + + + + + <p>The RequirementUsages typed by a certain RequirementDefinition.</p> + + + + + + + + + <p>The RequirementDefinition that has a certain ConstraintUsage as an <code>assumedConstraint</code> (if any).</p> + + + + + + + + + <p>A <code>SatisfyRequirementUsage</code> is an <code>AssertConstraintUsage</code> that asserts, by default, that a satisfied <code>RequirementUsage</code> is true for a specific <code>satisfyingFeature</code>, or, if <code>isNegated = true</code>, that the <code>RequirementUsage</code> is false. The satisfied <code>RequirementUsage</code> is related to the <code>SatisfyRequirementUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>.</p> + + + + <p>The <code>satisfyingFeature</code> of a <code>SatisfyRequirementUsage</code> is the <code>Feature</code> to which the <code>subjectParameter</code> is bound.</p> + + + OCL2.0 + satisfyingFeature = + let bindings: BindingConnector = ownedMember-> + selectByKind(BindingConnector)-> + select(b | b.relatedElement->includes(subjectParameter)) in + if bindings->isEmpty() or + bindings->first().relatedElement->exits(r | r <> subjectParameter) + then null + else bindings->first().relatedElement->any(r | r <> subjectParameter) + endif + + + + + <p>A <code>SatisfyRequirementUsage</code> must have exactly one <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>subjectParameter</code> and some <code>Feature</code> other than the <code>subjectParameter</code>.</p> + + + OCL2.0 + ownedMember->selectByKind(BindingConnector)-> + select(b | + b.relatedElement->includes(subjectParameter) and + b.relatedElement->exists(r | r <> subjectParameter))-> + size() = 1 + + + + + <p>If a <code>SatisfyRequirementUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of its <code>referencedFeature</code> must be a <code>RequirementUsage</code>.</p> + + + OCL2.0 + referencedFeatureTarget() <> null implies + referencedFeatureTarget().oclIsKindOf(RequirementUsage) + + + + + <p>If a <code>SatisfyRequirementUsage</code> is negated, then it must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::notSatisfiedRequirementChecks</code></em>. Otherwise, it must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::satisfiedRequirementChecks</code></em>.</p> + + + OCL2.0 + if isNegated then + specializesFromLibrary('Requirements::notSatisfiedRequirementChecks') + else + specializesFromLibrary('Requirements::satisfiedRequirementChecks') + endif + + + + + + + <p>The <code>RequirementUsage</code> that is satisfied by the <code>satisfyingSubject</code> of this <code>SatisfyRequirementUsage</code>. It is the <code>assertedConstraint</code> of the <code>SatisfyRequirementUsage</code> considered as an <code>AssertConstraintUsage</code>, which must be a <code>RequirementUsage</code>.</p> + + + + + + + <p>The <code>Feature</code> that represents the actual subject that is asserted to satisfy the <code>satisfiedRequirement</code>. The <code>satisfyingFeature</code> is bound to the <code>subjectParameter</code> of the <code>SatisfyRequirementUsage</code>.</p> + + + + + + + + + <p>A <code>RequirementUsage</code> is a <code>Usage</code> of a <code>RequirementDefinition</code>.</p> + + + + <p>The <code>actorParameters</code> of a <code>RequirementUsage</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>RequirementUsage</code>.</p> + + + OCL2.0 + actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter + + + + + <p>The <code>assumedConstraints</code> of a <code>RequirementUsage</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> + + + OCL2.0 + assumedConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::assumption). + ownedConstraint + + + + + <p>The <code>framedConcerns</code> of a <code>RequirementUsage</code> are the <code>ownedConcerns</code> of the <code>FramedConcernMemberships</code> of the <code>RequirementUsage</code>.</p> + + + OCL2.0 + framedConcern = featureMembership-> + selectByKind(FramedConcernMembership). + ownedConcern + + + + + <p>The <code>requiredConstraints</code> of a <code>RequirementUsage</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind = requirement</code>.</p> + + + OCL2.0 + requiredConstraint = ownedFeatureMembership-> + selectByKind(RequirementConstraintMembership)-> + select(kind = RequirementConstraintKind::requirement). + ownedConstraint + + + + + <p>The <code>stakeHolderParameters</code> of a <code>RequirementUsage</code> are the <code>ownedStakeholderParameters</code> of the <code>StakeholderMemberships</code> of the <code>RequirementUsage</code>.</p> + + + OCL2.0 + stakeholderParameter = featureMembership-> + selectByKind(AStakholderMembership). + ownedStakeholderParameter + + + + + <p>The <code>subjectParameter</code> of a <code>RequirementUsage</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> + + + OCL2.0 + subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif + + + + + <p>The <code>texts</code> of a<code>RequirementUsage</code> are the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementUsage</code>.</p> + + + OCL2.0 + text = documentation.body + + + + + <p>A <code>RequirementDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 + + + + + <p>The <code>subjectParameter</code> of a <code>RequirementUsage</code> must be its first <code>input</code>.</p> + + + OCL2.0 + input->notEmpty() and input->first() = subjectParameter + + + + + <p>A <code>RequirementUsage</code> must directly or indirectly specialize the base <code>RequirementUsage</code> <em><code>Requirements::requirementChecks</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Requirements::requirementChecks') + + + + + <p>A composite <code>RequirementUsage</code> whose <code>owningType</code> is a <code>RequirementDefinition</code> or ,code>RequirementUsage</code> must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::RequirementCheck::subrequirements</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(RequirementDefinition) or + owningType.oclIsKindOf(RequirementUsage)) implies + specializesFromLibrary('Requirements::RequirementCheck::subrequirements') + + + + + <p>A <code>RequirementUsage</code> whose <code>owningFeatureMembership</code> is a <code>ObjectiveMembership</code> must redefine the <code>objectiveRequirement</code> of each <code>CaseDefinition</code> or <code>CaseUsage</code> that is specialized by the <code>owningType</code> of the <code>RequirementUsage</code>.</p> + + + OCL2.0 + owningfeatureMembership <> null and + owningfeatureMembership.oclIsKindOf(ObjectiveMembership) implies + owningType.ownedSpecialization.general->forAll(gen | + (gen.oclIsKindOf(CaseDefinition) implies + redefines(gen.oclAsType(CaseDefinition).objectiveRequirement)) and + (gen.oclIsKindOf(CaseUsage) implies + redefines(gen.oclAsType(CaseUsage).objectiveRequirement)) + + + + + <p>A <code>RequirementUsage</code> whose <code>owningFeatureMembership</code> is a <code>RequirementVerificationMembership</code> must directly or indirectly specialize the <code>RequirementUsage</code> <code><em>VerificationCases::VerificationCase::obj::requirementVerifications</em></code>.</p> + + + OCL2.0 + owningFeatureMembership <> null and + owningFeatureMembership.oclIsKindOf(RequirementVerificationMembership) implies + specializesFromLibrary('VerificationCases::VerificationCase::obj::requirementVerifications') + + + + + + <p>The <code>RequirementDefinition</code> that is the single <code>definition</code> of this <code>RequirementUsage</code>.</p> + + + + + + + <p>An optional modeler-specified identifier for this <code>RequirementUsage</code> (used, e.g., to link it to an original requirement text in some source document), which is the <code>declaredShortName</code> for the <code>RequirementUsage</code>.</p> + + + + + + + + + <p>An optional textual statement of the requirement represented by this <code>RequirementUsage</code>, derived from the <code>bodies<code> of the <code>documentation</code> of the <code>RequirementUsage</code>.</p> + + + + + + + + <p>The owned <code>ConstraintUsages</code> that represent requirements of this <code>RequirementUsage</code>, which are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind</code> = <code>requirement</code>.</p> + + + + + + + + <p>The owned <code>ConstraintUsages</code> that represent assumptions of this <code>RequirementUsage</code>, derived as the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind</code> = <code>assumption</code>.</p> + + + + + + + + <p>The <code>parameter</code> of this <code>RequirementUsage</code> that represents its subject.</p> + + + + + + + + + <p>The <code>ConcernUsages</code> framed by this <code>RequirementUsage</code>, which are the <code>ownedConcerns</code> of all <code>FramedConcernMemberships</code> of the <code>RequirementUsage</code>.</p> + + + + + + + <p>The <code>parameters</code> of this <code>RequirementUsage</code> that represent actors involved in the requirement.</p> + + + + + + + + + <p>The <code>parameters</code> of this <code>RequirementUsage</code> that represent stakeholders for the requirement.</p> + + + + + + + + + + + <p>The RequirementDefinition that has a certain ConstraintUsage as a <code>requiredConstraint</code> (if any).</p> + + + + + + + + + + <p>The RequirementConstraintMembership that owns a certain ConstraintUsage as its <code>ownedConstraint</code>.</p> + + + + + + + + + <p>A <code>RequirementConstraintMembership</code> is a <code>FeatureMembership</code> for an assumed or required <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage<code>.</p> + + + + <p>The <code>referencedConstraint</code> of a <code>RequirementConstraintMembership</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> of the <code>ownedConstraint</code>, if there is one, and, otherwise, the <code>ownedConstraint</code> itself.</p> + + + OCL2.0 + referencedConstraint = + let referencedFeature : Feature = + ownedConstraint.referencedFeatureTarget() in + if referencedFeature = null then ownedConstraint + else if referencedFeature.oclIsKindOf(ConstraintUsage) then + refrencedFeature.oclAsType(ConstraintUsage) + else null + endif endif + + + + + <p>The <code>owningType</code> of a <code>RequirementConstraintMembership</code> must be a <code>RequirementDefinition</code> or a <code>RequirementUsage</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(RequirementDefinition) or + owningType.oclIsKindOf(RequirementUsage) + + + + + <p>The <code>ownedConstraint</code> of a <code>RequirementConstraintMembership</code> must be composite.</p> + + + OCL2.0 + ownedConstraint.isComposite + + + + + + + + <p>Whether the <code>RequirementConstraintMembership</code> is for an assumed or required <code>ConstraintUsage</code>.</p> + + + + + <p>The <code>ConstraintUsage</code> that is the <code>ownedMemberFeature</code> of this <code>RequirementConstraintMembership</code>.</p> + + + + + + + + <p> The <code>ConstraintUsage</code> that is referenced through this <code>RequirementConstraintMembership</code>. It is the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> of the <code>ownedConstraint</code>, if there is one, and, otherwise, the <code>ownedConstraint</code> itself.</p> + + + + + + + + <p>A <code>RequirementConstraintKind</code> indicates whether a <code>ConstraintUsage</code> is an assumption or a requirement in a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> + + + + <p>Indicates that a member <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code> represents an assumption.</p> + + + + + <p>Indicates that a member <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>represents an requirement.</p> + + + + + + + <p>The RequirementDefinitions that have a certain Usage as their <code>subjectParameter</code>.</p> + + + + + + + + + + + <p>The RequirementUsages that have a certain Usage as their <code>subjectParameter</code>.</p> + + + + + + + + + + <p>A <code>SubjectMembership</code> is a <code>ParameterMembership</code> that indicates that its <code>ownedSubjectParameter</code> is the subject of its <code>owningType</code>. The <code>owningType</code> of a <code>SubjectMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> + + + + <p>The <code>owningType</code> of a <code>SubjectMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> + + + OCL2.0 + owningType.oclIsType(RequirementDefinition) or + owningType.oclIsType(RequiremenCaseRequirementDefinition) or + owningType.oclIsType(CaseDefinition) or + owningType.oclIsType(CaseUsage) + + + + + + + + + <p>The <code>Usage</code< that is the <code>ownedMemberParameter</code> of this <code>SubjectMembership</code>.</p> + + + + + + + + + + <p>The SubjectMembership that owns a particular Parameter as its <code>ownedSubjectParameter</code>.</p> + + + + + + + + + + <p>The RequirementDefinition that addresses a certain <code>addressedConcern</code>.</p> + + + + + + + + + <p>The ConcernUsages that are typed by a certain <code>concernDefinition</code>.</p> + + + + + + + + + <p>The AddressedConcernMembership that has a certain ConcernUsage as its <code>addressedConcern</code>.</p> + + + + + + + + <p>A <code>FramedConcernMembership</code> is a <code>RequirementConstraintMembership</code> for a framed <code>ConcernUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> + + + + <p>A <code>FramedConcernMembership</code> must have <code>kind = requirement</code>.</p> + + + OCL2.0 + kind = RequirementConstraintKind::requirement + + + + + + <p>The <code>kind</code> of an <code>FramedConcernMembership</code> must be <code>requirement</code>.</p> + + + + + + <p>The <code>ConcernUsage</code> that is the <code>ownedConstraint</code> of this <code>FramedConcernMembership</code>.</p> + + + + + + + <p> The <code>ConcernUsage</code> that is referenced through this <code>FramedConcernMembership</code>. It is the <code>referencedConstraint</code> of the <code>FramedConcernMembership</code> considered as a <code>RequirementConstraintMembership</code>, which must be a <code>ConcernUsage</code>.</p> + + + + + + + + <p>A <code>ConcernDefinition</code> is a <code>RequirementDefinition</code> that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the <code>ownedStakeholders</code>of the <code>ConcernDefinition</code>.</p> + + + + + <p>A <code>ConcernDefinition</code> must directly or indirectly specialize the base <code>ConcernDefinition</code> <em><code>Requirements::ConcernCheck</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Requirements::ConcernCheck') + + + + + + + + <p>The RequirementConstraintMembership that has a certain ConstraintUsage as its <code>referencedConstraint</code>.</p> + + + + + + + + + <p>The AddressedConcernMembership that owns a certain ConcernUsage as its <code>ownedConcern</code>.</p> + + + + + + + + <p>A <code>ConcernUsage</code> is a <code>Usage</code> of a <code>ConcernDefinition</code>.</p> - The <code>ownedStakeholder</code> features of the ConcernUsage shall all subset the <em><code>ConcernCheck::concernedStakeholders</code> </em>feature. If the ConcernUsage is an <code>ownedFeature</code> of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an <code>ownedStakeholder</code> feature that is bound to the <em><code>self</code></em> feature of its owner.</p> - - - - - <p>A <code>ConcernUsage</code> must directly or indirectly specialize the base <code>ConcernUsage</code> <em><code>Requirements::concernChecks</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Requirements::concernChecks') - - - - - <p>If a <code>ConcernUsage</code> is owned via a <code>FramedConcernMembership</code>, then it must directly or indirectly specialize the <code>ConcernUsage</code> <code><em>Requirements::RequirementCheck::concerns</em></code> from the Systems Model Library.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(FramedConcernMembership) implies - specializesFromLibrary('Requirements::RequirementCheck::concerns') - - - - - - <p>The ConcernDefinition that is the single type of this ConcernUsage.</p> - - - - - - - - - <p>The RequirementUsage that addresses a certain <code>addressedConcern</code>.</p> - - - - - - - - - - - - - - - - - <p>The RequirementUsages that have a certain PartUsage as an <code>actorParameter</code>.</p> - - - - - - - - - - - <p>The RequirementDefinitions that have a certain PartUsage as an <code>actorParameter</code>.</p> - - - - - - - - - - - <p>TheStakehplderMembership that has a certain PartUsage as its <code>ownedStakeholderParameter</code>.</p> - - - - - - - - - <p>A <code>StakeholderMembership</code> is a <code>ParameterMembership</code> that identifies a <code>PartUsage</code> as a <code>stakeholderParameter</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>, which specifies a role played by an entity with concerns framed by the <code>owningType</code>.</p> - - - - <p>The <code>owningType</code> of a <code>StakeholderMembership</code> must be a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(RequirementUsage) or -owningType.oclIsKindOf(RequirementDefinition) - - - - - - - - <p>The <code>PartUsage</code> specifying the stakeholder.</p> - - - - - - - - - - - - - - - - - - <p>The ActorMembership that has a certain PartUsage as its <code>ownedActorParameter</code>.</p> - - - - - - - - - <p>An <code>ActorMembership</code> is a <code>ParameterMembership</code> that identifies a <code>PartUsage</code> as an <em>actor</em> <code>parameter</code>, which specifies a role played by an external entity in interaction with the <code>owningType</code> of the <code>ActorMembership</code>.</p> - - - - <p>The <code>owningType</code> of an <code>ActorMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(RequirementUsage) or -owningType.oclIsKindOf(RequirementDefinition) or -owningType.oclIsKindOf(CaseDefinition) or -owningType.oclIsKindOf(CaseUsage) - - - - - - - - - <p>The <code>PartUsage</code> specifying the actor.</p> - - - - - - - - - - - <p>A <code>CalculationDefinition</code> is an <coed>ActionDefinition</code> that also defines a <code>Function</code> producing a <code>result</code>.</p> - - - - <p>A <code>CalculationDefinition</code> must directly or indirectly specialize the <code>CalculationDefinition</code> <em><code>Calculations::Calculation</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Calculations::Calculation') - - - - - <p>The <code>calculations</code> of a <code>CalculationDefinition</code> are those of its <code>actions</code> that are <code>CalculationUsages</code>.</p> - - - OCL2.0 - calculation = action->selectByKind(CalculationUsage) - - - - - - - - - <p>The <code>actions</code> of this <code>CalculationDefinition</code> that are <code>CalculationUsages</code>.</p> - - - - - - - - - - - <p>The CalculationUsage being typed by a certain Function.</p> - - - - - - - - - - <p>A <code>CalculationUsage</code> is an <code>ActionUsage</code> that is also an <code>Expression</code>, and, so, is typed by a <code>Function</code>. Nominally, if the <code>type</code> is a <code>CalculationDefinition</code>, a <code>CalculationUsage</code> is a <code>Usage</code> of that <code>CalculationDefinition</code> within a system. However, other kinds of kernel <code>Functions</code> are also allowed, to permit use of <code>Functions</code> from the Kernel Model Libraries.</p> - - - - <p>A <code>CalculationUsage</code> must specialize directly or indirectly the <code>CalculationUsage</code> <em><code>Calculations::calculations</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Calculations::calculations') - - - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(CalculationDefinition) or - owningType.oclIsKindOf(CalculationUsage)) implies - specializesFromLibrary('Calculations::Calculation::subcalculations') - - - - - - - - - <p>The <ode>Function</code> that is the <code>type</code> of this <code>CalculationUsage</code>. Nominally, this would be a <code>CalculationDefinition</code>, but a kernel <code>Function</code> is also allowed, to permit use of <code>Functions</code> from the Kernel Model Libraries.</p> - - - - - - - - - - <p>A <code>CalculationUsage</code> is not model-level evaluable.</p> - - - - OCL2.0 - false - - - - - - - - - - - - - - - - - <p>The CalculationDefinitions that feature a certain CalculationUsage.</p> - - - - - - - - - - - <p>The Definition that owns the <code>ownedCalculation</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedCalculation<code> is nested.</p> - - - - - - - - - - - <p>The ConnectionDefinitions that have a certain Usage as an <code>connectionEnd</code>.</p> - - - - - - - - - <p>A <code>ConnectionDefinition</code> is a <code>PartDefinition</code> that is also an <code>AssociationStructure</code>. The end <code>Features</code> of a <code>ConnectionDefinition</code> must be <code>Usages</code>.</p> - - - - <p>A <code>ConnectionDefinition</code> must directly or indirectly specialize the <code>ConnectionDefinition</code> <em><code>Connections::Connection</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Connections::Connection') - - - - - <p>A binary <code>ConnectionDefinition</code> must directly or indirectly specialize the <code>ConnectionDefinition</code> <em><code>Connections::BinaryConnection</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeature->size() = 2 implies - specializesFromLibrary('Connections::BinaryConnections') - - - - - <p>A <code>ConnectionDefinition</code> must have <code>isSufficient = true</code>.</p> - - - OCL2.0 - isSufficient - - - - - - - - - <p>The <code>Usages</code> that define the things related by the <code>ConnectionDefinition</code>.</p> - - - - - - - - <p>A <code>ConnectionDefinition</code> always has <code>isSufficient = true</code>.</p> - - - - - - - - - <p>A <code>ConnectionUsage</code> is a <code>ConnectorAsUsage</code> that is also a <code>PartUsage</code>. Nominally, if its type is a <code>ConnectionDefinition</code>, then a <code>ConnectionUsage</code> is a Usage of that <code>ConnectionDefinition</code>, representing a connection between parts of a system. However, other kinds of kernel <code>AssociationStructures</code> are also allowed, to permit use of <code>AssociationStructures</code> from the Kernel Model Libraries.</p> - - - - <p>A <code>ConnectionUsage</code> must directly or indirectly specialize the <code>ConnectionUsage</code> <em><code>Connections::connections</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Connections::connections') - - - - - <p>A binary <code>ConnectionUsage</code> must directly or indirectly specialize the <code>ConnectionUsage</code> <em><code>Connections::binaryConnections</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeature->size() = 2 implies - specializesFromLibrary('Connections::binaryConnections') - - - - - - - <p>The <code>AssociationStructures</code> that are the types of this <code>ConnectionUsage</code>. Nominally, these are , but other kinds of Kernel <code>AssociationStructures</code> are also allowed, to permit use of <code>AssociationStructures</code> from the Kernel Model Libraries</p> - - - - - - - - - - - <p>The ConnectionUsages that have a certain AssociationStructure as their <code>connectionDefinition</code>.</p> - - - - - - - - - <p>A <code>SuccessionAsUsage</code> is both a <code>ConnectorAsUsage</code> and a <code>Succession</code>.<p> - - - - - - - - - <p>A <code>ConnectorAsUsage</code> is both a <code>Connector</code> and a <code>Usage</code>. <code>ConnectorAsUsage</code> cannot itself be instantiated in a SysML model, but it is a base class for the concrete classes <code>BindingConnectorAsUsage</code>, <code>SuccessionAsUsage</code>, <code>ConnectionUsage</code> and <code>FlowConnectionUsage</code>.</p> - - - - - - - - - <p>A <code>BindingConnectorAsUsage</code> is both a <code>BindingConnector</code> and a <code>ConnectorAsUsage</code>.</p> - - - - - - - - - - - <p>A <code>CaseUsage</code> is a <code>Usage</code> of a <code>CaseDefinition</code>.</p> - - - - <p>The <code>objectiveRequirement</code> of a <code>CaseUsage</code> is the <code>RequirementUsage</code> it owns via an <case>ObjectiveMembership</code>, if any.</p> - - - OCL2.0 - objectiveRequirement = - let objectives: OrderedSet(RequirementUsage) = - featureMembership-> - selectByKind(ObjectiveMembership). - ownedRequirement in - if objectives->isEmpty() then null - else objectives->first().ownedObjectiveRequirement - endif - - - - - <p>A <code>CaseUsage</code> must have at most one <code>featureMembership</code> that is a <code>ObjectiveMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ObjectiveMembership)-> - size() <= 1 - - - - - <p>A <code>CaseUsage</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 - - - - - <p>The <code>actorParameters</code> of a <code>CaseUsage</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>CaseUsage</code>.</p> - - - OCL2.0 - actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter - - - - - <p>The <code>subjectParameter</code> of a <code>CaseUsage</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> - - - OCL2.0 - subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif - - - - - <p>The <code>subjectParameter</code> of a <code>CaseUsage</code> must be its first <code>input</code>.</p> - - - OCL2.0 - input->notEmpty() and input->first() = subjectParameter - - - - - <p>A <code>CaseUsage</code> must directly or indirectly specialize the base <code>CaseUsage</code> <em><code>Cases::cases</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Cases::cases') - - - - - <p>A composite <code>CaseUsage</code> whose <code>owningType</code> is a <code>CaseDefinition</code> or <code>CaseUsage</code> must directly or indirectly specialize the <code>CaseUsage</code> <em><code>Cases::Case::subcases</code></em>.</p> - - - OCL2.0 - isComposite and owningType <> null and - (owningType.oclIsKindOf(CaseDefinition) or - owningType.oclIsKindOf(CaseUsage)) implies - specializesFromLibrary('Cases::Case::subcases') - - - - - - <p>The <code>RequirementUsage</code> representing the objective of this <code>CaseUsage</code>.</p> - - - - - - - - <p>The CaseDefinition that is the type of this CaseUsage.</p> - - - - - - - <p>The <code>parameter</code> of this <code>CaseUsage</code> that represents its subject.</p> - - - - - - - - - - <p>The <code>parameters</code> of this <code>CaseUsage</code> that represent actors involved in the case.</p> - - - - - - - - - - - <p>The Usage in which the <code>nestedCase</code> is nested.</p> - - - - - - - - - <p>The CaseUsages being typed by a certain CaseDefinition.</p> - - - - - - - - <p>A <code>CaseDefinition</code> is a <code>CalculationDefinition</code> for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.</p> - - - - <p>The <code>objectiveRequirement</code> of a <code>CaseDefinition</code> is the <code>ownedObjectiveRequirement</code> of its <case>ObjectiveMembership</code>, if any.</p> - - - OCL2.0 - objectiveRequirement = - let objectives: OrderedSet(RequirementUsage) = - featureMembership-> - selectByKind(ObjectiveMembership). - ownedRequirement in - if objectives->isEmpty() then null - else objectives->first().ownedObjectiveRequirement - endif - - - - - <p>A <code>CaseDefinition</code> must have at most one <code>featureMembership</code> that is a <code>ObjectiveMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ObjectiveMembership)-> - size() <= 1 - - - - - <p>The <code>subjectParameter</code> of a <code>CaseDefinition</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> - - - OCL2.0 - subjectParameter = - let subjectMems : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjectMems->isEmpty() then null - else subjectMems->first().ownedSubjectParameter - endif - - - - - <p>The <code>actorParameters</code> of a <code>CaseDefinition</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>CaseDefinition</code>.</p> - - - OCL2.0 - actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter - - - - - <p>A <code>CaseDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> - - - English - featureMembership->selectByKind(SubjectMembership)->size() <= 1 - - - - - <p>The <code>subjectParameter</code> of a <code>CaaseDefinition</code> must be its first <code>input</code>.</p> - - - OCL2.0 - input->notEmpty() and input->first() = subjectParameter - - - - - <p>A <code>CaseDefinition</code> must directly or indirectly specialize the base <code>CaseDefinition</code> <em><code>Cases::Case></code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Cases::Case') - - - - - - <p>The <code>RequirementUsage</code> representing the objective of this <code>CaseDefinition</code>.</p> - - - - - - - - <p>The <code>parameter</code> of this <code>CaseDefinition</code> that represents its subject.</p> - - - - - - - - - <p>The <code>parameters</code> of this <code>CaseDefinition</code> that represent actors involved in the case.</p> - - - - - - - - - - <p>An <code>ObjectiveMembership</code> is a <code>FeatureMembership</code> that indicates that its <code>ownedObjectiveRequirement</code> is the objective <code>RequirementUsage</code> for its <code>owningType</code>, which must be a <code>CaseDefinition</code> or <code>CaseUsage</code>.</p> - - - - <p>The <code>owningType</code> of an <code>ObjectiveMembership</code> must be a <code>CaseDefinition</code> or <code>CaseUsage</code>.</p> - - - OCL2.0 - owningType.oclIsType(CaseDefinition) or -owningType.oclIsType(CaseUsage) - - - - - - <p>The <code>ownedObjectiveRequirement</code> of an <code>ObjectiveMembership</code> must be composite.</p> - - - OCL2.0 - ownedObjectiveRequirement.isComposite - - - - - - - - <p>The RequirementUsage that is the <code>ownedMemberFeature</code> of this RequirementUsage.</p> - - - - - - - - - - - - - - - - - <p>The CaseDefinitions that have a certain RequirementUsage as their <code>objectiveRequirement</code>.</p> - - - - - - - - - - <p>The ObjectMembership that owns a particular RequirementUsage as its <code>ownedObjectiveRequirement</code>.</p> - - - - - - - - - - <p>The CaseDefinitions that have a certain Usage as their <code>subjectParameter</code>.</p> - - - - - - - - - - - <p>The CaseUsages that have a certain Usage as their <code>subjectParameter</code>.</p> - - - - - - - - - - - <p>The CaseDefinitions that have a certain PartUsage as an <code>actorParameter</code>.</p> - - - - - - - - - - - <p>The CaseUsages that have a certain PartUsage as an <code>actorParameter</code>.</p> - - - - - - - - - - - - - <p>The AnalysisCaseDefinitions that have a certain Expression as their <code>resultExpression</code>.</p> - - - - - - - - - - - <p>The AnalysisCaseUsages being typed by a certain AnalysisCaseDefinition.</p> - - - - - - - - <p>An <code>AnalysisCaseUsage</code> is a <code>Usage</code> of an <code>AnalysisCaseDefinition</code>.</p> - - - - <p>The <code>resultExpression</code> of a <code>AnalysisCaseUsage</code> is the <code>ownedResultExpression</code> of its <code>ResultExpressionMembership</code>, if any.</p> - - - OCL2.0 - resultExpression = - let results : OrderedSet(ResultExpressionMembership) = - featureMembersip-> - selectByKind(ResultExpressionMembership) in - if results->isEmpty() then null - else results->first().ownedResultExpression - endif - - - - - <p>An <code>AnalysisCaseUsage</code> must directly or indirectly specialize the base <code>AnalysisCaseUsage</code> <code><em>AnalysisCases::analysisCases</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('AnalysisCases::analysisCases') - - - - - <p>A composite <code>AnalysisCaseUsage</code> whose <code>owningType</code> is an <code>AnalysisCaseDefinition</code> or <code>AnalysisCaseUsage</code> must specialize the <code>AnalysisCaseUsage</code> <code><em>AnalysisCases::AnalysisCase::subAnalysisCases</code> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and - (owningType.oclIsKindOf(AnalysisCaseDefinition) or - owningType.oclIsKindOf(AnalysisCaseUsage)) implies - specializesFromLibrary('AnalysisCases::AnalysisCase::subAnalysisCases') - - - - - - <p>The <code>AnalysisCaseDefinition</code> that is the <code>definition</code> of this <code>AnalysisCaseUsage</code>.</p> - - - - - - - <p>An <code>Expression</code> used to compute the <code>result</code> of the <code>AnalysisCaseUsage</code>, owned via a <code>ResultExpressionMembership</code>.</p> - - - - - - - - - - - <p>The AnalysisCaseUsages that have a certain Expression as their <code>resultExpression</code>.</p> - - - - - - - - - <p>An <code>AnalysisCaseDefinition</code> is a <code>CaseDefinition</code> for the case of carrying out an analysis.</p> - - - - <p>The <code>resultExpression</code> of a <code>AnalysisCaseDefinition</code> is the <code>ownedResultExpression</code> of its <code>ResultExpressionMembership</code>, if any.</p> - - - OCL2.0 - resultExpression = - let results : OrderedSet(ResultExpressionMembership) = - featureMembersip-> - selectByKind(ResultExpressionMembership) in - if results->isEmpty() then null - else results->first().ownedResultExpression - endif - - - - - <p>An <code>AnalysisCaseDefinition</code> must directly or indirectly specialize the base <code>AnalysisCaseDefinition</code> <code><em>AnalysisCases::AnalysisCase</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('AnalysisCases::AnalysisCase') - - - - - - <p>An <code>Expression</code> used to compute the <code>result</code> of the <code>AnalysisCaseDefinition</code>, owned via a <code>ResultExpressionMembership</code>.</p> - - - - - - - - - - - - - - <p>An <code>ItemUsage</code> is a <code>ItemUsage</code> whose <code>definition</code> is a <code>Structure</code>. Nominally, if the <code>definition</code> is an <code>ItemDefinition</code>, an <code>ItemUsage</code> is a <code>ItemUsage</code> of that <code>ItemDefinition</code> within a system. However, other kinds of Kernel <code>Structures</code> are also allowed, to permit use of <code>Structures</code> from the Kernel Model Libraries.</p> - - - - <p>The <code>itemDefinitions</code> of an <code>ItemUsage</code> are those <code>occurrenceDefinitions</code> that are <code>Structures</code>.</p> - - - OCL2.0 - itemDefinition = occurrenceDefinition->selectByKind(Structure) - - - - - <p>An <code>ItemUsage</code> must directly or indirectly specialize the Systems Model Library <code>ItemUsage</code> <em><code>items</code></em>.</p> - - - OCL2.0 - specializesFromLibrary('Items::items') - - - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::subitem') - - - - - - <p>The Structures that are the <code>definitions</code> of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library.</p> - - - - - - - - - <p>An <code>ItemDefinition</code> is an <code>OccurrenceDefinition</code> of the <code>Structure</code> of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.</p> - - - - - <p>An <code>ItemDefinition</code> must directly or indirectly specialize the Systems Library Model <code>ItemDefinition</code> <em><code>Items::Item</code>.</p> - - - OCL2.0 - specializesFromLibrary('Items::Item') - - - - - - - - - - - - <p>A <code>ViewpointDefinition</code> is a <code>RequirementDefinition</code> that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.</p> - - - - <p>The <code>viewpointStakeholders</code> of a <code>ViewpointDefinition</code> are the <code>ownedStakeholderParameters</code> of all <code>featureMemberships</code> that are <code>StakeholderMemberships</code>.</p> - - - OCL2.0 - viewpointStakeholder = framedConcern.featureMemberhsip-> - selectByKind(StakeholderMembership). - ownedStakeholderParameter - - - - - <p>A <code>ViewpointDefinition</code> must directly or indirectly specialize the base <code>ViewpointDefinition</code> <code><em>Views::Viewpoint</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::Viewpoint') - - - - - - <p>The <code>PartUsages</code> that identify the stakeholders with concerns framed by this <code>ViewpointDefinition</code>, which are the owned and inherited <code>stakeholderParameters</code> of the <code>framedConcerns</code> of this <code>ViewpointDefinition</code>.</p> - - - - - - - - - <p>A ViewUsage exposing a certain <code>exposedElement</code>.</p> - - - - - - - - - - <p>The RenderingUsages defined by a certain <code>renderingDefinition</code>.</p> - - - - - - - - <p>A <code>ViewUsage</code> is a usage of a <code>ViewDefinition</code> to specify the generation of a view of the <code>members</code> of a collection of <code>exposedNamespaces</code>. The <code>ViewUsage</code> can satisfy more <code>viewpoints</code> than its definition, and it can specialize the <code>viewRendering</code> specified by its definition.<p> - - - - <p>The <code>exposedElements</code> of a <code>ViewUsage</code> are those <code>memberElements</code> of the imported <code>Memberships</code> from all the <code>Expose</code> <code>Relationships</code> for which the <code>includeAsExposed</code> operation returns true.</p> - - - OCL2.0 - exposedElement = ownedImport->selectByKind(Expose). - importedMemberships(Set{}).memberElement-> - select(elm | includeAsExposed(elm))-> - asOrderedSet() - - - - - <p>The <code>satisfiedViewpoints</code> of a <code>ViewUsage</code> are its <code>ownedRequirements</code> that are composite <code>ViewpointUsages</code>. - - - OCL2.0 - satisfiedViewpoint = ownedRequirement-> - selectByKind(ViewpointUsage)-> - select(isComposite) - - - - - <p>The <code>viewConditions</code> of a <code>ViewUsage</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> - - - OCL2.0 - viewCondition = ownedMembership-> - selectByKind(ElementFilterMembership). - condition - - - - - <p>The <code>viewRendering</code> of a <code>ViewUsage</code> is the <code>referencedRendering</code> of its owned <code>ViewRenderingMembership<code>, if any.</p> - - - OCL2.0 - viewRendering = - let renderings: OrderedSet(ViewRenderingMembership) = - featureMembership->selectByKind(ViewRenderingMembership) in - if renderings->isEmpty() then null - else renderings->first().referencedRendering - endif - - - - - <p>A <code>ViewUsage</code> must have at most one <code>ViewRenderingMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ViewRenderingMembership)-> - size() <= 1 - - - - - <p>A <code>ViewUsage</code> must directly or indirectly specialize the base <code>ViewUsage</code> <code><em>Views::views</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::views') - - - - - <p>A <code>ViewUsage</code> whose <code>owningType</code> is a <code>ViewDefinition</code> or <code>ViewUsage</code> must specialize the <code>ViewUsage</code> <code><em>Views::View::subviews</em></code> from the Systems Library Model.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(ViewDefinition) or - owningType.oclIsKindOf(ViewUsage)) implies - specializesFromLibrary('Views::View::subviews') - - - - - - <p>The <code>ViewDefinition</code> that is the <code>definition</code> of this <code>ViewUsage</code>.</p> - - - - - - - <p>The <code>nestedRequirements</code> of this <code>ViewUsage</code> that are <code>ViewpointUsages</code> for (additional) viewpoints satisfied by the <code>ViewUsage</code>.</p> - - - - - - - <p>The <code>Elements</code> that are exposed by this <code>ViewUsage</code>, which are those <code>memberElements</code> of the imported <code>Memberships</code> from all the <code>Expose</code> <code>Relationships</code> that meet all the owned and inherited <code>viewConditions</code>.</p> - - - - - - - - - <p>The <code>RenderingUsage</code> to be used to render views defined by this <code>ViewUsage</code>, which is the <code>referencedRendering</code> of the <code>ViewRenderingMembership</code> of the <code>ViewUsage</code>.<p> - - - - - - - <p>The <code>Expressions</code> related to this <code>ViewUsage</code> by <code>ElementFilterMemberships</code>, which specify conditions on <code>Elements</code> to be rendered in a view.</p> - - - - - - - - - <p>Determine whether the given <code>element</code> meets all the owned and inherited <code>viewConditions</code>.</p> - - - - OCL2.0 - let metadataFeatures: Sequence(AnnotatingElement) = - element.ownedAnnotation.annotatingElement-> - select(oclIsKindOf(MetadataFeature)) in -self.membership->selectByKind(ElementFilterMembership). - condition->forAll(cond | - metadataFeatures->exists(elem | - cond.checkCondition(elem))) - - - - - - - - - - - - - - <p>The ViewUsage that owns a certain <code>rendering</code>.</p> - - - - - - - - - <p>The ViewDefinition that owns a certain <code>rendering</code>.</p> - - - - - - - - - p>The ViewUsage that owns a certain <code>satisfiedViewpoint</code>.</p> - - - - - - - - - <p>The ViewDefinition that owns a certain <code>satisfiedViewpoint</code>.</p> - - - - - - - - - <p>The ViewDefinitions that feature a certain ViewUsage.</p> - - - - - - - - <p>A <code>RenderingDefinition</code> is a <code>PartDefinition</code> that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).</p> - - - - <p>The <code>renderings</code> of a <code>RenderingDefinition</code> are all its <code>usages</code> that are <code>RenderingUsages</code>.</p> - - - OCL2.0 - rendering = usages->selectByKind(RenderingUsage) - - - - - <p>A <code>RenderingDefinition</code> must directly or indirectly specialize the base <code>RenderingDefinition</code> <code><em>Views::Rendering</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::Rendering') - - - - - - <p>The <code>usages</code> of a <code>RenderingDefinition</code> that are <code>RenderingUsages</code>.</p> - - - - - - - - <p>A <code>ViewpointUsage</code> is a <code>Usage</code> of a <code>ViewpointDefinition</code>.</p> + The <code>ownedStakeholder</code> features of the ConcernUsage shall all subset the <em><code>ConcernCheck::concernedStakeholders</code> </em>feature. If the ConcernUsage is an <code>ownedFeature</code> of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an <code>ownedStakeholder</code> feature that is bound to the <em><code>self</code></em> feature of its owner.</p> + + + + + <p>A <code>ConcernUsage</code> must directly or indirectly specialize the base <code>ConcernUsage</code> <em><code>Requirements::concernChecks</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Requirements::concernChecks') + + + + + <p>If a <code>ConcernUsage</code> is owned via a <code>FramedConcernMembership</code>, then it must directly or indirectly specialize the <code>ConcernUsage</code> <code><em>Requirements::RequirementCheck::concerns</em></code> from the Systems Model Library.</p> + + + OCL2.0 + owningFeatureMembership <> null and + owningFeatureMembership.oclIsKindOf(FramedConcernMembership) implies + specializesFromLibrary('Requirements::RequirementCheck::concerns') + + + + + + <p>The ConcernDefinition that is the single type of this ConcernUsage.</p> + + + + + + + + + <p>The RequirementUsage that addresses a certain <code>addressedConcern</code>.</p> + + + + + + + + + + + + + + + + + <p>The RequirementUsages that have a certain PartUsage as an <code>actorParameter</code>.</p> + + + + + + + + + + + <p>The RequirementDefinitions that have a certain PartUsage as an <code>actorParameter</code>.</p> + + + + + + + + + + + <p>TheStakehplderMembership that has a certain PartUsage as its <code>ownedStakeholderParameter</code>.</p> + + + + + + + + + <p>A <code>StakeholderMembership</code> is a <code>ParameterMembership</code> that identifies a <code>PartUsage</code> as a <code>stakeholderParameter</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>, which specifies a role played by an entity with concerns framed by the <code>owningType</code>.</p> + + + + <p>The <code>owningType</code> of a <code>StakeholderMembership</code> must be a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(RequirementUsage) or + owningType.oclIsKindOf(RequirementDefinition) + + + + + + + + <p>The <code>PartUsage</code> specifying the stakeholder.</p> + + + + + + + + + + + + + + + + + + <p>The ActorMembership that has a certain PartUsage as its <code>ownedActorParameter</code>.</p> + + + + + + + + + <p>An <code>ActorMembership</code> is a <code>ParameterMembership</code> that identifies a <code>PartUsage</code> as an <em>actor</em> <code>parameter</code>, which specifies a role played by an external entity in interaction with the <code>owningType</code> of the <code>ActorMembership</code>.</p> + + + + <p>The <code>owningType</code> of an <code>ActorMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(RequirementUsage) or + owningType.oclIsKindOf(RequirementDefinition) or + owningType.oclIsKindOf(CaseDefinition) or + owningType.oclIsKindOf(CaseUsage) + + + + + + + + + <p>The <code>PartUsage</code> specifying the actor.</p> + + + + + + + + + + + <p>A <code>CalculationDefinition</code> is an <coed>ActionDefinition</code> that also defines a <code>Function</code> producing a <code>result</code>.</p> + + + + <p>A <code>CalculationDefinition</code> must directly or indirectly specialize the <code>CalculationDefinition</code> <em><code>Calculations::Calculation</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Calculations::Calculation') + + + + + <p>The <code>calculations</code> of a <code>CalculationDefinition</code> are those of its <code>actions</code> that are <code>CalculationUsages</code>.</p> + + + OCL2.0 + calculation = action->selectByKind(CalculationUsage) + + + + + + + + + <p>The <code>actions</code> of this <code>CalculationDefinition</code> that are <code>CalculationUsages</code>.</p> + + + + + + + + + + + <p>The CalculationUsage being typed by a certain Function.</p> + + + + + + + + + + <p>A <code>CalculationUsage</code> is an <code>ActionUsage</code> that is also an <code>Expression</code>, and, so, is typed by a <code>Function</code>. Nominally, if the <code>type</code> is a <code>CalculationDefinition</code>, a <code>CalculationUsage</code> is a <code>Usage</code> of that <code>CalculationDefinition</code> within a system. However, other kinds of kernel <code>Functions</code> are also allowed, to permit use of <code>Functions</code> from the Kernel Model Libraries.</p> + + + + <p>A <code>CalculationUsage</code> must specialize directly or indirectly the <code>CalculationUsage</code> <em><code>Calculations::calculations</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Calculations::calculations') + + + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(CalculationDefinition) or + owningType.oclIsKindOf(CalculationUsage)) implies + specializesFromLibrary('Calculations::Calculation::subcalculations') + + + + + + + + + <p>The <ode>Function</code> that is the <code>type</code> of this <code>CalculationUsage</code>. Nominally, this would be a <code>CalculationDefinition</code>, but a kernel <code>Function</code> is also allowed, to permit use of <code>Functions</code> from the Kernel Model Libraries.</p> + + + + + + + + + + <p>A <code>CalculationUsage</code> is not model-level evaluable.</p> + + + + OCL2.0 + false + + + + + + + + + + + + + + + + + <p>The CalculationDefinitions that feature a certain CalculationUsage.</p> + + + + + + + + + + + <p>The Definition that owns the <code>ownedCalculation</code>.</p> + + + + + + + + + <p>The Usage in which the <code>nestedCalculation<code> is nested.</p> + + + + + + + + + + + <p>The ConnectionDefinitions that have a certain Usage as an <code>connectionEnd</code>.</p> + + + + + + + + + <p>A <code>ConnectionDefinition</code> is a <code>PartDefinition</code> that is also an <code>AssociationStructure</code>. The end <code>Features</code> of a <code>ConnectionDefinition</code> must be <code>Usages</code>.</p> + + + + <p>A <code>ConnectionDefinition</code> must directly or indirectly specialize the <code>ConnectionDefinition</code> <em><code>Connections::Connection</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Connections::Connection') + + + + + <p>A binary <code>ConnectionDefinition</code> must directly or indirectly specialize the <code>ConnectionDefinition</code> <em><code>Connections::BinaryConnection</code></em> from the Systems Model Library.</p> + + + OCL2.0 + ownedEndFeature->size() = 2 implies + specializesFromLibrary('Connections::BinaryConnections') + + + + + <p>A <code>ConnectionDefinition</code> must have <code>isSufficient = true</code>.</p> + + + OCL2.0 + isSufficient + + + + + + + + + <p>The <code>Usages</code> that define the things related by the <code>ConnectionDefinition</code>.</p> + + + + + + + + <p>A <code>ConnectionDefinition</code> always has <code>isSufficient = true</code>.</p> + + + + + + + + + <p>A <code>ConnectionUsage</code> is a <code>ConnectorAsUsage</code> that is also a <code>PartUsage</code>. Nominally, if its type is a <code>ConnectionDefinition</code>, then a <code>ConnectionUsage</code> is a Usage of that <code>ConnectionDefinition</code>, representing a connection between parts of a system. However, other kinds of kernel <code>AssociationStructures</code> are also allowed, to permit use of <code>AssociationStructures</code> from the Kernel Model Libraries.</p> + + + + <p>A <code>ConnectionUsage</code> must directly or indirectly specialize the <code>ConnectionUsage</code> <em><code>Connections::connections</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Connections::connections') + + + + + <p>A binary <code>ConnectionUsage</code> must directly or indirectly specialize the <code>ConnectionUsage</code> <em><code>Connections::binaryConnections</code></em> from the Systems Model Library.</p> + + + OCL2.0 + ownedEndFeature->size() = 2 implies + specializesFromLibrary('Connections::binaryConnections') + + + + + + + <p>The <code>AssociationStructures</code> that are the types of this <code>ConnectionUsage</code>. Nominally, these are , but other kinds of Kernel <code>AssociationStructures</code> are also allowed, to permit use of <code>AssociationStructures</code> from the Kernel Model Libraries</p> + + + + + + + + + + + <p>The ConnectionUsages that have a certain AssociationStructure as their <code>connectionDefinition</code>.</p> + + + + + + + + + <p>A <code>SuccessionAsUsage</code> is both a <code>ConnectorAsUsage</code> and a <code>Succession</code>.<p> + + + + + + + + + <p>A <code>ConnectorAsUsage</code> is both a <code>Connector</code> and a <code>Usage</code>. <code>ConnectorAsUsage</code> cannot itself be instantiated in a SysML model, but it is a base class for the concrete classes <code>BindingConnectorAsUsage</code>, <code>SuccessionAsUsage</code>, <code>ConnectionUsage</code> and <code>FlowConnectionUsage</code>.</p> + + + + + + + + + <p>A <code>BindingConnectorAsUsage</code> is both a <code>BindingConnector</code> and a <code>ConnectorAsUsage</code>.</p> + + + + + + + + + + + <p>A <code>CaseUsage</code> is a <code>Usage</code> of a <code>CaseDefinition</code>.</p> + + + + <p>The <code>objectiveRequirement</code> of a <code>CaseUsage</code> is the <code>RequirementUsage</code> it owns via an <case>ObjectiveMembership</code>, if any.</p> + + + OCL2.0 + objectiveRequirement = + let objectives: OrderedSet(RequirementUsage) = + featureMembership-> + selectByKind(ObjectiveMembership). + ownedRequirement in + if objectives->isEmpty() then null + else objectives->first().ownedObjectiveRequirement + endif + + + + + <p>A <code>CaseUsage</code> must have at most one <code>featureMembership</code> that is a <code>ObjectiveMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(ObjectiveMembership)-> + size() <= 1 + + + + + <p>A <code>CaseUsage</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(SubjectMembership)-> + size() <= 1 + + + + + <p>The <code>actorParameters</code> of a <code>CaseUsage</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>CaseUsage</code>.</p> + + + OCL2.0 + actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter + + + + + <p>The <code>subjectParameter</code> of a <code>CaseUsage</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> + + + OCL2.0 + subjectParameter = + let subjects : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjects->isEmpty() then null + else subjects->first().ownedSubjectParameter + endif + + + + + <p>The <code>subjectParameter</code> of a <code>CaseUsage</code> must be its first <code>input</code>.</p> + + + OCL2.0 + input->notEmpty() and input->first() = subjectParameter + + + + + <p>A <code>CaseUsage</code> must directly or indirectly specialize the base <code>CaseUsage</code> <em><code>Cases::cases</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Cases::cases') + + + + + <p>A composite <code>CaseUsage</code> whose <code>owningType</code> is a <code>CaseDefinition</code> or <code>CaseUsage</code> must directly or indirectly specialize the <code>CaseUsage</code> <em><code>Cases::Case::subcases</code></em>.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(CaseDefinition) or + owningType.oclIsKindOf(CaseUsage)) implies + specializesFromLibrary('Cases::Case::subcases') + + + + + + <p>The <code>RequirementUsage</code> representing the objective of this <code>CaseUsage</code>.</p> + + + + + + + + <p>The CaseDefinition that is the type of this CaseUsage.</p> + + + + + + + <p>The <code>parameter</code> of this <code>CaseUsage</code> that represents its subject.</p> + + + + + + + + + + <p>The <code>parameters</code> of this <code>CaseUsage</code> that represent actors involved in the case.</p> + + + + + + + + + + + <p>The Usage in which the <code>nestedCase</code> is nested.</p> + + + + + + + + + <p>The CaseUsages being typed by a certain CaseDefinition.</p> + + + + + + + + <p>A <code>CaseDefinition</code> is a <code>CalculationDefinition</code> for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.</p> + + + + <p>The <code>objectiveRequirement</code> of a <code>CaseDefinition</code> is the <code>ownedObjectiveRequirement</code> of its <case>ObjectiveMembership</code>, if any.</p> + + + OCL2.0 + objectiveRequirement = + let objectives: OrderedSet(RequirementUsage) = + featureMembership-> + selectByKind(ObjectiveMembership). + ownedRequirement in + if objectives->isEmpty() then null + else objectives->first().ownedObjectiveRequirement + endif + + + + + <p>A <code>CaseDefinition</code> must have at most one <code>featureMembership</code> that is a <code>ObjectiveMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(ObjectiveMembership)-> + size() <= 1 + + + + + <p>The <code>subjectParameter</code> of a <code>CaseDefinition</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> + + + OCL2.0 + subjectParameter = + let subjectMems : OrderedSet(SubjectMembership) = + featureMembership->selectByKind(SubjectMembership) in + if subjectMems->isEmpty() then null + else subjectMems->first().ownedSubjectParameter + endif + + + + + <p>The <code>actorParameters</code> of a <code>CaseDefinition</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>CaseDefinition</code>.</p> + + + OCL2.0 + actorParameter = featureMembership-> + selectByKind(ActorMembership). + ownedActorParameter + + + + + <p>A <code>CaseDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> + + + English + featureMembership->selectByKind(SubjectMembership)->size() <= 1 + + + + + <p>The <code>subjectParameter</code> of a <code>CaaseDefinition</code> must be its first <code>input</code>.</p> + + + OCL2.0 + input->notEmpty() and input->first() = subjectParameter + + + + + <p>A <code>CaseDefinition</code> must directly or indirectly specialize the base <code>CaseDefinition</code> <em><code>Cases::Case></code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Cases::Case') + + + + + + <p>The <code>RequirementUsage</code> representing the objective of this <code>CaseDefinition</code>.</p> + + + + + + + + <p>The <code>parameter</code> of this <code>CaseDefinition</code> that represents its subject.</p> + + + + + + + + + <p>The <code>parameters</code> of this <code>CaseDefinition</code> that represent actors involved in the case.</p> + + + + + + + + + + <p>An <code>ObjectiveMembership</code> is a <code>FeatureMembership</code> that indicates that its <code>ownedObjectiveRequirement</code> is the objective <code>RequirementUsage</code> for its <code>owningType</code>, which must be a <code>CaseDefinition</code> or <code>CaseUsage</code>.</p> + + + + <p>The <code>owningType</code> of an <code>ObjectiveMembership</code> must be a <code>CaseDefinition</code> or <code>CaseUsage</code>.</p> + + + OCL2.0 + owningType.oclIsType(CaseDefinition) or + owningType.oclIsType(CaseUsage) + + + + + + <p>The <code>ownedObjectiveRequirement</code> of an <code>ObjectiveMembership</code> must be composite.</p> + + + OCL2.0 + ownedObjectiveRequirement.isComposite + + + + + + + + <p>The RequirementUsage that is the <code>ownedMemberFeature</code> of this RequirementUsage.</p> + + + + + + + + + + + + + + + + + <p>The CaseDefinitions that have a certain RequirementUsage as their <code>objectiveRequirement</code>.</p> + + + + + + + + + + <p>The ObjectMembership that owns a particular RequirementUsage as its <code>ownedObjectiveRequirement</code>.</p> + + + + + + + + + + <p>The CaseDefinitions that have a certain Usage as their <code>subjectParameter</code>.</p> + + + + + + + + + + + <p>The CaseUsages that have a certain Usage as their <code>subjectParameter</code>.</p> + + + + + + + + + + + <p>The CaseDefinitions that have a certain PartUsage as an <code>actorParameter</code>.</p> + + + + + + + + + + + <p>The CaseUsages that have a certain PartUsage as an <code>actorParameter</code>.</p> + + + + + + + + + + + + + <p>The AnalysisCaseDefinitions that have a certain Expression as their <code>resultExpression</code>.</p> + + + + + + + + + + + <p>The AnalysisCaseUsages being typed by a certain AnalysisCaseDefinition.</p> + + + + + + + + <p>An <code>AnalysisCaseUsage</code> is a <code>Usage</code> of an <code>AnalysisCaseDefinition</code>.</p> + + + + <p>The <code>resultExpression</code> of a <code>AnalysisCaseUsage</code> is the <code>ownedResultExpression</code> of its <code>ResultExpressionMembership</code>, if any.</p> + + + OCL2.0 + resultExpression = + let results : OrderedSet(ResultExpressionMembership) = + featureMembersip-> + selectByKind(ResultExpressionMembership) in + if results->isEmpty() then null + else results->first().ownedResultExpression + endif + + + + + <p>An <code>AnalysisCaseUsage</code> must directly or indirectly specialize the base <code>AnalysisCaseUsage</code> <code><em>AnalysisCases::analysisCases</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('AnalysisCases::analysisCases') + + + + + <p>A composite <code>AnalysisCaseUsage</code> whose <code>owningType</code> is an <code>AnalysisCaseDefinition</code> or <code>AnalysisCaseUsage</code> must specialize the <code>AnalysisCaseUsage</code> <code><em>AnalysisCases::AnalysisCase::subAnalysisCases</code> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(AnalysisCaseDefinition) or + owningType.oclIsKindOf(AnalysisCaseUsage)) implies + specializesFromLibrary('AnalysisCases::AnalysisCase::subAnalysisCases') + + + + + + <p>The <code>AnalysisCaseDefinition</code> that is the <code>definition</code> of this <code>AnalysisCaseUsage</code>.</p> + + + + + + + <p>An <code>Expression</code> used to compute the <code>result</code> of the <code>AnalysisCaseUsage</code>, owned via a <code>ResultExpressionMembership</code>.</p> + + + + + + + + + + + <p>The AnalysisCaseUsages that have a certain Expression as their <code>resultExpression</code>.</p> + + + + + + + + + <p>An <code>AnalysisCaseDefinition</code> is a <code>CaseDefinition</code> for the case of carrying out an analysis.</p> + + + + <p>The <code>resultExpression</code> of a <code>AnalysisCaseDefinition</code> is the <code>ownedResultExpression</code> of its <code>ResultExpressionMembership</code>, if any.</p> + + + OCL2.0 + resultExpression = + let results : OrderedSet(ResultExpressionMembership) = + featureMembersip-> + selectByKind(ResultExpressionMembership) in + if results->isEmpty() then null + else results->first().ownedResultExpression + endif + + + + + <p>An <code>AnalysisCaseDefinition</code> must directly or indirectly specialize the base <code>AnalysisCaseDefinition</code> <code><em>AnalysisCases::AnalysisCase</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('AnalysisCases::AnalysisCase') + + + + + + <p>An <code>Expression</code> used to compute the <code>result</code> of the <code>AnalysisCaseDefinition</code>, owned via a <code>ResultExpressionMembership</code>.</p> + + + + + + + + + + + + + + <p>An <code>ItemUsage</code> is a <code>ItemUsage</code> whose <code>definition</code> is a <code>Structure</code>. Nominally, if the <code>definition</code> is an <code>ItemDefinition</code>, an <code>ItemUsage</code> is a <code>ItemUsage</code> of that <code>ItemDefinition</code> within a system. However, other kinds of Kernel <code>Structures</code> are also allowed, to permit use of <code>Structures</code> from the Kernel Model Libraries.</p> + + + + <p>The <code>itemDefinitions</code> of an <code>ItemUsage</code> are those <code>occurrenceDefinitions</code> that are <code>Structures</code>.</p> + + + OCL2.0 + itemDefinition = occurrenceDefinition->selectByKind(Structure) + + + + + <p>An <code>ItemUsage</code> must directly or indirectly specialize the Systems Model Library <code>ItemUsage</code> <em><code>items</code></em>.</p> + + + OCL2.0 + specializesFromLibrary('Items::items') + + + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(ItemDefinition) or + owningType.oclIsKindOf(ItemUsage)) implies + specializesFromLibrary('Items::Item::subitem') + + + + + + <p>The Structures that are the <code>definitions</code> of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library.</p> + + + + + + + + + <p>An <code>ItemDefinition</code> is an <code>OccurrenceDefinition</code> of the <code>Structure</code> of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.</p> + + + + + <p>An <code>ItemDefinition</code> must directly or indirectly specialize the Systems Library Model <code>ItemDefinition</code> <em><code>Items::Item</code>.</p> + + + OCL2.0 + specializesFromLibrary('Items::Item') + + + + + + + + + + + + <p>A <code>ViewpointDefinition</code> is a <code>RequirementDefinition</code> that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.</p> + + + + <p>The <code>viewpointStakeholders</code> of a <code>ViewpointDefinition</code> are the <code>ownedStakeholderParameters</code> of all <code>featureMemberships</code> that are <code>StakeholderMemberships</code>.</p> + + + OCL2.0 + viewpointStakeholder = framedConcern.featureMemberhsip-> + selectByKind(StakeholderMembership). + ownedStakeholderParameter + + + + + <p>A <code>ViewpointDefinition</code> must directly or indirectly specialize the base <code>ViewpointDefinition</code> <code><em>Views::Viewpoint</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Views::Viewpoint') + + + + + + <p>The <code>PartUsages</code> that identify the stakeholders with concerns framed by this <code>ViewpointDefinition</code>, which are the owned and inherited <code>stakeholderParameters</code> of the <code>framedConcerns</code> of this <code>ViewpointDefinition</code>.</p> + + + + + + + + + <p>A ViewUsage exposing a certain <code>exposedElement</code>.</p> + + + + + + + + + + <p>The RenderingUsages defined by a certain <code>renderingDefinition</code>.</p> + + + + + + + + <p>A <code>ViewUsage</code> is a usage of a <code>ViewDefinition</code> to specify the generation of a view of the <code>members</code> of a collection of <code>exposedNamespaces</code>. The <code>ViewUsage</code> can satisfy more <code>viewpoints</code> than its definition, and it can specialize the <code>viewRendering</code> specified by its definition.<p> + + + + <p>The <code>exposedElements</code> of a <code>ViewUsage</code> are those <code>memberElements</code> of the imported <code>Memberships</code> from all the <code>Expose</code> <code>Relationships</code> for which the <code>includeAsExposed</code> operation returns true.</p> + + + OCL2.0 + exposedElement = ownedImport->selectByKind(Expose). + importedMemberships(Set{}).memberElement-> + select(elm | includeAsExposed(elm))-> + asOrderedSet() + + + + + <p>The <code>satisfiedViewpoints</code> of a <code>ViewUsage</code> are its <code>ownedRequirements</code> that are composite <code>ViewpointUsages</code>. + + + OCL2.0 + satisfiedViewpoint = ownedRequirement-> + selectByKind(ViewpointUsage)-> + select(isComposite) + + + + + <p>The <code>viewConditions</code> of a <code>ViewUsage</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> + + + OCL2.0 + viewCondition = ownedMembership-> + selectByKind(ElementFilterMembership). + condition + + + + + <p>The <code>viewRendering</code> of a <code>ViewUsage</code> is the <code>referencedRendering</code> of its owned <code>ViewRenderingMembership<code>, if any.</p> + + + OCL2.0 + viewRendering = + let renderings: OrderedSet(ViewRenderingMembership) = + featureMembership->selectByKind(ViewRenderingMembership) in + if renderings->isEmpty() then null + else renderings->first().referencedRendering + endif + + + + + <p>A <code>ViewUsage</code> must have at most one <code>ViewRenderingMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(ViewRenderingMembership)-> + size() <= 1 + + + + + <p>A <code>ViewUsage</code> must directly or indirectly specialize the base <code>ViewUsage</code> <code><em>Views::views</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Views::views') + + + + + <p>A <code>ViewUsage</code> whose <code>owningType</code> is a <code>ViewDefinition</code> or <code>ViewUsage</code> must specialize the <code>ViewUsage</code> <code><em>Views::View::subviews</em></code> from the Systems Library Model.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(ViewDefinition) or + owningType.oclIsKindOf(ViewUsage)) implies + specializesFromLibrary('Views::View::subviews') + + + + + + <p>The <code>ViewDefinition</code> that is the <code>definition</code> of this <code>ViewUsage</code>.</p> + + + + + + + <p>The <code>nestedRequirements</code> of this <code>ViewUsage</code> that are <code>ViewpointUsages</code> for (additional) viewpoints satisfied by the <code>ViewUsage</code>.</p> + + + + + + + <p>The <code>Elements</code> that are exposed by this <code>ViewUsage</code>, which are those <code>memberElements</code> of the imported <code>Memberships</code> from all the <code>Expose</code> <code>Relationships</code> that meet all the owned and inherited <code>viewConditions</code>.</p> + + + + + + + + + <p>The <code>RenderingUsage</code> to be used to render views defined by this <code>ViewUsage</code>, which is the <code>referencedRendering</code> of the <code>ViewRenderingMembership</code> of the <code>ViewUsage</code>.<p> + + + + + + + <p>The <code>Expressions</code> related to this <code>ViewUsage</code> by <code>ElementFilterMemberships</code>, which specify conditions on <code>Elements</code> to be rendered in a view.</p> + + + + + + + + + <p>Determine whether the given <code>element</code> meets all the owned and inherited <code>viewConditions</code>.</p> + + + + OCL2.0 + let metadataFeatures: Sequence(AnnotatingElement) = + element.ownedAnnotation.annotatingElement-> + select(oclIsKindOf(MetadataFeature)) in + self.membership->selectByKind(ElementFilterMembership). + condition->forAll(cond | + metadataFeatures->exists(elem | + cond.checkCondition(elem))) + + + + + + + + + + + + + + <p>The ViewUsage that owns a certain <code>rendering</code>.</p> + + + + + + + + + <p>The ViewDefinition that owns a certain <code>rendering</code>.</p> + + + + + + + + + p>The ViewUsage that owns a certain <code>satisfiedViewpoint</code>.</p> + + + + + + + + + <p>The ViewDefinition that owns a certain <code>satisfiedViewpoint</code>.</p> + + + + + + + + + <p>The ViewDefinitions that feature a certain ViewUsage.</p> + + + + + + + + <p>A <code>RenderingDefinition</code> is a <code>PartDefinition</code> that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).</p> + + + + <p>The <code>renderings</code> of a <code>RenderingDefinition</code> are all its <code>usages</code> that are <code>RenderingUsages</code>.</p> + + + OCL2.0 + rendering = usages->selectByKind(RenderingUsage) + + + + + <p>A <code>RenderingDefinition</code> must directly or indirectly specialize the base <code>RenderingDefinition</code> <code><em>Views::Rendering</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Views::Rendering') + + + + + + <p>The <code>usages</code> of a <code>RenderingDefinition</code> that are <code>RenderingUsages</code>.</p> + + + + + + + + <p>A <code>ViewpointUsage</code> is a <code>Usage</code> of a <code>ViewpointDefinition</code>.</p> - - - - - <p>The <code>viewpointStakeholders</code> of a <code>ViewpointUsage</code> are the <code>ownedStakeholderParameters</code> of all <code>featureMemberships</code> that are <code>StakeholderMemberships</code>.</p> - - - OCL2.0 - viewpointStakeholder = framedConcern.featureMemberhsip-> - selectByKind(StakeholderMembership). - ownedStakeholderParameter - - - - - <p>A <code>ViewpointUsage</code> must directly or indirectly specialize the base <code>ViewpointUsage</code> <code><em>Views::viewpoints</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::viewpoints') - - - - - <p>A composite <code>ViewpointUsage</code> whose <code>owningType</code> is a <code>ViewDefinition</code> or <code>ViewUsage</code> must directly or indirectly specialize the <code>ViewpointUsage</code> <code><em>Views::View::viewpointSatisfactions</em></code> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ViewDefinition) or - owningType.oclIsKindOf(ViewUsage)) implies - specializesFromLibrary('Views::View::viewpointSatisfactions') - - - - - - <p>The <code>ViewpointDefinition</code> that is the <code>definition</code> of this <code>ViewpointUsage<code>.</p> - - - - - - - <p>The <code>PartUsages</code> that identify the stakeholders with concerns framed by this <code>ViewpointUsage</code>, which are the owned and inherited <code>stakeholderParameters</code> of the <code>framedConcerns</code> of this <code>ViewpointUsage</code>.</p> - - - - - - - - - <p>The ViewUsages that have a certain <code>ViewDefinition</code>.</p> - - - - - - - - - - - - - - <p>A <code>ViewDefinition</code> is a <code>PartDefinition</code> that specifies how a view artifact is constructed to satisfy a <code>viewpoint</code>. It specifies a <code>viewConditions</code> to define the model content to be presented and a <code>viewRendering</code> to define how the model content is presented.</p> - - - - <p>The <code>views</code> of a <code>ViewDefinition</code> are all its <code>usages</code> that are <code>ViewUsages</code>.</p> - - - OCL2.0 - view = usage->selectByKind(ViewUsage) - - - - - <p>The <code>satisfiedViewpoints</code> of a <code>ViewDefinition</code> are its <code>ownedRequirements</code> that are composite <code>ViewpointUsages</code>. - - - OCL2.0 - satisfiedViewpoint = ownedRequirement-> - selectByKind(ViewpointUsage)-> - select(isComposite) - - - - - <p>The <code>viewRendering</code> of a <code>ViewDefinition</code> is the <code>referencedRendering</code> of its owned <code>ViewRenderingMembership<code>, if any.</p> - - - OCL2.0 - viewRendering = - let renderings: OrderedSet(ViewRenderingMembership) = - featureMembership->selectByKind(ViewRenderingMembership) in - if renderings->isEmpty() then null - else renderings->first().referencedRendering - endif - - - - - <p>The <code>viewConditions</code> of a <code>ViewDefinition</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> - - - OCL2.0 - viewCondition = ownedMembership-> - selectByKind(ElementFilterMembership). - condition - - - - - <p>A <code>ViewDefinition</code> must have at most one <code>ViewRenderingMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ViewRenderingMembership)-> - size() <= 1 - - - - - </p>A <code>ViewDefinition</code> must directly or indirectly specialize the base <code>ViewDefinition</code> <code><em>Views::View</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::View') - - - - - - <p>The <code>usages</code> of this <code>ViewDefinition</code> that are <code>ViewUsages</code>.</p> - - - - - - - <p>The composite <code>ownedRequirements</code> of this <code>ViewDefinition</code> that are <code>ViewpointUsages</code> for viewpoints satisfied by the <code>ViewDefinition</code>.</p> - - - - - - - <p>The <code>RenderingUsage</code> to be used to render views defined by this <code>ViewDefinition</code>, which is the <code>referencedRendering</code> of the <code>ViewRenderingMembership</code> of the <code>ViewDefinition</code>.<p> - - - - - - - <p>The <code>Expressions</code> related to this <code>ViewDefinition</code> by <code>ElementFilterMemberships</code>, which specify conditions on <code>Elements</code> to be rendered in a view.</p> - - - - - - - - - - <p>An <code>Expose</code> is an <code>Import</code> of <code>Memberships</code> into a <code>ViewUsage</code> that provide the <code>Elements</code> to be included in a view. Visibility is always ignored for an <code>Expose</code> (i.e., <code>isImportAll = true</code>).</p> - - - - <p>An <code>Expose</code> always imports all <code>Elements</code>, regardless of visibility.</p> - - - OCL2.0 - isImportAll - - - - - <p>The <code>importOwningNamespace</code> of an <code>Expose</code> must be a <code>ViewUsage</code>.</p> - - - OCL2.0 - importOwningNamespace.oclIsType(ViewUsage) - - - - - <p>An <code>Expose</code> always has <code>protected</code> visibility.</p> - - - OCL2.0 - visibility = VisibilityKind::protected - - - - - - - - <p>An <code>Expose</code> always has <code>protected</code> visibility.</p> - - - - - - - - - - <p>An <code>Expose</code> always imports all <code>Elements</code>, regardless of visibility (<code>isImportAll = true</code>).</p> - - - - - - - - - - <p>The RenderingDefinitions that feature a certain <code>rendering</code>.</p> - - - - - - - - <p>A <code>RenderingUsage</code> is the usage of a <code>RenderingDefinition</code> to specify the rendering of a specific model view to produce a physical view artifact.</p> + + + + + <p>The <code>viewpointStakeholders</code> of a <code>ViewpointUsage</code> are the <code>ownedStakeholderParameters</code> of all <code>featureMemberships</code> that are <code>StakeholderMemberships</code>.</p> + + + OCL2.0 + viewpointStakeholder = framedConcern.featureMemberhsip-> + selectByKind(StakeholderMembership). + ownedStakeholderParameter + + + + + <p>A <code>ViewpointUsage</code> must directly or indirectly specialize the base <code>ViewpointUsage</code> <code><em>Views::viewpoints</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Views::viewpoints') + + + + + <p>A composite <code>ViewpointUsage</code> whose <code>owningType</code> is a <code>ViewDefinition</code> or <code>ViewUsage</code> must directly or indirectly specialize the <code>ViewpointUsage</code> <code><em>Views::View::viewpointSatisfactions</em></code> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(ViewDefinition) or + owningType.oclIsKindOf(ViewUsage)) implies + specializesFromLibrary('Views::View::viewpointSatisfactions') + + + + + + <p>The <code>ViewpointDefinition</code> that is the <code>definition</code> of this <code>ViewpointUsage<code>.</p> + + + + + + + <p>The <code>PartUsages</code> that identify the stakeholders with concerns framed by this <code>ViewpointUsage</code>, which are the owned and inherited <code>stakeholderParameters</code> of the <code>framedConcerns</code> of this <code>ViewpointUsage</code>.</p> + + + + + + + + + <p>The ViewUsages that have a certain <code>ViewDefinition</code>.</p> + + + + + + + + + + + + + + <p>A <code>ViewDefinition</code> is a <code>PartDefinition</code> that specifies how a view artifact is constructed to satisfy a <code>viewpoint</code>. It specifies a <code>viewConditions</code> to define the model content to be presented and a <code>viewRendering</code> to define how the model content is presented.</p> + + + + <p>The <code>views</code> of a <code>ViewDefinition</code> are all its <code>usages</code> that are <code>ViewUsages</code>.</p> + + + OCL2.0 + view = usage->selectByKind(ViewUsage) + + + + + <p>The <code>satisfiedViewpoints</code> of a <code>ViewDefinition</code> are its <code>ownedRequirements</code> that are composite <code>ViewpointUsages</code>. + + + OCL2.0 + satisfiedViewpoint = ownedRequirement-> + selectByKind(ViewpointUsage)-> + select(isComposite) + + + + + <p>The <code>viewRendering</code> of a <code>ViewDefinition</code> is the <code>referencedRendering</code> of its owned <code>ViewRenderingMembership<code>, if any.</p> + + + OCL2.0 + viewRendering = + let renderings: OrderedSet(ViewRenderingMembership) = + featureMembership->selectByKind(ViewRenderingMembership) in + if renderings->isEmpty() then null + else renderings->first().referencedRendering + endif + + + + + <p>The <code>viewConditions</code> of a <code>ViewDefinition</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> + + + OCL2.0 + viewCondition = ownedMembership-> + selectByKind(ElementFilterMembership). + condition + + + + + <p>A <code>ViewDefinition</code> must have at most one <code>ViewRenderingMembership</code>.</p> + + + OCL2.0 + featureMembership-> + selectByKind(ViewRenderingMembership)-> + size() <= 1 + + + + + </p>A <code>ViewDefinition</code> must directly or indirectly specialize the base <code>ViewDefinition</code> <code><em>Views::View</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Views::View') + + + + + + <p>The <code>usages</code> of this <code>ViewDefinition</code> that are <code>ViewUsages</code>.</p> + + + + + + + <p>The composite <code>ownedRequirements</code> of this <code>ViewDefinition</code> that are <code>ViewpointUsages</code> for viewpoints satisfied by the <code>ViewDefinition</code>.</p> + + + + + + + <p>The <code>RenderingUsage</code> to be used to render views defined by this <code>ViewDefinition</code>, which is the <code>referencedRendering</code> of the <code>ViewRenderingMembership</code> of the <code>ViewDefinition</code>.<p> + + + + + + + <p>The <code>Expressions</code> related to this <code>ViewDefinition</code> by <code>ElementFilterMemberships</code>, which specify conditions on <code>Elements</code> to be rendered in a view.</p> + + + + + + + + + + <p>An <code>Expose</code> is an <code>Import</code> of <code>Memberships</code> into a <code>ViewUsage</code> that provide the <code>Elements</code> to be included in a view. Visibility is always ignored for an <code>Expose</code> (i.e., <code>isImportAll = true</code>).</p> + + + + <p>An <code>Expose</code> always imports all <code>Elements</code>, regardless of visibility.</p> + + + OCL2.0 + isImportAll + + + + + <p>The <code>importOwningNamespace</code> of an <code>Expose</code> must be a <code>ViewUsage</code>.</p> + + + OCL2.0 + importOwningNamespace.oclIsType(ViewUsage) + + + + + <p>An <code>Expose</code> always has <code>protected</code> visibility.</p> + + + OCL2.0 + visibility = VisibilityKind::protected + + + + + + + + <p>An <code>Expose</code> always has <code>protected</code> visibility.</p> + + + + + + + + + + <p>An <code>Expose</code> always imports all <code>Elements</code>, regardless of visibility (<code>isImportAll = true</code>).</p> + + + + + + + + + + <p>The RenderingDefinitions that feature a certain <code>rendering</code>.</p> + + + + + + + + <p>A <code>RenderingUsage</code> is the usage of a <code>RenderingDefinition</code> to specify the rendering of a specific model view to produce a physical view artifact.</p> - - - - - <p>A <code>RenderingUsage</code> must directly or indirectly specialize the base <code>RenderingUsage</code> <code><em>Views::renderings</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::renderings') - - - - - <p>A <code>RenderingUsage</code> whose <code>owningType</code> is a <code>RenderingDefinition</code> or <code>RenderingUsage</code> must directly or indirectly specialize the <code>RenderingUsage</code> <code><em>Views::Rendering::subrenderings</em></code> from the Systems Model Library.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(RenderingDefinition) or - owningType.oclIsKindOf(RenderingUsage)) implies - specializesFromLibrary('Views::Rendering::subrenderings') - - - - - <p>A <code>RenderingUsage</code> whose <code>owningFeatureMembership</code> is a <code>ViewRenderingMembership</code> must redefine the <code>RenderingUsage</code> <code><em>Views::View::viewRendering</em></code>.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(ViewRenderingMembership) implies - redefinesFromLibrary('Views::View::viewRendering') - - - - - - <p>The <code>RenderingDefinition</code> that is the <code>definition</code> of this <code>RenderingUsage</code>.</p> - - - - - - - - - <p>The ViewUsage that owns a certain <code>viewCondition</code>.</p> - - - - - - - - - - <p>The ViewDefinition that owns a certain <code>viewCondition</code>.</p> - - - - - - - - - - <p>The ViewpointDefinition that has a certain <code>viewpointStakeholder</code>.</p> - - - - - - - - - - - - - - <p>A <code>ViewRenderingMembership</code> is a <coed>FeatureMembership</code> that identifies the <code>viewRendering</code> of a <code>ViewDefinition</code> or <code>ViewUsage</code>.</p> - - - - <p>The <code>referencedRendering</code> of a <code>ViewRenderingMembership</code> is the the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> (which must be a <code>RenderingUsage</code>) of the <code>ownedRendering</code>, if there is one, and, otherwise, the <code>ownedRendering</code> itself.</p> - - - OCL2.0 - referencedRendering = - let referencedFeature : Feature = - ownedRendering.referencedFeatureTarget() in - if referencedFeature = null then ownedRendering - else if referencedFeature.oclIsKindOf(RenderingUsage) then - refrencedFeature.oclAsType(RenderingUsage) - else null - endif endif - - - - - <p>The <code>owningType</code> of a <code>ViewRenderingMembership</code> must be a <code>ViewDefinition</code> or a <code>ViewUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(ViewDefinition) or -owningType.oclIsKindOf(ViewUsage) - - - - - - - - <p>The owned <code>RenderingUsage</code> that is either itself the <code>referencedRendering</code> or subsets the <code>referencedRendering</code>. - - - - - - - - <p> The <code>RenderingUsage</code> that is referenced through this <code>ViewRenderingMembership</code>. It is the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>ownedRendering</code>, if there is one, and, otherwise, the <code>ownedRendering</code> itself.</p> - - - - - - - - - <p>The ViewpointUsage that has a certain <code>viewpointStakeholder</code>.</p> - - - - - - - - - - - - - - <p>A <code>NamespaceExpose</code> is an <code>Expose</code> <code>Relationship</code> that exposes the <code>Memberships</code> of a specific <code>importedNamespace</code> and, if <code>isRecursive = true</code>, additional <code>Memberships</code> recursively.</p> - - - - - - - - - <p>A <code>MembershipExpose</code> is an <code>Expose</code> <code.Relationship</code> that exposes a specific <code>importedMembership</code> and, if <code>isRecursive = true</code>, additional <code>Memberships</code> recursively.</p> - - - - - - - - - - - <p>A <code>VerificationCaseDefinition</code> is a <code>CaseDefinition</code> for the purpose of verification of the subject of the case against its requirements.</p> - - - - <p>The <code>verifiedRequirements</code> of a <code>VerificationCaseDefinition</code> are the <code>verifiedRequirements</code> of its <code>RequirementVerificationMemberships</code>.</p> - - - OCL2.0 - verifiedRequirement = - if objectiveRequirement = null then OrderedSet{} - else - objectiveRequirement.featureMembership-> - selectByKind(RequirementVerificationMembership). - verifiedRequirement->asOrderedSet() - endif - - - - - <p>A <code>VerificationCaseDefinition</code> must directly or indirectly specialize the base <code>VerificationCaseDefinition</code> <em><code>VerificationCases::VerificationCase</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('VerificationCases::VerificationCase') - - - - - - <p>The <code>RequirementUsages</code> verified by this <code>VerificationCaseDefinition</code>, which are the <code>verifiedRequirements</code> of all <code>RequirementVerificationMemberships</code> of the <code>objectiveRequirement</code>.</p> - - - - - - - - - <p>The VerificationUsages that are defined by a certain <code>verificationCaseDefinition</code>.</p> - - - - - - - - <p>A <code>VerificationCaseUsage</code> is a </code>Usage</code> of a <code>VerificationCaseDefinition</code>.</p> - - - - <p>The <code>verifiedRequirements</code> of a <code>VerificationCaseUsage</code> are the <code>verifiedRequirements</code> of its <code>RequirementVerificationMemberships</code>.</p> - - - OCL2.0 - verifiedRequirement = - if objectiveRequirement = null then OrderedSet{} - else - objectiveRequirement.featureMembership-> - selectByKind(RequirementVerificationMembership). - verifiedRequirement->asOrderedSet() - endif - - - - - <p>A <code>VerificationCaseUsage</code> must subset, directly or indirectly, the base <code>VerificationCaseUsage</code> <code><em>VerificationCases::verificationCases</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('VerificationCases::verificationCases') - - - - - If it is composite and owned by a <code>VerificationCaseDefinition</code> or <code>VerificationCaseUsage</code>, then it must specialize <code>VerificationCaseUsage</code> <code><em>VerificationCases::VerificationCase::subVerificationCases</code>.</p> - - - OCL2.0 - isComposite and owningType <> null and - (owningType.oclIsKindOf(VerificationCaseDefinition) or - owningType.oclIsKindOf(VerificationCaseUsage)) implies - specializesFromLibrary('VerificationCases::VerificationCase::subVerificationCases') - - - - - - <p>The <code>VerificationCase</code> that is the <code>definition</code> of this <code>VerificationCaseUsage</code>.</p> - - - - - - - <p>The <code>RequirementUsages</code> verified by this <code>VerificationCaseUsage</code>, which are the <code>verifiedRequirements</code> of all <code>RequirementVerificationMemberships</code> of the <code>objectiveRequirement</code>.</p> - - - - - - - - - <p>The RequirementVerificationMembership that owns a certain RequirementUsage as its <code>ownedRequirement</code>.</p> - - - - - - - - <p>A <code>RequirementVerificationMembership</code> is a <code>RequirementConstraintMembership </code> used in the objective of a <code>VerificationCase</code> to identify a <code>RequirementUsage</code> that is verified by the <code>VerificationCase</code>.</p> - - - - <p>A <code>RequirementVerificationMembership</code> must have <code>kind = requirement</code>.</p> - - - OCL2.0 - kind = RequirementConstraintKind::requirement - - - - - <p>The <code>owningType</code> of a <code>RequirementVerificationMembership</code> must a <code>RequirementUsage</code> that is owned by an <code>ObjectiveMembership</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(RequirementUsage) and -owningType.owningFeatureMembership <> null and -owningType.owningFeatureMembership.oclIsKindOf(ObjectiveMembership) - - - - - - <p>The owned <code>RequirementUsage</code> that acts as the <code>ownedConstraint</code> for this <code>RequirementVerificationMembership</code>. This will either be the <code>verifiedRequirement</code>, or it will subset the <code>verifiedRequirement</code>.</p> - - - - - - - <p>The <code>kind</code> of a <code>RequirementVerificationMembership</code> must be <code>requirement</code>.</p> - - - - - - <p> The <code>RequirementUsage</code> that is identified as being verified. It is the <code>referencedConstraint</code> of the <code>RequirementVerificationMembership</code> considered as a <code>RequirementConstraintMembership</code>, which must be a <code>RequirementUsage</code>.</p> - - - - - - - - - <p>The VerificationCaseUsages that verify a certain <code>verifiedRequirement</code>.</p> - - - - - - - - - <p>The VerificationCaseDefinitions that verify a certain <code>verifiedRequirement</code>.</p> - - - - - - - - - <p>The RequirementVerificationMembership that has a certain RequirementUsage as its <code>verifiedRequirement</code>.</p> - - - - - - - - - - <p>An <code>EnumerationDefinition</code> is an <code>AttributeDefinition</code> all of whose instances are given by an explicit list of <code>enumeratedValues</code>. This is realized by requiring that the <code>EnumerationDefinition</code> have <code>isVariation = true</code>, with the <code>enumeratedValues</code> being its <code>variants</code>.</p> - - - - <p>An <code>EnumerationDefinition</code> must be a variation.</p> - - - OCL2.0 - isVariation - - - - - - <p><code>EnumerationUsages</code> of this <code>EnumerationDefinition</code>that have distinct, fixed values. Each <code>enumeratedValue</code> specifies one of the allowed instances of the <code>EnumerationDefinition</code>.</p> - - - - - - - <p>An EnumerationDefinition is considered semantically to be a variation whose allowed variants are its <code>enumerationValues</code>.</p> - - - - - - - - <p>An <code>EnumerationUsage</code> is an <code>AttributeUsage</code> whose <code>attributeDefinition</code> is an <code>EnumerationDefinition</code>.</p> - - - - - <p>The single EnumerationDefinition that is the type of this EnumerationUsage.</p> - - - - - - - - - <p>The EnumerationDefinition that owns a certain <code>enumeratedValue</code>.</p> - - - - - - - - - <p>The EnumerationUsages that are typed by a certain EnumerationDefinition.</p> - - - - - - - - - - - <p>The AllocationUsages that have a certain AllocationDefinition as their <code>allocationDefinition</code>.</p> - - - - - - - - <p>An <code>AllocationDefinition</code> is a <code>ConnectionDefinition</code> that specifies that some or all of the responsibility to realize the intent of the <code>source</code> is allocated to the <code>target</code> instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An <code>AllocationDefinition</code> can itself be refined using nested <code>allocations</code> that give a finer-grained decomposition of the containing allocation mapping.</p> - - - - <p> The <code>allocations</code> of an <code>AllocationDefinition</code> are all its <code>usages</code> that are <code>AllocationUsages</code>.</p> - - - OCL2.0 - allocation = usage->selectAsKind(AllocationUsage) - - - - - <p>An <code>AllocationDefinition</code> must directly or indirectly specialize the <code>AllocationDefinition</code> <em><code>Allocations::Allocation</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Allocations::Allocation') - - - - - - <p>The <code>AllocationUsages</code> that refine the allocation mapping defined by this <code>AllocationDefinition</code>.</p> - - - - - - - - <p>An <code>AllocationUsage</code> is a usage of an <code>AllocationDefinition</code> asserting the allocation of the <code>source</code> feature to the <code>target</code> feature.</p> - - - - <p>An <code>AllocationUsage</code> must directly or indirectly specialize the <code>AllocationUsage</code> <em><code>Allocations::allocations</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Allocations::allocations') - - - - - - <p>The <code>AllocationDefinitions</code> that are the types of this <code>AllocationUsage</code>.</p> - - - - - - - - - <p>The AllocationDefinitions that feature a certain <code>allocation</code>.</p> - - - - - - - - - - - <p>The <code>OccurrenceUsage</code> that has a certain <code>individualDefinition</code>.</p> - - - - - - - - <p><code>PortionKind</code> is an enumeration of the specific kinds of <code><em>Occurrence</em></code> portions that can be represented by an <code>OccurrenceUsage</code>.</p> - - - - <p>A time slice of an <code>Occurrence</code> (a portion over time).</p> - - - - - <p>A snapshot of an <code>Occurrence</code> (a time slice with zero duration).</p> - - - - - - <p>An <code>OccurrenceUsage</code> is a <code>Usage</code> whose <code>types</code> are all <code>Classes</code>. Nominally, if a <code>type</code> is an <code>OccurrenceDefinition</code>, an <code>OccurrenceUsage</code> is a <code>Usage</code> of that <code>OccurrenceDefinition</code> within a system. However, other types of Kernel <code>Classes</code> are also allowed, to permit use of <code>Classes</code> from the Kernel Model Libraries.</p> - - - - - <p>The <code>individualDefinition</code> of an <code>OccurrenceUsage</code> is the <code>occurrenceDefinition</code> that is an <code>OccurrenceDefinition</code> with <code>isIndividual = true</code>, if any.</p> - - - OCL2.0 - individualDefinition = - let individualDefinitions : OrderedSet(OccurrenceDefinition) = - occurrenceDefinition-> - selectByKind(OccurrenceDefinition)-> - select(isIndividual) in - if individualDefinitions->isEmpty() then null - else individualDefinitions->first() endif - - - - - <p>If an <code>OccurrenceUsage</code> has <code>isIndividual = true</code>, then it must have an <code>individualDefinition</code>.</p> - - - OCL2.0 - isIndividual implies individualDefinition <> null - - - - - <p>An <code>OccurrenceUsage</code> must directly or indirectly specialize <code><em>Occurrences::occurrences</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Occurrences::occurrences') - - - - - <p>A composite <code>OccurrenceUsage</code>, whose <code>ownedType</code> is a <code>Class</code>, another <code>OccurrenceUsage</code>, or any kind of <code>Feature</code> typed by a <code>Class</code>, must directly or indirectly specialize <em><code>Occurrences::Occurrence::suboccurrences</code></em>. - - - OCL2.0 - isComposite and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(OccurrenceUsage) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKind(Class))) implies - specializesFromLibrary('Occurrences::Occurrence::suboccurrences') - - - - - <p>An <code>OccurrenceUsage</code> must have at most one <code>occurrenceDefinition</code> with <code>isIndividual = true</code>.</p> - - - OCL2.0 - occurrenceDefinition-> - selectByKind(OccurrenceDefinition)-> - select(isIndividual).size() <= 1 - - - - - <p>If an <code>OccurrenceUsage</code> has <code>portionKind = snapshot</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::snapshots</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - portionKind = PortionKind::snapshot implies - specializesFromLibrary('Occurrences::Occurrence::snapshots') - - - - - <p>If an <code>OccurrenceUsage</code> has <code>portionKind = timeslice</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::timeSlices</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - portionKind = PortionKind::timeslice implies - specializesFromLibrary('Occurrences::Occurrence::timeSlices') - - - - - <p>If an <code>OccurrenceUsage</code> has a non-null <code>portionKind</code>, then its <code>owningType</code> must be an <code>OccurrenceDefinition</code> or an <code>OccurrenceUsage</code>.</p> - - - OCL2.0 - portionKind <> null implies - owningType <> null and - (owningType.oclIsKindOf(OccurrenceDefinition) or - owningType.oclIsKindOf(OccurrenceUsage)) - - - - - <p>If an <code>OccurrenceUsage</code> has a non-null <code>portionKind</code>, then it must have <code>isPortion = true</code>.</p> - - - OCL2.0 - portionKind <> null implies isPortion - - - - - - <p>The <code>Classes</code> that are the types of this <code>OccurrenceUsage</code>. Nominally, these are <code>OccurrenceDefinitions</code>, but other kinds of kernel <code>Classes</code> are also allowed, to permit use of <code>Classes</code> from the Kernel Model Libraries.</p> - - - - - - - - <p>The at most one <code>occurrenceDefinition</code> that has <code>isIndividual = true</code>.</p> - - - - - - - <p>Whether this <code>OccurrenceUsage</code> represents the usage of the specific individual represented by its <code>individualDefinition</code>.</p> - - - - - - - <p>The kind of temporal portion (time slice or snapshot) is represented by this <code>OccurrenceUsage</code>. If <code>portionKind</code> is not null, then the <code>owningType</code> of the <code>OccurrenceUsage</code> must be non-null, and the <code>OccurrenceUsage</code> represents portions of the featuring instance of the <code>owningType</code>.</p> - - - - - - - - - <p>The EventOccurrenceUsages that reference a certain <code>eventOccurrence</code>.</p> - - - - - - - - <p>An <code>OccurrenceDefinition</code> is a <code>Definition</code> of a <code>Class</code> of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures. If <code>isIndividual</code> is true, then the <code>OccurrenceDefinition</code> is constrained to have (at most) a single instance that is the entire life of a single individual.</p> - - - - <p>An <code>OccurrenceDefinition</code> with <code>isIndividual = true</code> must directly or indirectly specialize <em><code>Occurrences::Life</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - isIndividual implies specializesFromLibrary('Occurrences::Life') - - - - - <p>An <code>OccurrenceDefinition</code> with <code>isIndividual = true</code> must have a <code>multiplicity</code> that specializes <em><code>Base::zeroOrOne</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - isIndividual implies - multiplicity <> null and - multiplicity.specializesFromLibrary('Base::zeroOrOne') - - - - - - - - - <p>Whether this <code>OccurrenceDefinition</code> is constrained to represent at most one thing.</p> - - - - - - - - - <p>The <code>OccurrenceUsages</code> being typed by a certain <code>Class</code>.</p> - - - - - - - - <p>An <code>EventOccurrenceUsage</code> is an <code>OccurrenceUsage</code> that represents another <code>OccurrenceUsage</code> occurring as a <code><em>suboccurrence</em></code> of the containing occurrence of the <code>EventOccurrenceUsage</code>. Unless it is the <code>EventOccurrenceUsage</code> itself, the referenced <code>OccurrenceUsage</code> is related to the <code>EventOccurrenceUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>.</p> + + + + + <p>A <code>RenderingUsage</code> must directly or indirectly specialize the base <code>RenderingUsage</code> <code><em>Views::renderings</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Views::renderings') + + + + + <p>A <code>RenderingUsage</code> whose <code>owningType</code> is a <code>RenderingDefinition</code> or <code>RenderingUsage</code> must directly or indirectly specialize the <code>RenderingUsage</code> <code><em>Views::Rendering::subrenderings</em></code> from the Systems Model Library.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(RenderingDefinition) or + owningType.oclIsKindOf(RenderingUsage)) implies + specializesFromLibrary('Views::Rendering::subrenderings') + + + + + <p>A <code>RenderingUsage</code> whose <code>owningFeatureMembership</code> is a <code>ViewRenderingMembership</code> must redefine the <code>RenderingUsage</code> <code><em>Views::View::viewRendering</em></code>.</p> + + + OCL2.0 + owningFeatureMembership <> null and + owningFeatureMembership.oclIsKindOf(ViewRenderingMembership) implies + redefinesFromLibrary('Views::View::viewRendering') + + + + + + <p>The <code>RenderingDefinition</code> that is the <code>definition</code> of this <code>RenderingUsage</code>.</p> + + + + + + + + + <p>The ViewUsage that owns a certain <code>viewCondition</code>.</p> + + + + + + + + + + <p>The ViewDefinition that owns a certain <code>viewCondition</code>.</p> + + + + + + + + + + <p>The ViewpointDefinition that has a certain <code>viewpointStakeholder</code>.</p> + + + + + + + + + + + + + + <p>A <code>ViewRenderingMembership</code> is a <coed>FeatureMembership</code> that identifies the <code>viewRendering</code> of a <code>ViewDefinition</code> or <code>ViewUsage</code>.</p> + + + + <p>The <code>referencedRendering</code> of a <code>ViewRenderingMembership</code> is the the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> (which must be a <code>RenderingUsage</code>) of the <code>ownedRendering</code>, if there is one, and, otherwise, the <code>ownedRendering</code> itself.</p> + + + OCL2.0 + referencedRendering = + let referencedFeature : Feature = + ownedRendering.referencedFeatureTarget() in + if referencedFeature = null then ownedRendering + else if referencedFeature.oclIsKindOf(RenderingUsage) then + refrencedFeature.oclAsType(RenderingUsage) + else null + endif endif + + + + + <p>The <code>owningType</code> of a <code>ViewRenderingMembership</code> must be a <code>ViewDefinition</code> or a <code>ViewUsage</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(ViewDefinition) or + owningType.oclIsKindOf(ViewUsage) + + + + + + + + <p>The owned <code>RenderingUsage</code> that is either itself the <code>referencedRendering</code> or subsets the <code>referencedRendering</code>. + + + + + + + + <p> The <code>RenderingUsage</code> that is referenced through this <code>ViewRenderingMembership</code>. It is the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>ownedRendering</code>, if there is one, and, otherwise, the <code>ownedRendering</code> itself.</p> + + + + + + + + + <p>The ViewpointUsage that has a certain <code>viewpointStakeholder</code>.</p> + + + + + + + + + + + + + + <p>A <code>NamespaceExpose</code> is an <code>Expose</code> <code>Relationship</code> that exposes the <code>Memberships</code> of a specific <code>importedNamespace</code> and, if <code>isRecursive = true</code>, additional <code>Memberships</code> recursively.</p> + + + + + + + + + <p>A <code>MembershipExpose</code> is an <code>Expose</code> <code.Relationship</code> that exposes a specific <code>importedMembership</code> and, if <code>isRecursive = true</code>, additional <code>Memberships</code> recursively.</p> + + + + + + + + + + + <p>A <code>VerificationCaseDefinition</code> is a <code>CaseDefinition</code> for the purpose of verification of the subject of the case against its requirements.</p> + + + + <p>The <code>verifiedRequirements</code> of a <code>VerificationCaseDefinition</code> are the <code>verifiedRequirements</code> of its <code>RequirementVerificationMemberships</code>.</p> + + + OCL2.0 + verifiedRequirement = + if objectiveRequirement = null then OrderedSet{} + else + objectiveRequirement.featureMembership-> + selectByKind(RequirementVerificationMembership). + verifiedRequirement->asOrderedSet() + endif + + + + + <p>A <code>VerificationCaseDefinition</code> must directly or indirectly specialize the base <code>VerificationCaseDefinition</code> <em><code>VerificationCases::VerificationCase</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('VerificationCases::VerificationCase') + + + + + + <p>The <code>RequirementUsages</code> verified by this <code>VerificationCaseDefinition</code>, which are the <code>verifiedRequirements</code> of all <code>RequirementVerificationMemberships</code> of the <code>objectiveRequirement</code>.</p> + + + + + + + + + <p>The VerificationUsages that are defined by a certain <code>verificationCaseDefinition</code>.</p> + + + + + + + + <p>A <code>VerificationCaseUsage</code> is a </code>Usage</code> of a <code>VerificationCaseDefinition</code>.</p> + + + + <p>The <code>verifiedRequirements</code> of a <code>VerificationCaseUsage</code> are the <code>verifiedRequirements</code> of its <code>RequirementVerificationMemberships</code>.</p> + + + OCL2.0 + verifiedRequirement = + if objectiveRequirement = null then OrderedSet{} + else + objectiveRequirement.featureMembership-> + selectByKind(RequirementVerificationMembership). + verifiedRequirement->asOrderedSet() + endif + + + + + <p>A <code>VerificationCaseUsage</code> must subset, directly or indirectly, the base <code>VerificationCaseUsage</code> <code><em>VerificationCases::verificationCases</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('VerificationCases::verificationCases') + + + + + If it is composite and owned by a <code>VerificationCaseDefinition</code> or <code>VerificationCaseUsage</code>, then it must specialize <code>VerificationCaseUsage</code> <code><em>VerificationCases::VerificationCase::subVerificationCases</code>.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(VerificationCaseDefinition) or + owningType.oclIsKindOf(VerificationCaseUsage)) implies + specializesFromLibrary('VerificationCases::VerificationCase::subVerificationCases') + + + + + + <p>The <code>VerificationCase</code> that is the <code>definition</code> of this <code>VerificationCaseUsage</code>.</p> + + + + + + + <p>The <code>RequirementUsages</code> verified by this <code>VerificationCaseUsage</code>, which are the <code>verifiedRequirements</code> of all <code>RequirementVerificationMemberships</code> of the <code>objectiveRequirement</code>.</p> + + + + + + + + + <p>The RequirementVerificationMembership that owns a certain RequirementUsage as its <code>ownedRequirement</code>.</p> + + + + + + + + <p>A <code>RequirementVerificationMembership</code> is a <code>RequirementConstraintMembership </code> used in the objective of a <code>VerificationCase</code> to identify a <code>RequirementUsage</code> that is verified by the <code>VerificationCase</code>.</p> + + + + <p>A <code>RequirementVerificationMembership</code> must have <code>kind = requirement</code>.</p> + + + OCL2.0 + kind = RequirementConstraintKind::requirement + + + + + <p>The <code>owningType</code> of a <code>RequirementVerificationMembership</code> must a <code>RequirementUsage</code> that is owned by an <code>ObjectiveMembership</code>.</p> + + + OCL2.0 + owningType.oclIsKindOf(RequirementUsage) and + owningType.owningFeatureMembership <> null and + owningType.owningFeatureMembership.oclIsKindOf(ObjectiveMembership) + + + + + + <p>The owned <code>RequirementUsage</code> that acts as the <code>ownedConstraint</code> for this <code>RequirementVerificationMembership</code>. This will either be the <code>verifiedRequirement</code>, or it will subset the <code>verifiedRequirement</code>.</p> + + + + + + + <p>The <code>kind</code> of a <code>RequirementVerificationMembership</code> must be <code>requirement</code>.</p> + + + + + + <p> The <code>RequirementUsage</code> that is identified as being verified. It is the <code>referencedConstraint</code> of the <code>RequirementVerificationMembership</code> considered as a <code>RequirementConstraintMembership</code>, which must be a <code>RequirementUsage</code>.</p> + + + + + + + + + <p>The VerificationCaseUsages that verify a certain <code>verifiedRequirement</code>.</p> + + + + + + + + + <p>The VerificationCaseDefinitions that verify a certain <code>verifiedRequirement</code>.</p> + + + + + + + + + <p>The RequirementVerificationMembership that has a certain RequirementUsage as its <code>verifiedRequirement</code>.</p> + + + + + + + + + + <p>An <code>EnumerationDefinition</code> is an <code>AttributeDefinition</code> all of whose instances are given by an explicit list of <code>enumeratedValues</code>. This is realized by requiring that the <code>EnumerationDefinition</code> have <code>isVariation = true</code>, with the <code>enumeratedValues</code> being its <code>variants</code>.</p> + + + + <p>An <code>EnumerationDefinition</code> must be a variation.</p> + + + OCL2.0 + isVariation + + + + + + <p><code>EnumerationUsages</code> of this <code>EnumerationDefinition</code>that have distinct, fixed values. Each <code>enumeratedValue</code> specifies one of the allowed instances of the <code>EnumerationDefinition</code>.</p> + + + + + + + <p>An EnumerationDefinition is considered semantically to be a variation whose allowed variants are its <code>enumerationValues</code>.</p> + + + + + + + + <p>An <code>EnumerationUsage</code> is an <code>AttributeUsage</code> whose <code>attributeDefinition</code> is an <code>EnumerationDefinition</code>.</p> + + + + + <p>The single EnumerationDefinition that is the type of this EnumerationUsage.</p> + + + + + + + + + <p>The EnumerationDefinition that owns a certain <code>enumeratedValue</code>.</p> + + + + + + + + + <p>The EnumerationUsages that are typed by a certain EnumerationDefinition.</p> + + + + + + + + + + + <p>The AllocationUsages that have a certain AllocationDefinition as their <code>allocationDefinition</code>.</p> + + + + + + + + <p>An <code>AllocationDefinition</code> is a <code>ConnectionDefinition</code> that specifies that some or all of the responsibility to realize the intent of the <code>source</code> is allocated to the <code>target</code> instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An <code>AllocationDefinition</code> can itself be refined using nested <code>allocations</code> that give a finer-grained decomposition of the containing allocation mapping.</p> + + + + <p> The <code>allocations</code> of an <code>AllocationDefinition</code> are all its <code>usages</code> that are <code>AllocationUsages</code>.</p> + + + OCL2.0 + allocation = usage->selectAsKind(AllocationUsage) + + + + + <p>An <code>AllocationDefinition</code> must directly or indirectly specialize the <code>AllocationDefinition</code> <em><code>Allocations::Allocation</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Allocations::Allocation') + + + + + + <p>The <code>AllocationUsages</code> that refine the allocation mapping defined by this <code>AllocationDefinition</code>.</p> + + + + + + + + <p>An <code>AllocationUsage</code> is a usage of an <code>AllocationDefinition</code> asserting the allocation of the <code>source</code> feature to the <code>target</code> feature.</p> + + + + <p>An <code>AllocationUsage</code> must directly or indirectly specialize the <code>AllocationUsage</code> <em><code>Allocations::allocations</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Allocations::allocations') + + + + + + <p>The <code>AllocationDefinitions</code> that are the types of this <code>AllocationUsage</code>.</p> + + + + + + + + + <p>The AllocationDefinitions that feature a certain <code>allocation</code>.</p> + + + + + + + + + + + <p>The <code>OccurrenceUsage</code> that has a certain <code>individualDefinition</code>.</p> + + + + + + + + <p><code>PortionKind</code> is an enumeration of the specific kinds of <code><em>Occurrence</em></code> portions that can be represented by an <code>OccurrenceUsage</code>.</p> + + + + <p>A time slice of an <code>Occurrence</code> (a portion over time).</p> + + + + + <p>A snapshot of an <code>Occurrence</code> (a time slice with zero duration).</p> + + + + + + <p>An <code>OccurrenceUsage</code> is a <code>Usage</code> whose <code>types</code> are all <code>Classes</code>. Nominally, if a <code>type</code> is an <code>OccurrenceDefinition</code>, an <code>OccurrenceUsage</code> is a <code>Usage</code> of that <code>OccurrenceDefinition</code> within a system. However, other types of Kernel <code>Classes</code> are also allowed, to permit use of <code>Classes</code> from the Kernel Model Libraries.</p> + + + + + <p>The <code>individualDefinition</code> of an <code>OccurrenceUsage</code> is the <code>occurrenceDefinition</code> that is an <code>OccurrenceDefinition</code> with <code>isIndividual = true</code>, if any.</p> + + + OCL2.0 + individualDefinition = + let individualDefinitions : OrderedSet(OccurrenceDefinition) = + occurrenceDefinition-> + selectByKind(OccurrenceDefinition)-> + select(isIndividual) in + if individualDefinitions->isEmpty() then null + else individualDefinitions->first() endif + + + + + <p>If an <code>OccurrenceUsage</code> has <code>isIndividual = true</code>, then it must have an <code>individualDefinition</code>.</p> + + + OCL2.0 + isIndividual implies individualDefinition <> null + + + + + <p>An <code>OccurrenceUsage</code> must directly or indirectly specialize <code><em>Occurrences::occurrences</em></code> from the Kernel Semantic Library.</p> + + + OCL2.0 + specializesFromLibrary('Occurrences::occurrences') + + + + + <p>A composite <code>OccurrenceUsage</code>, whose <code>ownedType</code> is a <code>Class</code>, another <code>OccurrenceUsage</code>, or any kind of <code>Feature</code> typed by a <code>Class</code>, must directly or indirectly specialize <em><code>Occurrences::Occurrence::suboccurrences</code></em>. + + + OCL2.0 + isComposite and + owningType <> null and + (owningType.oclIsKindOf(Class) or + owningType.oclIsKindOf(OccurrenceUsage) or + owningType.oclIsKindOf(Feature) and + owningType.oclAsType(Feature).type-> + exists(oclIsKind(Class))) implies + specializesFromLibrary('Occurrences::Occurrence::suboccurrences') + + + + + <p>An <code>OccurrenceUsage</code> must have at most one <code>occurrenceDefinition</code> with <code>isIndividual = true</code>.</p> + + + OCL2.0 + occurrenceDefinition-> + selectByKind(OccurrenceDefinition)-> + select(isIndividual).size() <= 1 + + + + + <p>If an <code>OccurrenceUsage</code> has <code>portionKind = snapshot</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::snapshots</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + portionKind = PortionKind::snapshot implies + specializesFromLibrary('Occurrences::Occurrence::snapshots') + + + + + <p>If an <code>OccurrenceUsage</code> has <code>portionKind = timeslice</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::timeSlices</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + portionKind = PortionKind::timeslice implies + specializesFromLibrary('Occurrences::Occurrence::timeSlices') + + + + + <p>If an <code>OccurrenceUsage</code> has a non-null <code>portionKind</code>, then its <code>owningType</code> must be an <code>OccurrenceDefinition</code> or an <code>OccurrenceUsage</code>.</p> + + + OCL2.0 + portionKind <> null implies + owningType <> null and + (owningType.oclIsKindOf(OccurrenceDefinition) or + owningType.oclIsKindOf(OccurrenceUsage)) + + + + + <p>If an <code>OccurrenceUsage</code> has a non-null <code>portionKind</code>, then it must have <code>isPortion = true</code>.</p> + + + OCL2.0 + portionKind <> null implies isPortion + + + + + + <p>The <code>Classes</code> that are the types of this <code>OccurrenceUsage</code>. Nominally, these are <code>OccurrenceDefinitions</code>, but other kinds of kernel <code>Classes</code> are also allowed, to permit use of <code>Classes</code> from the Kernel Model Libraries.</p> + + + + + + + + <p>The at most one <code>occurrenceDefinition</code> that has <code>isIndividual = true</code>.</p> + + + + + + + <p>Whether this <code>OccurrenceUsage</code> represents the usage of the specific individual represented by its <code>individualDefinition</code>.</p> + + + + + + + <p>The kind of temporal portion (time slice or snapshot) is represented by this <code>OccurrenceUsage</code>. If <code>portionKind</code> is not null, then the <code>owningType</code> of the <code>OccurrenceUsage</code> must be non-null, and the <code>OccurrenceUsage</code> represents portions of the featuring instance of the <code>owningType</code>.</p> + + + + + + + + + <p>The EventOccurrenceUsages that reference a certain <code>eventOccurrence</code>.</p> + + + + + + + + <p>An <code>OccurrenceDefinition</code> is a <code>Definition</code> of a <code>Class</code> of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures. If <code>isIndividual</code> is true, then the <code>OccurrenceDefinition</code> is constrained to have (at most) a single instance that is the entire life of a single individual.</p> + + + + <p>An <code>OccurrenceDefinition</code> with <code>isIndividual = true</code> must directly or indirectly specialize <em><code>Occurrences::Life</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + isIndividual implies specializesFromLibrary('Occurrences::Life') + + + + + <p>An <code>OccurrenceDefinition</code> with <code>isIndividual = true</code> must have a <code>multiplicity</code> that specializes <em><code>Base::zeroOrOne</code></em> from the Kernel Semantic Library.</p> + + + OCL2.0 + isIndividual implies + multiplicity <> null and + multiplicity.specializesFromLibrary('Base::zeroOrOne') + + + + + + + + + <p>Whether this <code>OccurrenceDefinition</code> is constrained to represent at most one thing.</p> + + + + + + + + + <p>The <code>OccurrenceUsages</code> being typed by a certain <code>Class</code>.</p> + + + + + + + + <p>An <code>EventOccurrenceUsage</code> is an <code>OccurrenceUsage</code> that represents another <code>OccurrenceUsage</code> occurring as a <code><em>suboccurrence</em></code> of the containing occurrence of the <code>EventOccurrenceUsage</code>. Unless it is the <code>EventOccurrenceUsage</code> itself, the referenced <code>OccurrenceUsage</code> is related to the <code>EventOccurrenceUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>.</p> -<p>If the <code>EventOccurrenceUsage</code> is owned by an <code>OccurrenceDefinition</code> or <code>OccurrenceUsage</code>, then it also subsets the <em><code>timeEnclosedOccurrences</code></em> property of the <code>Class</code> <em><code>Occurrence</code></em> from the Kernel Semantic Library model <em><code>Occurrences</code></em>.</p> - - - - <p>If an <code>EventOccurrenceUsage</code> has no <code>ownedReferenceSubsetting</code>, then its <code>eventOccurrence</code> is the <code>EventOccurrenceUsage</code> itself. Otherwise, the <code>eventOccurrence</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> (which must be an <code>OccurrenceUsage</code>).</p> - - - OCL2.0 - eventOccurrence = - if referencedFeatureTarget() = null then self - else if referencedFeatureTarget().oclIsKindOf(OccurrenceUsage) then - referencedFeatureTarget().oclAsType(OccurrenceUsage) - else null - endif endif - - - - - <p>If an <code>EventOccurrenceUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be an <code>OccurrenceUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(OccurrenceUsage) - - - - - <p>If an <code>EventOccurrenceUsage</code> has an <code>owningType</code> that is an <code>OccurrenceDefinition</code> or <code>OccurrenceUsage</code>, then it must directly or indirectly specialize the <code>Feature</code> <code><em>Occurrences::Occurrence::timeEnclosedOccurrences</em></code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(OccurrenceDefinition) or - owningType.oclIsKindOf(OccurrenceUsage)) implies - specializesFromLibrary('Occurrences::Occurrence::timeEnclosedOccurrences') - - - - - <p>An <code>EventOccurrenceUsage</code> must be referential.</p> - - - OCL2.0 - isReference - - - - - - <p>The <code>OccurrenceUsage</code> referenced as an event by this <code>EventOccurrenceUsage</code>. It is the <code>referenceFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>EventOccurrenceUsage</code>, if there is one, and, otherwise, the <code>EventOccurrenceUsage</code> itself.</p> - - - - - - - <p>Always true for an <code>EventOccurrenceUsage</code>.</p> - - - - - - - - - - - <p>The UseCaseDefinition that includes a certain <code>includedUseCase</code>.</p> - - - - - - - - - <p>The UseCaseUsage that includes a certain <code>includedUseCase</code>.</p> - - - - - - - - <p>An <code>IncludeUseCaseUsage</code> is a <code>UseCaseUsage</code> that represents the inclusion of a <code>UseCaseUsage</code> by a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code>. Unless it is the <code>IncludeUseCaseUsage</code> itself, the <code>UseCaseUsage</code> to be included is related to the <code>includedUseCase</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>. An <code>IncludeUseCaseUsage</code> is also a PerformActionUsage, with its <code>useCaseIncluded</code> as the <code>performedAction</code>.</p> - - - - - <p>A <code>IncludeUseCaseUsage</code> whose <code>owningType</code> is a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code> must directly or indirectly specialize the <code>UseCaseUsage</code> <em><code>UseCases::UseCase::includedUseCases</code></em> from the Systems Model Library.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(UseCaseDefinition) or - owningType.oclIsKindOf(UseCaseUsage) implies - specializesFromLibrary('UseCases::UseCase::includedUseCases') - - - - - <p>If an <code>IncludeUseCaseUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be a <code>UseCaseUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(UseCaseUsage) - - - - - - - <p>The <code>UseCaseUsage</code> to be included by this <code>IncludeUseCaseUsage</code>. It is the <code>performedAction</code> of the <code>IncludeUseCaseUsage</code> considered as a <code>PerformActionUsage</code>, which must be a <code>UseCaseUsage</code>.</p> - - - - - - - - - - <p>The IncludeUseCaseUsages that have a certain UseCaseUsage as their <code>includedUseCase</code>.</p> - - - - - - - - - <p>The UseCaseUsages being typed by a certain UseCaseDefinition.</p> - - - - - - - - <p>A <code>UseCaseUsage</code> is a <code>Usage</code> of a <code>UseCaseDefinition</code>.</p> - - - - <p>The <code>includedUseCases<code> of a <code>UseCaseUsage</code> are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by the <code>UseCaseUsage<code>.</p> - - - OCL2.0 - includedUseCase = ownedUseCase-> - selectByKind(IncludeUseCaseUsage). - useCaseIncluded - - - - - <p>A <code>UseCaseUsage</code> must directly or indirectly specializes the base <code>UseCaseUsage</code> <em><code>UseCases::useCases</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('UseCases::useCases') - - - - - <p>A composite <code>UseCaseUsage</code> whose <code>owningType</code> is a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code> must specialize the <code>UseCaseUsage</code> <em><code>UseCases::UseCase::subUseCases</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(UseCaseDefinition) or - owningType.oclIsKindOf(UseCaseUsage)) implies - specializesFromLibrary('UseCases::UseCase::subUseCases') - - - - - - <p>The <code>UseCaseDefinition</code> that is the <code>definition</code> of this <code>UseCaseUsage</code>.</p> - - - - - - - <p>The <code>UseCaseUsages</code> that are included by this <code>UseCaseUse</code>, which are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by this <code>UseCaseUsage<code>.</p> - - - - - - - - <p>A <code>UseCaseDefinition</code> is a <code>CaseDefinition</code> that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors.</p> - - - - - <p>The <code>includedUseCases<code> of a <code>UseCaseDefinition</code> are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by the <code>UseCaseDefinition<code>.</p> - - - OCL2.0 - includedUseCase = ownedUseCase-> - selectByKind(IncludeUseCaseUsage). - useCaseIncluded - - - - - <p>A <code>UseCaseDefinition</code> must directly or indirectly specializes the base <code>UseCaseDefinition</code> <code><em>UseCases::UseCase</em></code> from the Systems Model Library.</p> - - - - - - OCL2.0 - specializesFromLibrary('UseCases::UseCase') - - - - - - <p>The <code>UseCaseUsages</code> that are included by this <code>UseCaseDefinition</code>, which are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by this <code>UseCaseDefinition<code>.</p> - - - - - - - - - - - - - - - - - - <p>A <code>MetadataDefinition</code> is an <code>ItemDefinition</code> that is also a <code>Metaclass</code>.</p> - - - - <p>A <code>MetadataDefinition</code> must directly or indirectly specialize the base <code>MetadataDefinition</code> <code><em>Metadata::MetadataItem</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Metadata::MetadataItem') - - - - - - - - - - <p>A <code>MetadataUsage</code> is a <code>Usage</code> and a <code>MetadataFeature</code>, used to annotate other <code>Elements</code> in a system model with metadata. As a <code>MetadataFeature</code>, its type must be a <code>Metaclass</code>, which will nominally be a <code>MetadataDefinition</code>. However, any kernel <code>Metaclass</code> is also allowed, to permit use of <code>Metaclasses</code> from the Kernel Model Libraries.</p> - - - - <p>A <code>MetadataUsage</code> must directly or indirectly specialize the base <code>MetadataUsage</code> <code><em>Metadata::metadataItems</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Metadata::metadataItems') - - - - - - - - - <p>The <code>MetadataDefinition</code> that is the <code>definition</code> of this <code>MetadataUsage</code>.</p> - - - - - - - - - - - - - <p>A <code>FlowUsage</code> is an <code>ActionUsage</code> that is also a <code>ConnectorAsUsage</code> and a KerML <code>Flow</code>.</p> - - - - <p>A <code>FlowUsage</code> must directly or indirectly specialize the base <code>FlowUsage</code> <em><code>Flows::messages</code></em> from the Systems Library model.</p> - - - OCL2.0 - specializesFromLibrary('Flows::messages') - - - - - <p>If a <code>FlowUsage</code> has <code>ownedEndFeatures</code>, it must directly or indirectly specialize the <code>FlowUsage</code> <em><code>Flows::flows</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeatures->notEmpty() implies - specializesFromLibrary('Flows::flows') - - - - - - - - - - <p>The <code>Interactions</code> that are the <code>types</code> of this <code>FlowUsage</code>. Nominally, these are <code>FlowDefinitions</code>, but other kinds of Kernel <code>Interactions</code> are also allowed, to permit use of Interactions from the Kernel Model Libraries.</p> - - - - - - - - - - - <p>A <code>FlowDefinition</code> is an <code>ActionDefinition</code> that is also an <code>Interaction</code> (which is both a KerML <code>Behavior</code> and <code>Association</code>), representing flows between <code>Usages</code>.</p> - - - - <p>A <code>FlowDefinition</code> must directly or indirectly specialize the base <code>FlowDefinition</code> <em><code>Flows::MessageAction</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Flows::MessageAction') - - - - - <p>A binary <code>FlowDefinition</code> must directly or indirectly specialize the base <code>FlowDefinition<code> <em><code>Flows::Message</code></em> from the Systems Model Library.</p> - - - OCL2.0 - flowEnd->size() = 2 implies - specializesFromLibrary('Flows::Message') - - - - - <p>A <code>FlowDefinition</code> may not have more than two <code>flowEnds</code>.</p> - - - OCL2.0 - flowEnd->size() <= 2 - - - - - - - - - <p>The <code>Usages</code> that define the things related by the <code>FlowDefinition</code>.</p> - - - - - - - - - - <p>The <code>FlowDefinitions<code> that have a certain Usage as <code>flowEnd</code>.</p> - - - - - - - - - - <p>The <code>FlowUsages<code> that have a certain <code>Interaction</code> as their <code>flowDefinition</code>.</p> - - - - - - - - <p>A <code>SuccessionFlowUsage</code> is a <code>FlowUsage</code> that is also a KerML <code>SuccessionFlow</code>.</p> - - - - <p>A <code>SuccessionFlowUsage</code> must directly or indirectly specialize the base <code>FlowUsage</code> <em><code>Flows::successionFlows</code></em> from the Systems Library model.</p> - - - OCL2.0 - specializesFromLibrary('Flows::successionFlows') - - - - - - - + <p>If the <code>EventOccurrenceUsage</code> is owned by an <code>OccurrenceDefinition</code> or <code>OccurrenceUsage</code>, then it also subsets the <em><code>timeEnclosedOccurrences</code></em> property of the <code>Class</code> <em><code>Occurrence</code></em> from the Kernel Semantic Library model <em><code>Occurrences</code></em>.</p> + + + + <p>If an <code>EventOccurrenceUsage</code> has no <code>ownedReferenceSubsetting</code>, then its <code>eventOccurrence</code> is the <code>EventOccurrenceUsage</code> itself. Otherwise, the <code>eventOccurrence</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> (which must be an <code>OccurrenceUsage</code>).</p> + + + OCL2.0 + eventOccurrence = + if referencedFeatureTarget() = null then self + else if referencedFeatureTarget().oclIsKindOf(OccurrenceUsage) then + referencedFeatureTarget().oclAsType(OccurrenceUsage) + else null + endif endif + + + + + <p>If an <code>EventOccurrenceUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be an <code>OccurrenceUsage</code>.</p> + + + OCL2.0 + referencedFeatureTarget() <> null implies + referencedFeatureTarget().oclIsKindOf(OccurrenceUsage) + + + + + <p>If an <code>EventOccurrenceUsage</code> has an <code>owningType</code> that is an <code>OccurrenceDefinition</code> or <code>OccurrenceUsage</code>, then it must directly or indirectly specialize the <code>Feature</code> <code><em>Occurrences::Occurrence::timeEnclosedOccurrences</em></code>.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(OccurrenceDefinition) or + owningType.oclIsKindOf(OccurrenceUsage)) implies + specializesFromLibrary('Occurrences::Occurrence::timeEnclosedOccurrences') + + + + + <p>An <code>EventOccurrenceUsage</code> must be referential.</p> + + + OCL2.0 + isReference + + + + + + <p>The <code>OccurrenceUsage</code> referenced as an event by this <code>EventOccurrenceUsage</code>. It is the <code>referenceFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>EventOccurrenceUsage</code>, if there is one, and, otherwise, the <code>EventOccurrenceUsage</code> itself.</p> + + + + + + + <p>Always true for an <code>EventOccurrenceUsage</code>.</p> + + + + + + + + + + + <p>The UseCaseDefinition that includes a certain <code>includedUseCase</code>.</p> + + + + + + + + + <p>The UseCaseUsage that includes a certain <code>includedUseCase</code>.</p> + + + + + + + + <p>An <code>IncludeUseCaseUsage</code> is a <code>UseCaseUsage</code> that represents the inclusion of a <code>UseCaseUsage</code> by a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code>. Unless it is the <code>IncludeUseCaseUsage</code> itself, the <code>UseCaseUsage</code> to be included is related to the <code>includedUseCase</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>. An <code>IncludeUseCaseUsage</code> is also a PerformActionUsage, with its <code>useCaseIncluded</code> as the <code>performedAction</code>.</p> + + + + + <p>A <code>IncludeUseCaseUsage</code> whose <code>owningType</code> is a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code> must directly or indirectly specialize the <code>UseCaseUsage</code> <em><code>UseCases::UseCase::includedUseCases</code></em> from the Systems Model Library.</p> + + + OCL2.0 + owningType <> null and + (owningType.oclIsKindOf(UseCaseDefinition) or + owningType.oclIsKindOf(UseCaseUsage) implies + specializesFromLibrary('UseCases::UseCase::includedUseCases') + + + + + <p>If an <code>IncludeUseCaseUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be a <code>UseCaseUsage</code>.</p> + + + OCL2.0 + referencedFeatureTarget() <> null implies + referencedFeatureTarget().oclIsKindOf(UseCaseUsage) + + + + + + + <p>The <code>UseCaseUsage</code> to be included by this <code>IncludeUseCaseUsage</code>. It is the <code>performedAction</code> of the <code>IncludeUseCaseUsage</code> considered as a <code>PerformActionUsage</code>, which must be a <code>UseCaseUsage</code>.</p> + + + + + + + + + + <p>The IncludeUseCaseUsages that have a certain UseCaseUsage as their <code>includedUseCase</code>.</p> + + + + + + + + + <p>The UseCaseUsages being typed by a certain UseCaseDefinition.</p> + + + + + + + + <p>A <code>UseCaseUsage</code> is a <code>Usage</code> of a <code>UseCaseDefinition</code>.</p> + + + + <p>The <code>includedUseCases<code> of a <code>UseCaseUsage</code> are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by the <code>UseCaseUsage<code>.</p> + + + OCL2.0 + includedUseCase = ownedUseCase-> + selectByKind(IncludeUseCaseUsage). + useCaseIncluded + + + + + <p>A <code>UseCaseUsage</code> must directly or indirectly specializes the base <code>UseCaseUsage</code> <em><code>UseCases::useCases</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('UseCases::useCases') + + + + + <p>A composite <code>UseCaseUsage</code> whose <code>owningType</code> is a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code> must specialize the <code>UseCaseUsage</code> <em><code>UseCases::UseCase::subUseCases</code></em> from the Systems Model Library.</p> + + + OCL2.0 + isComposite and owningType <> null and + (owningType.oclIsKindOf(UseCaseDefinition) or + owningType.oclIsKindOf(UseCaseUsage)) implies + specializesFromLibrary('UseCases::UseCase::subUseCases') + + + + + + <p>The <code>UseCaseDefinition</code> that is the <code>definition</code> of this <code>UseCaseUsage</code>.</p> + + + + + + + <p>The <code>UseCaseUsages</code> that are included by this <code>UseCaseUse</code>, which are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by this <code>UseCaseUsage<code>.</p> + + + + + + + + <p>A <code>UseCaseDefinition</code> is a <code>CaseDefinition</code> that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors.</p> + + + + + <p>The <code>includedUseCases<code> of a <code>UseCaseDefinition</code> are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by the <code>UseCaseDefinition<code>.</p> + + + OCL2.0 + includedUseCase = ownedUseCase-> + selectByKind(IncludeUseCaseUsage). + useCaseIncluded + + + + + <p>A <code>UseCaseDefinition</code> must directly or indirectly specializes the base <code>UseCaseDefinition</code> <code><em>UseCases::UseCase</em></code> from the Systems Model Library.</p> + + + + + + OCL2.0 + specializesFromLibrary('UseCases::UseCase') + + + + + + <p>The <code>UseCaseUsages</code> that are included by this <code>UseCaseDefinition</code>, which are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by this <code>UseCaseDefinition<code>.</p> + + + + + + + + + + + + + + + + + + <p>A <code>MetadataDefinition</code> is an <code>ItemDefinition</code> that is also a <code>Metaclass</code>.</p> + + + + <p>A <code>MetadataDefinition</code> must directly or indirectly specialize the base <code>MetadataDefinition</code> <code><em>Metadata::MetadataItem</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Metadata::MetadataItem') + + + + + + + + + + <p>A <code>MetadataUsage</code> is a <code>Usage</code> and a <code>MetadataFeature</code>, used to annotate other <code>Elements</code> in a system model with metadata. As a <code>MetadataFeature</code>, its type must be a <code>Metaclass</code>, which will nominally be a <code>MetadataDefinition</code>. However, any kernel <code>Metaclass</code> is also allowed, to permit use of <code>Metaclasses</code> from the Kernel Model Libraries.</p> + + + + <p>A <code>MetadataUsage</code> must directly or indirectly specialize the base <code>MetadataUsage</code> <code><em>Metadata::metadataItems</em></code> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Metadata::metadataItems') + + + + + + + + + <p>The <code>MetadataDefinition</code> that is the <code>definition</code> of this <code>MetadataUsage</code>.</p> + + + + + + + + + + + + + <p>A <code>FlowUsage</code> is an <code>ActionUsage</code> that is also a <code>ConnectorAsUsage</code> and a KerML <code>Flow</code>.</p> + + + + <p>A <code>FlowUsage</code> must directly or indirectly specialize the base <code>FlowUsage</code> <em><code>Flows::messages</code></em> from the Systems Library model.</p> + + + OCL2.0 + specializesFromLibrary('Flows::messages') + + + + + <p>If a <code>FlowUsage</code> has <code>ownedEndFeatures</code>, it must directly or indirectly specialize the <code>FlowUsage</code> <em><code>Flows::flows</code></em> from the Systems Model Library.</p> + + + OCL2.0 + ownedEndFeatures->notEmpty() implies + specializesFromLibrary('Flows::flows') + + + + + + + + + + <p>The <code>Interactions</code> that are the <code>types</code> of this <code>FlowUsage</code>. Nominally, these are <code>FlowDefinitions</code>, but other kinds of Kernel <code>Interactions</code> are also allowed, to permit use of Interactions from the Kernel Model Libraries.</p> + + + + + + + + + + + <p>A <code>FlowDefinition</code> is an <code>ActionDefinition</code> that is also an <code>Interaction</code> (which is both a KerML <code>Behavior</code> and <code>Association</code>), representing flows between <code>Usages</code>.</p> + + + + <p>A <code>FlowDefinition</code> must directly or indirectly specialize the base <code>FlowDefinition</code> <em><code>Flows::MessageAction</code></em> from the Systems Model Library.</p> + + + OCL2.0 + specializesFromLibrary('Flows::MessageAction') + + + + + <p>A binary <code>FlowDefinition</code> must directly or indirectly specialize the base <code>FlowDefinition<code> <em><code>Flows::Message</code></em> from the Systems Model Library.</p> + + + OCL2.0 + flowEnd->size() = 2 implies + specializesFromLibrary('Flows::Message') + + + + + <p>A <code>FlowDefinition</code> may not have more than two <code>flowEnds</code>.</p> + + + OCL2.0 + flowEnd->size() <= 2 + + + + + + + + + <p>The <code>Usages</code> that define the things related by the <code>FlowDefinition</code>.</p> + + + + + + + + + + <p>The <code>FlowDefinitions<code> that have a certain Usage as <code>flowEnd</code>.</p> + + + + + + + + + + <p>The <code>FlowUsages<code> that have a certain <code>Interaction</code> as their <code>flowDefinition</code>.</p> + + + + + + + + <p>A <code>SuccessionFlowUsage</code> is a <code>FlowUsage</code> that is also a KerML <code>SuccessionFlow</code>.</p> + + + + <p>A <code>SuccessionFlowUsage</code> must directly or indirectly specialize the base <code>FlowUsage</code> <em><code>Flows::successionFlows</code></em> from the Systems Library model.</p> + + + OCL2.0 + specializesFromLibrary('Flows::successionFlows') + + + + + + + + - diff --git a/Resources/SysML_xmi.uml b/Resources/SysML_xmi.uml deleted file mode 100644 index 33875557..00000000 --- a/Resources/SysML_xmi.uml +++ /dev/null @@ -1,16098 +0,0 @@ - - - - - The Root layer provides the syntactic foundation for KerML. - - - - - - <p>A <code>Dependency</code> is a <code>Relationship</code> that indicates that one or more <code>client</code> <code>Elements</code> require one more <code>supplier</code> <code>Elements</code> for their complete specification. In general, this means that a change to one of the <code>supplier</code> <code>Elements</code> may necessitate a change to, or re-specification of, the <code>client</code> <code>Elements</code>.</p> - -<p>Note that a <code>Dependency</code> is entirely a model-level <code>Relationship</code>, without instance-level semantics.</p> - - - - - <p>The <code>Element</code> or <code>Elements</code> dependent on the <code>supplier</code> <code>Elements</code>.</p> - - - - - - - <p>The <code>Element</code> or <code>Elements</code> on which the <code>client</code> <code>Elements</code> depend in some respect.</p> - - - - - - - - - <p>The <code>Dependencies</code> that have a certain <code>supplier</code> <code>Element</code>.</p> - - - - - - - - - <p>The <code>Dependencies</code> that have a certain <code>client</code> <code>Element</code>.</p> - - - - - - - - - - <p>A <code>Comment</code> is an <code>AnnotatingElement</code> whose <code>body</code> in some way describes its <code>annotatedElements</code>.</p> - - - - - - <p>Identification of the language of the <code>body</code> text and, optionally, the region and/or encoding. The format shall be a POSIX locale conformant to ISO/IEC 15897, with the format <code>[language[_territory][.codeset][@modifier]]</code>.</p> - - - - - - - - <p>The annotation text for the <code>Comment</code>.</p> - - - - - - - - - - <p>An <code>Annotation</code> is a Relationship between an <code>AnnotatingElement</code> and the <code>Element</code> that is annotated by that <code>AnnotatingElement</code>.</p> - - - - - <p>An <code>Annotation</code> owns its <code>annotatingElement</code> if and only if it is owned by its <code>annotatedElement</code>.</p> - - - OCL2.0 - (owningAnnotatedElement <> null) = (ownedAnnotatingElement <> null) - - - - - <p>Either the <code>ownedAnnotatingElement</code> of an <code>Annotation</code> must be non-null, or the <code>owningAnnotatingElement</code> must be non-null, but not both.</p> - - - OCL2.0 - ownedAnnotatingElement <> null xor owningAnnotatingElement <> null - - - - - <p>The <code>ownedAnnotatingElement</code> of an <code>Annotation</code> is the first <code>ownedRelatedElement</code> that is an <code>AnnotatingElement</code>, if any.</p> - - - OCL2.0 - ownedAnnotatingElement = - let ownedAnnotatingElements : Sequence(AnnotatingElement) = - ownedRelatedElement->selectByKind(AnnotatingElement) in - if ownedAnnotatingElements->isEmpty() then null - else ownedAnnotatingElements->first() - endif - - - - - <p>The <code>annotatingElement</code> of an <code>Annotation</code> is either its <code>ownedAnnotatingElement</code> or its <code>owningAnnotatingElement</code>.</p> - - - OCL2.0 - annotatingElement = - if ownedAnnotatingElement <> null then ownedAnnotatingElement - else owningAnnotatingElement - endif - - - - - - <p>The <code>AnnotatingElement</code> that annotates the <code>annotatedElement</code> of this <code>Annotation</code>. This is always either the <code>ownedAnnotatingElement</code> or the <code>owningAnnotatingElement</code>.</p> - - - - - - - - <p>The <code>Element</code> that is annotated by the <code>annotatingElement</code> of this Annotation.</p> - - - - - - - - <p>The <code>annotatedElement</code> of this <code>Annotation</code>, when it is also the <code>owningRelatedElement</code>.</p> - - - - - - - - <p>The <code>annotatingElement</code> of this <code>Annotation</code>, when it is the <code>owningRelatedElement</code>.</p> - - - - - - - <p>The <code>annotatingElement</code> of this <code>Annotation</code>, when it is an <code>ownedRelatedElement</code>.</p> - - - - - - - - - - <p>The Annotations associated with a certain <code>annotatedElement</code>.</p> - - - - - - - - <p>An <code>AnnotatingElement</code> is an <code>Element</code> that provides additional description of or metadata on some other <code>Element</code>. An <code>AnnotatingElement</code> is either attached to its <code>annotatedElements</code> by <code>Annotation</code> <code>Relationships</code>, or it implicitly annotates its <code>owningNamespace</code>.</p> - - - - - <p>If an <code>AnnotatingElement</code> has <code>annotations</code>, then its <code>annotatedElements</code> are the <code>annotatedElements</code> of all its <code>annotations</code>. Otherwise, it's single <code>annotatedElement</code> is its <code>owningNamespace</code>.</p> - - - OCL2.0 - annotatedElement = - if annotation->notEmpty() then annotation.annotatedElement - else Sequence{owningNamespace} endif - - - - - <p>The <code>ownedAnnotatingRelationships</code> of an <code>AnnotatingElement</code> are its <code>ownedRelationships</code> that are <code>Annotations</code>, for which the <code>AnnotatingElement</code> is not the <code>annotatedElement</code>.</p> - - - OCL2.0 - ownedAnnotatingRelationship = ownedRelationship-> - selectByKind(Annotation)-> - select(a | a.annotatedElement <> self) - - - - - <p>The <code>annotations</code> of an <code>AnnotatingElement</code> are its <code>owningAnnotatingRelationship</code> (if any) followed by all its <code>ownedAnnotatingRelationships</code>.</p> - - - OCL2.0 - annotation = - if owningAnnotatingRelationship = null then ownedAnnotatingRelationship - else owningAnnotatingRelationship->prepend(owningAnnotatingRelationship) - endif - - - - - - <p>The <code>Elements</code> that are annotated by this <code>AnnotatingElement</code>. If <code>annotation</code> is not empty, these are the <code>annotatedElements</code> of the <code>annotations</code>. If <code>annotation</code> is empty, then it is the <code>owningNamespace</code> of the <code>AnnotatingElement</code>.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>AnnotatingElement</code> that are <code>Annotations</code>, for which this <code>AnnotatingElement</code> is the <code>annotatingElement</code>.</p> - - - - - - - <p>The <code>owningRelationship</code> of this <code>AnnotatingRelationship</code>, if it is an <code>Annotation</code></p> - - - - - - - <p>The <code>Annotations</code> that relate this <code>AnnotatingElement</code> to its <code>annotatedElements</code>. This includes the <code>owningAnnotatingRelationship</code> (if any) followed by all the <code>ownedAnnotatingRelationshps</code>.</p> - - - - - - - - - - <p>The AnnotatingElements that have a certain Element as their <code>annotatedElement</code>.</p> - - - - - - - - <p>A <code>TextualRepresentation</code> is an <code>AnnotatingElement</code> whose <code>body</code> represents the <code>representedElement</code> in a given <code>language</code>. The <code>representedElement</code> must be the <code>owner</code> of the <code>TextualRepresentation</code>. The named <code>language</code> can be a natural language, in which case the <code>body</code> is an informal representation, or an artificial language, in which case the <code>body</code> is expected to be a formal, machine-parsable representation.</p> - -<p>If the named <code>language</code> of a <code>TextualRepresentation</code> is machine-parsable, then the <code>body</code> text should be legal input text as defined for that <code>language</code>. The interpretation of the named language string shall be case insensitive. The following <code>language</code> names are defined to correspond to the given standard languages:</p> - -<table border="1" cellpadding="1" cellspacing="1" width="498"> - <thead> - </thead> - <tbody> - <tr> - <td style="text-align: center; width: 154px;"><code>kerml</code></td> - <td style="width: 332px;">Kernel Modeling Language</td> - </tr> - <tr> - <td style="text-align: center; width: 154px;"><code>ocl</code></td> - <td style="width: 332px;">Object Constraint Language</td> - </tr> - <tr> - <td style="text-align: center; width: 154px;"><code>alf</code></td> - <td style="width: 332px;">Action Language for fUML</td> - </tr> - </tbody> -</table> - -<p>Other specifications may define specific <code>language</code> strings, other than those shown above, to be used to indicate the use of languages from those specifications in KerML <code>TextualRepresentation</code>.</p> - -<p>If the <code>language</code> of a <code>TextualRepresentation</code> is &quot;<code>kerml</code>&quot;, then the <code>body</code> text shall be a legal representation of the <code>representedElement</code> in the KerML textual concrete syntax. A conforming tool can use such a <code>TextualRepresentation</code> <code>Annotation</code> to record the original KerML concrete syntax text from which an <code>Element</code> was parsed. In this case, it is a tool responsibility to ensure that the <code>body</code> of the <code>TextualRepresentation</code> remains correct (or the Annotation is removed) if the annotated <code>Element</code> changes other than by re-parsing the <code>body</code> text.</p> - -<p>An <code>Element</code> with a <code>TextualRepresentation</code> in a language other than KerML is essentially a semantically &quot;opaque&quot; <code>Element</code> specified in the other language. However, a conforming KerML tool may interpret such an element consistently with the specification of the named language.</p> - - - - - - <p>The natural or artifical language in which the <code>body</code> text is written.</p> - - - - - - - - - <p>The <code>Element</code> that is represented by this <code>TextualRepresentation</code>.</p> - - - - - - - - <p>The textual representation of the <code>representedElement</code> in the given <code>language</code>.</p> - - - - - - - - - - <p><code>Documentation</code> is a <code>Comment</code> that specifically documents a <code>documentedElement</code>, which must be its <code>owner</code>.</p> - - - - - - <p>The <code>Element</code> that is documented by this <code>Documentation</code>.</p> - - - - - - - - - - - - - <p>A <code>Namespace</code> is an <code>Element</code> that contains other <code>Elements</code>, known as its <code>members</code>, via <code>Membership</code> <code>Relationships</code> with those <code>Elements</code>. The <code>members</code> of a <code>Namespace</code> may be owned by the <code>Namespace</code>, aliased in the <code>Namespace</code>, or imported into the <code>Namespace</code> via <code>Import</code> <code>Relationships</code>.</p> - -<p>A <code>Namespace</code> can provide names for its <code>members</code> via the <code>memberNames</code> and <code>memberShortNames</code> specified by the <code>Memberships</code> in the <code>Namespace</code>. If a <code>Membership</code> specifies a <code>memberName</code> and/or <code>memberShortName</code>, then those are names of the corresponding <code>memberElement</code> relative to the <code>Namespace</code>. For an <code>OwningMembership</code>, the <code>ownedMemberName</code> and <code>ownedMemberShortName</code> are given by the <code>Element</code> <code>name</code> and <code>shortName</code>. Note that the same <code>Element</code> may be the <code>memberElement</code> of multiple <code>Memberships</code> in a <code>Namespace</code> (though it may be owned at most once), each of which may define a separate alias for the <code>Element</code> relative to the <code>Namespace</code>.</p> - - - - - <p>All <code>memberships</code> of a <code>Namespace</code> must be distinguishable from each other.</p> - - - OCL2.0 - membership->forAll(m1 | - membership->forAll(m2 | - m1 <> m2 implies m1.isDistinguishableFrom(m2))) - - - - - <p>The <code>members</code> of a <code>Namespace</code> are the <code>memberElements</code> of all its <code>memberships</code>.</p> - - - OCL2.0 - member = membership.memberElement - - - - - <p>The <code>ownedMembers</code> of a <code>Namespace</code> are the <code>ownedMemberElements</code> of all its <code>ownedMemberships</code> that are <code>OwningMemberships</code>. - - - OCL2.0 - ownedMember = ownedMembership->selectByKind(OwningMembership).ownedMemberElement - - - - - <p>The <code>importedMemberships</code> of a <code>Namespace</code> are derived using the <code>importedMemberships()</code> operation, with no initially <code>excluded</code> <code>Namespaces</code>.</p> - - - OCL2.0 - importedMembership = importedMemberships(Set{}) - - - - - <p>The <code>ownedImports</code> of a <code>Namespace</code> are all its <code>ownedRelationships</code> that are <code>Imports</code>.</p> - - - OCL2.0 - ownedImport = ownedRelationship->selectByKind(Import) - - - - - <p>The <code>ownedMemberships</code> of a <code>Namespace</code> are all its <code>ownedRelationships</code> that are <code>Memberships</code>.</p> - - - OCL2.0 - ownedMembership = ownedRelationship->selectByKind(Membership) - - - - - - <p>All <code>Memberships</code> in this <code>Namespace</code>, including (at least) the union of <code>ownedMemberships</code> and <code>importedMemberships</code>.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Namespace</code> that are <code>Imports</code>, for which the <code>Namespace</code> is the <code>importOwningNamespace</code>.</p> - - - - - - - - <p>The set of all member <code>Elements</code> of this <code>Namespace</code>, which are the <code>memberElements</code> of all <code>memberships</code> of the <code>Namespace</code>.</p> - - - - - - - - <p>The owned <code>members</code> of this <code>Namespace</code>, which are the <cpde><code>ownedMemberElements</code> of the <code>ownedMemberships</code> of the <code>Namespace</code>.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Namespace</code> that are <code>Memberships</code>, for which the <code>Namespace</code> is the <code>membershipOwningNamespace</code>.</p> - - - - - - - - <p>The <code>Memberships</code> in this <code>Namespace</code> that result from the <code>ownedImports</code> of this <code>Namespace</code>.</p> - - - - - - - - <p>Return the names of the given <code>element</code> as it is known in this <code>Namespace</code>.</p> - - - - - OCL2.0 - let elementMemberships : Sequence(Membership) = - memberships->select(memberElement = element) in -memberships.memberShortName-> - union(memberships.memberName)-> - asSet() - - - - - - - - - - - - <p>Returns this visibility of <code>mem</code> relative to this <code>Namespace</code>. If <code>mem</code> is an <code>importedMembership</code>, this is the <code>visibility</code> of its Import. Otherwise it is the <code>visibility</code> of the <code>Membership</code> itself.</p> - - - - - OCL2.0 - if importedMembership->includes(mem) then - ownedImport-> - select(importedMemberships(Set{})->includes(mem)). - first().visibility -else if memberships->includes(mem) then - mem.visibility -else - VisibilityKind::private -endif - - - - - - - - <p>If <code>includeAll = true</code>, then return all the <code>Memberships</code> of this <code>Namespace</code>. Otherwise, return only the publicly visible <code>Memberships</code> of this <code>Namespace</code>, including <code>ownedMemberships</code> that have a <code>visibility</code> of <code>public</code> and <code>Memberships</code> imported with a <code>visibility</code> of <code>public</code>. If <code>isRecursive = true</code>, also recursively include all visible <code>Memberships</code> of any <code>public</code> owned <code>Namespaces</code>, or, if <code>IncludeAll = true</code>, all <code>Memberships</code> of all owned <code>Namespaces</code>. When computing imported <code>Memberships</code>, ignore this <code>Namespace</code> and any <code>Namespaces</code> in the given <code>excluded</code> set.</p> - - - - - OCL2.0 - let visibleMemberships : OrderedSet(Membership) = - if includeAll then membershipsOfVisibility(null, excluded) - else membershipsOfVisibility(VisibilityKind::public, excluded) - endif in -if not isRecursive then visibleMemberships -else visibleMemberships->union(ownedMember-> - selectAsKind(Namespace). - select(includeAll or owningMembership.visibility = VisibilityKind::public)-> - visibleMemberships(excluded->including(self), true, includeAll)) -endif - - - - - - - - - - - - - - - - - - - - - <p>Derive the imported <code>Memberships</code> of this <code>Namespace</code> as the <code>importedMembership</code> of all <code>ownedImports</code>, excluding those Imports whose <code>importOwningNamespace</code> is in the <code>excluded</code> set, and excluding <code>Memberships</code> that have distinguisibility collisions with each other or with any <code>ownedMembership</code>.</p> - - - - - OCL2.0 - ownedImport.importedMemberships(excluded->including(self)) - - - - - - - - - - - - - - <p>If <code>visibility</code> is not null, return the <code>Memberships</code> of this <code>Namespace</code> with the given <code>visibility</code>, including <code>ownedMemberships</code> with the given <code>visibility</code> and <code>Memberships</code> imported with the given <code>visibility</code>. If <code>visibility</code> is null, return all <code>ownedMemberships</code> and imported <code>Memberships</code> regardless of visibility. When computing imported <code>Memberships</code>, ignore this <code>Namespace</code> and any <code>Namespaces</code> in the given <code>excluded</code> set.</p> - - - - OCL2.0 - ownedMembership-> - select(mem | visibility = null or mem.visibility = visibility)-> - union(ownedImport-> - select(imp | visibility = null or imp.visibility = visibility). - importedMemberships(excluded->including(self))) - - - - - - - - - - - - - - - - - - <p>Resolve the given qualified name to the named <code>Membership</code> (if any), starting with this <code>Namespace</code> as the local scope. The qualified name string must conform to the concrete syntax of the KerML textual notation. According to the KerML name resolution rules every qualified name will resolve to either a single <code>Membership</code>, or to none.</p> - - - - - OCL2.0 - let qualification : String = qualificationOf(qualifiedName) in -let name : String = unqualifiedNameOf(qualifiedName) in -if qualification = null then resolveLocal(name) -else if qualification = '$' then resolveGlobal(name) -else - let namespaceMembership : Membership = resolve(qualification) in - if namespaceMembership = null or - not namespaceMembership.memberElement.oclIsKindOf(Namespace) - then null - else - namespaceMembership.memberElement.oclAsType(Namespace). - resolveVisible(name) - endif -endif endif - - - - - - - - - - - - - <p>Resolve the given qualified name to the named <code>Membership</code> (if any) in the effective global <code>Namespace</code> that is the outermost naming scope. The qualified name string must conform to the concrete syntax of the KerML textual notation.</p> - - - - - English - No OCL - - - - - - - - - - - - - <p>Resolve a simple <code>name</code> starting with this <code>Namespace</code> as the local scope, and continuing with containing outer scopes as necessary. However, if this <code>Namespace</code> is a root <code>Namespace</code>, then the resolution is done directly in global scope.</p> - - - - - OCL2.0 - if owningNamespace = null then resolveGlobal(name) -else - let memberships : Membership = membership-> - select(memberShortName = name or memberName = name) in - if memberships->notEmpty() then memberships->first() - else owningNamspace.resolveLocal(name) - endif -endif - - - - - - - - - - - - - <p>Resolve a simple name from the visible <code>Memberships</code> of this <code>Namespace</code>.</p> - - - - - OCL2.0 - let memberships : Sequence(Membership) = - visibleMemberships(Set{}, false, false)-> - select(memberShortName = name or memberName = name) in -if memberships->isEmpty() then null -else memberships->first() -endif - - - - - - - - - - - - - <p>Return a string with valid KerML syntax representing the qualification part of a given <code>qualifiedName</code>, that is, a qualified name with all the segment names of the given name except the last. If the given <code>qualifiedName</code> has only one segment, then return null.</p> - - - - English - No OCL - - - - - - - - - - - - - - <p>Return the simple name that is the last segment name of the given <code>qualifiedName</code>. If this segment name has the form of a KerML unrestricted name, then "unescape" it by removing the surrounding single quotes and replacing all escape sequences with the specified character.</p> - - - - English - No OCL - - - - - - - - - - - - - - - <p>An <code>Import</code> is an <code>Relationship</code> between its <code>importOwningNamespace</code> and either a <code>Membership</code> (for a <code>MembershipImport</code>) or another <code>Namespace</code> (for a <code>NamespaceImport</code>), which determines a set of <code>Memberships</code> that become <code>importedMemberships</code> of the <code>importOwningNamespace</code>. If <code>isImportAll = false</code> (the default), then only public <code>Memberships</code> are considered &quot;visible&quot;. If <code>isImportAll = true</code>, then all <code>Memberships</code> are considered &quot;visible&quot;, regardless of their declared <code>visibility</code>. If <code>isRecursive = true</code>, then visible <code>Memberships</code> are also recursively imported from owned sub-<code>Namespaces</code>.</p> - - - - - - <p>A top-level <code>Import</code> (that is, one that is owned by a root <code>Namespace</code>) must have a <code>visibility</code> of <code>private</code>.</p> - - - OCL2.0 - importOwningNamespace.owner = null implies - visibility = VisibilityKind::private - - - - - - <p>The Namespace into which Memberships are imported by this Import, which must be the <code>owningRelatedElement</code> of the Import.</p> - - - - - - - - <p>The visibility level of the imported <code>members</code> from this Import relative to the <code>importOwningNamespace</code>. The default is <code>private</code>.</p> - - - - - - - <p>Whether to recursively import Memberships from visible, owned sub-Namespaces.</p> - - - - - - - <p>Whether to import memberships without regard to declared visibility.</p> - - - - - - - - <p>The effectively imported <code>Element</code> for this </code>Import</code>. For a <code>MembershipImport</code>, this is the <code>memberElement</code> of the <code>importedMembership</code>. For a <code>NamespaceImport</code>, it is the <code>importedNamespace</code>.</p> - - - - - - - <p>Returns Memberships that are to become <code>importedMemberships</code> of the <code>importOwningNamespace</code>. (The <code>excluded</code> parameter is used to handle the possibility of circular Import Relationships.)</p> - - - - - - - - - - - - - - - - <p>A <code>MembershipImport</code> is an <code>Import</code> that imports its <code>importedMembership</code> into the <code>importOwningNamespace</code>. If <code>isRecursive = true</code> and the <code>memberElement</code> of the <code>importedMembership</code> is a <code>Namespace</code>, then the equivalent of a recursive <code>NamespaceImport</code> is also performed on that <code>Namespace</code>.</p> - - - - - <p>The <code>importedElement</code> of a <code>MembershipImport</code> is the <code>memberElement</code> of its <code>importedMembership</code>.</p> - - - OCL2.0 - importedElement = importedMembership.memberElement - - - - - - <p>The <code>Membership</code> to be imported.</p> - - - - - - - - <p>Returns at least the <code>importedMembership</code>. If <code>isRecursive = true</code> and the <code>memberElement</code> of the <code>importedMembership</code> is a <code>Namespace</code>, then <code>Memberships</code> are also recursively imported from that <code>Namespace</code>.</p> - - - - - OCL2.0 - if not isRecursive or - not importedElement.oclIsKindOf(Namespace) or - excluded->includes(importedElement) -then Sequence{importedMembership} -else importedElement.oclAsType(Namespace). - visibleMemberships(excluded, true, importAll)-> - prepend(importedMembership) -endif - - - - - - - - - - - - - - - - <p>The Membership with a certain Element as its <code>memberElement</code>.</p> - - - - - - - - - <p>An Import with a certain <code>importedElement</code>.</p> - - - - - - - - <p>A <code>NamespaceImport</code> is an Import that imports <code>Memberships</code> from its <code>importedNamespace</code> into the <code>importOwningNamespace</code>. If <code> isRecursive = false</code>, then only the visible <code>Memberships</code> of the <code>importedNamespace</code> are imported. If <code> isRecursive = true</code>, then, in addition, <code>Memberships</code> are recursively imported from any <code>ownedMembers</code> of the <code>importedNamespace</code> that are <code>Namespaces</code>.</p> - - - - - <p>The <code>importedElement</code> of a <code>NamespaceImport</code> is its <code>importedNamespace</code>.</p> - - - OCL2.0 - importedElement = importedNamespace - - - - - - <p>The <code>Namespace</code> whose visible <code>Memberships</code> are imported by this <code>NamespaceImport</code>.</p> - - - - - - - - <p>Returns at least the visible <code>Memberships</code> of the <code>importedNamespace</code>. If <code>isRecursive = true</code>, then <code>Memberships</code> are also recursively imported from any <code>ownedMembers</code> of the <code>importedNamespace</code> that are themselves <code>Namespaces</code>.</p> - - - - - OCL2.0 - if excluded->includes(importedNamespace) then Sequence{} -else importedNamespace.visibleMemberships(excluded, isRecursive, isImportAll) - - - - - - - - - - - - - - - - <p>The Namespace that has a certain <code>membership</code>.</p> - - - - - - - - <p>A <code>Membership</code> is a <code>Relationship</code> between a <code>Namespace</code> and an <code>Element</code> that indicates the <code>Element</code> is a <code>member</code> of (i.e., is contained in) the Namespace. Any <code>memberNames</code> specify how the <code>memberElement</code> is identified in the <code>Namespace</code> and the <code>visibility</code> specifies whether or not the <code>memberElement</code> is publicly visible from outside the <code>Namespace</code>.</p> - -<p>If a <code>Membership</code> is an <code>OwningMembership</code>, then it owns its <code>memberElement</code>, which becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code>. Otherwise, the <code>memberNames</code> of a <code>Membership</code> are effectively aliases within the <code>membershipOwningNamespace</code> for an <code>Element</code> with a separate <code>OwningMembership</code> in the same or a different <code>Namespace</code>.</p> - -<p>&nbsp;</p> - - - - - <p>The <code>memberElementId</code> of a <code>Membership</code> is the <code>elementId</code> of its <code>memberElement</code>.</p> - - - OCL2.0 - memberElementId = memberElement.elementId - - - - - - <p>The <code>elementId</code> of the <code>memberElement</code>.</p> - - - - - - <p>The <code>Namespace</code> of which the <code>memberElement</code> becomes a <code>member</code> due to this <code>Membership</code>.</p> - - - - - - - - <p>The short name of the <code>memberElement</code> relative to the <code>membershipOwningNamespace</code>.</p> - - - - - - - - <p>The <code>Element</code> that becomes a <code>member</code> of the <code>membershipOwningNamespace</code> due to this <code>Membership</code>.</p> - - - - - - - - <p>The name of the <code>memberElement</code> relative to the <code>membershipOwningNamespace</code>.</p> - - - - - - - - - <p>Whether or not the <code>Membership</code> of the <code>memberElement</code> in the <code>membershipOwningNamespace</code> is publicly visible outside that <code>Namespace</code>.</p> - - - - - - - <p>Whether this <code>Membership</code> is distinguishable from a given <code>other</code> <code>Membership</code>. By default, this is true if this <code>Membership</code> has no <code>memberShortName</code> or <code>memberName</code>; or each of the <code>memberShortName</code> and <code>memberName</code> are different than both of those of the <code>other</code> <code>Membership</code>; or neither of the metaclasses of the <code>memberElement</code> of this <code>Membership</code> and the <code>memberElement</code> of the <code>other</code> <code>Membership</code> conform to the other. But this may be overridden in specializations of <code>Membership</code>.</p> - - - - - OCL2.0 - not (memberElement.oclKindOf(other.memberElement.oclType()) or - other.memberElement.oclKindOf(memberElement.oclType())) or -(shortMemberName = null or - (shortMemberName <> other.shortMemberName and - shortMemberName <> other.memberName)) and -(memberName = null or - (memberName <> other.shortMemberName and - memberName <> other.memberName))) - - - - - - - - - - - - - <p>The Namespace with a certain <code>importedMembership</code>.</p> - - - - - - - - - - <p>A NamespaceImport that has a certain <code>importedNamespace</code>.</p> - - - - - - - - <p>An <code>OwningMembership</code> is a <code>Membership</code> that owns its <code>memberElement</code> as a <code>ownedRelatedElement</code>. The <code>ownedMemberElement</code> becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code>.</p> - - - - - <p>The <code>ownedMemberName</code> of an <code>OwningMembership</code> is the <code>name</code> of its <code>ownedMemberElement</code>.</p> - - - OCL2.0 - ownedMemberName = ownedMemberElement.name - - - - - <p>The <code>ownedMemberShortName</code> of an <code>OwningMembership</code> is the <code>shortName</code> of its <code>ownedMemberElement</code>.</p> - - - OCL2.0 - ownedMemberShortName = ownedMemberElement.shortName - - - - - - <p>The <code>Element</code> that becomes an <code>ownedMember</code> of the <code>membershipOwningNamespace</code> due to this <code>OwningMembership</code>.</p> - - - - - - - - <p>The <code>elementId</code> of the <code>ownedMemberElement</code>.</p> - - - - - - <p>The <code>shortName</code> of the <code>ownedMemberElement</code>.</p> - - - - - - - - <p>The <code>name</code> of the <code>ownedMemberElement</code>.</p> - - - - - - - - - <p>If the <code>ownedMemberElement</code> of this <code>OwningMembership</code> has a non-null <code>qualifiedName</code>, then return the string constructed by appending to that <code>qualifiedName</code> the string <code>"/owningMembership"</code>. Otherwise, return the <code>path</code> of the <code>OwningMembership</code> as specified for a <code>Relationship</code> in general. - - - - OCL2.0 - if ownedElement.qualifiedName <> null then - ownedElement.qualifiedName + '/owningMembership' -else self.oclAsType(Relationship).path() -endif - - - - - - - - - - - <p>The Namespace the has a certain Element as a <code>member</code>.</p> - - - - - - - - <p><code>VisibilityKind</code> is an enumeration whose literals specify the visibility of a <code>Membership</code> of an <code>Element</code> in a <code>Namespace</code> outside of that <code>Namespace</code>. Note that &quot;visibility&quot; specifically restricts whether an <code>Element</code> in a <code>Namespace</code> may be referenced by name from outside the <code>Namespace</code> and only otherwise restricts access to an <code>Element</code> as provided by specific constraints in the abstract syntax (e.g., preventing the import or inheritance of private <code>Elements</code>).</p> - - - - - <p>Indicates a <code>Membership</code> is not visible outside its owning <code>Namespace</code>.</p> - - - - - <p>An intermediate level of visibility between <code>public</code> and <code>private</code>. By default, it is equivalent to <code>private</code> for the purposes of normal access to and import of <code>Elements</code> from a <code>Namespace</code>. However, other <code>Relationships</code> may be specified to include <code>Memberships</code> with <code>protected</code> visibility in the list of <code>memberships</code> for a <code>Namespace</code> (e.g., <code>Specialization</code>).</p> - - - - - - <p>Indicates that a <code>Membership</code> is publicly visible outside its owning <code>Namespace</code>.</p> - - - - - - - <p>A MembershipImport that has a certain <code>importedMembership</code>.</p> - - - - - - - - - - <p>An <code>Element</code> is a constituent of a model that is uniquely identified relative to all other <code>Elements</code>. It can have <code>Relationships</code> with other <code>Elements</code>. Some of these <code>Relationships</code> might imply ownership of other <code>Elements</code>, which means that if an <code>Element</code> is deleted from a model, then so are all the <code>Elements</code> that it owns.</p> - - - - - <p>The <code>ownedElements</code> of an <code>Element</code> are the <code>ownedRelatedElements</code> of its <code>ownedRelationships</code>.</p> - - - OCL2.0 - ownedElement = ownedRelationship.ownedRelatedElement - - - - - <p>The <code>owner</code> of an <code>Element</code> is the <code>owningRelatedElement</code> of its <code>owningRelationship</code>.</p> - - - OCL2.0 - owner = owningRelationship.owningRelatedElement - - - - - <p>If this <code>Element</code> does not have an <code>owningNamespace</code>, then its <code>qualifiedName</code> is null. If the <code>owningNamespace</code> of this Element is a root <code>Namespace</code>, then the <code>qualifiedName</code> of the <code>Element</code> is the escaped name of the <code>Element</code> (if any). If the <code>owningNamespace</code> is non-null but not a root <code>Namespace</code>, then the <code>qualifiedName</code> of this <code>Element</code> is constructed from the <code>qualifiedName</code> of the <code>owningNamespace</code> and the escaped name of the <code>Element</code>, unless the <code>qualifiedName</code> of the <code>owningNamespace</code> is null or the escaped name is null, in which case the <code>qualifiedName</code> of this <code>Element</code> is also null. Further, if the <code>owningNamespace</code> has other <code>ownedMembers</code> with the same non-null name as this <code>Element</code>, and this <code>Element</code> is not the first, then the <code>qualifiedName</code> of this <code>Element</code> is null.</p> - - - OCL2.0 - qualifiedName = - if owningNamespace = null then null - else if name <> null and - owningNamespace.ownedMember-> - select(m | m.name = name).indexOf(self) <> 1 then null - else if owningNamespace.owner = null then escapedName() - else if owningNamespace.qualifiedName = null or - escapedName() = null then null - else owningNamespace.qualifiedName + '::' + escapedName() - endif endif endif endif - - - - - <p>The <code>documentation</code> of an <code>Element</code> is its <code>ownedElements</code> that are <code>Documentation</code>.</p> - - - OCL2.0 - documentation = ownedElement->selectByKind(Documentation) - - - - - <p>The <code>ownedAnnotations</code> of an <code>Element</code> are its <code>ownedRelationships</code> that are <code>Annotations</code>, for which the <code>Element</code> is the <code>annotatedElement</code>.</p> - - - OCL2.0 - ownedAnnotation = ownedRelationship-> - selectByKind(Annotation)-> - select(a | a.annotatedElement = self) - - - - - <p>The <code>name</code> of an <code>Element</code> is given by the result of the <code>effectiveName()</code> operation.</p> - - - OCL2.0 - name = effectiveName() - - - - - <p>If an <code>Element</code> has any <code>ownedRelationships</code> for which <code>isImplied = true</code>, then the <code>Element</code> must also have <code>isImpliedIncluded = true</code>. (Note that an <code>Element</code> <em>can</em> have <code>isImplied = true</code> even if no <code>ownedRelationships</code> have <code>isImplied = true</code>, indicating the <code>Element</code> simply has no implied <code>Relationships</code>.</p> - - - OCL2.0 - ownedRelationship->exists(isImplied) implies isImpliedIncluded - - - - - <p>An <code>Element</code> <code>isLibraryElement</code> if <code>libraryNamespace()</code> is not null.</p> - - - OCL2.0 - isLibraryElement = libraryNamespace() <> null - - - - - - <p>The <code>shortName</code> of an <code>Element</code> is given by the result of the <code>effectiveShortName()</code> operation.</p> - - - OCL2.0 - shortName = effectiveShortName() - - - - - <p>The <code>owningNamespace</code> of an <code>Element</code> is the <code>membershipOwningNamspace</code> of its <code>owningMembership</code> (if any).</p> - - - OCL2.0 - owningNamespace = - if owningMembership = null then null - else owningMembership.membershipOwningNamespace - endif - - - - - <p>The <code>textualRepresentations</code> of an <code>Element</code> are its <code>ownedElements</code> that are <code>TextualRepresentations</code>.</p> - - - OCL2.0 - textualRepresentation = ownedElement->selectByKind(TextualRepresentation) - - - - - <p>The <code>owningRelationship</code> of this <code>Element</code>, if that <code>Relationship</code> is a <code>Membership</code>.</p> - - - - - - - - <p>The Relationship for which this Element is an <tt>ownedRelatedElement</tt>, if any.</p> - - - - - - - - <p>The <code>Namespace</code> that owns this <code>Element</code>, which is the <code>membershipOwningNamespace</code> of the <code>owningMembership</code> of this <code>Element</code>, if any.</p> - - - - - - - - <p>The globally unique identifier for this Element. This is intended to be set by tooling, and it must not change during the lifetime of the Element.</p> - - - - - - <p>The Relationships for which this Element is the <tt>owningRelatedElement</tt>.</p> - - - - - - - <p>The owner of this Element, derived as the <code>owningRelatedElement</code> of the <code>owningRelationship</code> of this Element, if any.</p> - - - - - - - <p>The Elements owned by this Element, derived as the <tt>ownedRelatedElements</tt> of the <tt>ownedRelationships</tt> of this Element.</p> - - - - - - - - <p>The Documentation owned by this Element.</p> - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Element</code> that are <code>Annotations</code>, for which this <code>Element</code> is the <code>annotatedElement</code>.</code> - - - - - - - <p>The <code>TextualRepresentations</code> that annotate this <code>Element</code>.</p> - - - - - - - <p>Various alternative identifiers for this Element. Generally, these will be set by tools.</p> - - - - - - - - <p>An optional alternative name for the <code>Element</code> that is intended to be shorter or in some way more succinct than its primary <code>name</code>. It may act as a modeler-specified identifier for the <code>Element</code>, though it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a model or relative to some other context.</p> - - - - - - - - - <p>The declared name of this <code>Element</code>.</p> - - - - - - - - - <p>The short name to be used for this <code>Element</code> during name resolution within its <code>owningNamespace</code>. This is derived using the <code>effectiveShortName()</code> operation. By default, it is the same as the <code>declaredShortName</code>, but this is overridden for certain kinds of <code>Elements</code> to compute a <code>shortName</code> even when the <code>declaredName</code> is null.</p> - - - - - - - - <p>The name to be used for this <code>Element</code> during name resolution within its <code>owningNamespace</code>. This is derived using the <code>effectiveName()</code> operation. By default, it is the same as the <code>declaredName</code>, but this is overridden for certain kinds of <code>Elements</code> to compute a <code>name</code> even when the <code>declaredName</code> is null.</p> - - - - - - - - <p>The full ownership-qualified name of this <code>Element</code>, represented in a form that is valid according to the KerML textual concrete syntax for qualified names (including use of unrestricted name notation and escaped characters, as necessary). The <code>qualifiedName</code> is null if this <code>Element</code> has no <code>owningNamespace</code> or if there is not a complete ownership chain of named <code>Namespaces</code> from a root <code>Namespace</code> to this <code>Element</code>. If the <code>owningNamespace</code> has other <code>Elements</code> with the same name as this one, then the <code>qualifiedName</code> is null for all such <code>Elements</code> other than the first.</p> - - - - - - - - <p>Whether all necessary implied Relationships have been included in the <code>ownedRelationships</code> of this Element. This property may be true, even if there are not actually any <code>ownedRelationships</code> with <code>isImplied = true</code>, meaning that no such Relationships are actually implied for this Element. However, if it is false, then <code>ownedRelationships</code> may <em>not</em> contain any implied Relationships. That is, either <em>all</em> required implied Relationships must be included, or none of them.</p> - - - - - - - <p>Whether this Element is contained in the ownership tree of a library model.</p> - - - - - - <p>Return <code>name</code>, if that is not null, otherwise the <code>shortName</code>, if that is not null, otherwise null. If the returned value is non-null, it is returned as-is if it has the form of a basic name, or, otherwise, represented as a restricted name according to the lexical structure of the KerML textual notation (i.e., surrounded by single quote characters and with special characters escaped).</p> - - - - - - - - - - <p>Return an effective <code>shortName</code> for this <code>Element</code>. By default this is the same as its <code>declaredShortName</code>.</p> - - - - OCL2.0 - declaredShortName - - - - - - - - - - - <p>Return an effective <code>name</code> for this <code>Element</code>. By default this is the same as its <code>declaredName</code>.</p> - - - - OCL2.0 - declaredName - - - - - - - - - - - <p>By default, return the library Namespace of the <code>owningRelationship</code> of this Element, if it has one.</p> - - - - OCL2.0 - if owningRelationship <> null then owningRelationship.libraryNamespace() -else null endif - - - - - - - - - - <p>Return a unique description of the location of this <code>Element</code> in the containment structure rooted in a root <code>Namespace</code>. If the <code>Element</code> has a non-null <code>qualifiedName</code>, then return that. Otherwise, if it has an <code>owningRelationship</code>, then return the string constructed by appending to the <code>path</code> of it's <code>owningRelationship</code> the character <code>/</code> followed by the string representation of its position in the list of <code>ownedRelatedElements</code> of the <code>owningRelationship</code> (indexed starting at 1). Otherwise, return the empty string.</p> - -<p>(Note that this operation is overridden for <code>Relationships</code> to use <code>owningRelatedElement</code> when appropriate.)</p> - - - - OCL2.0 - if qualifiedName <> null then qualifiedName -else if owningRelationship <> null then - owningRelationship.path() + '/' + - owningRelationship.ownedRelatedElement->indexOf(self).toString() - -- A position index shall be converted to a decimal string representation - -- consisting of only decimal digits, with no sign, leading zeros or leading - -- or trailing whitespace. -else '' -endif endif - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>Relationship</code> is an <code>Element</code> that relates other <code>Element</code>. Some of its <code>relatedElements</code> may be owned, in which case those <code>ownedRelatedElements</code> will be deleted from a model if their <code>owningRelationship</code> is. A <code>Relationship</code> may also be owned by another <code>Element</code>, in which case the <code>ownedRelatedElements</code> of the <code>Relationship</code> are also considered to be transitively owned by the <code>owningRelatedElement</code> of the <code>Relationship</code>.</p> - -<p>The <code>relatedElements</code> of a <code>Relationship</code> are divided into <code>source</code> and <code>target</code> <code>Elements</code>. The <code>Relationship</code> is considered to be directed from the <code>source</code> to the <code>target</code> <code>Elements</code>. An undirected <code>Relationship</code> may have either all <code>source</code> or all <code>target</code> <code>Elements</code>.</p> - -<p>A &quot;relationship <code>Element</code>&quot; in the abstract syntax is generically any <code>Element</code> that is an instance of either <code>Relationship</code> or a direct or indirect specialization of <code>Relationship</code>. Any other kind of <code>Element</code> is a &quot;non-relationship <code>Element</code>&quot;. It is a convention of that non-relationship <code>Elements</code> are <em>only</em> related via reified relationship <code>Elements</code>. Any meta-associations directly between non-relationship <code>Elements</code> must be derived from underlying reified <code>Relationship</code>.</p> - - - - - <p>The <code>relatedElements</code> of a <code>Relationship</code> consist of all of its <code>source</code> <code>Elements</code> followed by all of its <code>target</code> <code>Elements</code>.</p> - - - OCL2.0 - relatedElement = source->union(target) - - - - - - <p>The Elements that are related by this Relationship, derived as the union of the <code>source</code> and <code>target</code> Elements of the Relationship.</p> - - - - - - - <p>The <code>relatedElements</code> to which this Relationship is considered to be directed.</p> - - - - - - - - <p>The <code>relatedElements</c ode> from which this Relationship is considered to be directed.</p> - - - - - - - <p>The <tt>relatedElement</tt> of this Relationship that owns the Relationship, if any.</p> - - - - - - - <p>The <tt>relatedElements</tt> of this Relationship that are owned by the Relationship.</p> - - - - - - - <p>Whether this Relationship was generated by tooling to meet semantic rules, rather than being directly created by a modeler.</p> - - - - - - - <p>Return whether this Relationship has either an <code>owningRelatedElement</code> or <code>owningRelationship</code> that is a library element.</p> - - - - OCL2.0 - if owningRelatedElement <> null then owningRelatedElement.libraryNamespace() -else if owningRelationship <> null then owningRelationship.libraryNamespace() -else null endif endif - - - - - - - - - - <p>If the <code>owningRelationship</code> of the <code>Relationship</code> is null but its <code>owningRelatedElement</code> is non-null, construct the <code>path</code> using the position of the <code>Relationship</code> in the list of <code>ownedRelationships</code> of its <code>owningRelatedElement</code>. Otherwise, return the <code>path</code> of the <code>Relationship</code> as specified for an <code>Element</code> in general.</p> - - - - OCL2.0 - if owningRelationship = null and owningRelatedElement <> null then - owningRelatedElement.path() + '/' + - owningRelatedElement.ownedRelationship->indexOf(self).toString() - -- A position index shall be converted to a decimal string representation - -- consisting of only decimal digits, with no sign, leading zeros or leading - -- or trailing whitespace. -else self.oclAsType(Element).path() -endif - - - - - - - - - - - - - - - - - - - - The Core layer provides the semantic foundation for KerML. - - - - - - - <p>A Type with a certain <code>input</code>.</p> - - - - - - - - - <p>A Type that has an EndFeatureMembership in which the <code>endFeature</code> is a <code>memberFeature</code>.</p> - - - - - - - - - - <p>A Type with a certain <code>output</code>.</p> - - - - - - - - - - <p><code>Specialization</code> is a <code>Relationship</code> between two <code>Types</code> that requires all instances of the <code>specific</code> type to also be instances of the <code>general</code> Type (i.e., the set of instances of the <code>specific</code> Type is a <em>subset</em> of those of the <code>general</code> Type, which might be the same set).</p> - - - - - <p>The <code>specific</code> <code>Type</code> of a <code>Specialization</code> cannot be a conjugated <code>Type</code>.</p> - - - OCL2.0 - not specific.isConjugated - - - - - - <p>The <code>Type</code> that is the <code>specific</code> <code>Type</code> of this <code>Specialization</code> and owns it as its <code>owningRelatedElement</code>.</p> - - - - - - - - <p>A <code>Type</code> with a superset of all instances of the <code>specific</code> <code>Type</code>, which might be the same set.</p> - - - - - - - - <p>A <code>Type</code> with a subset of all instances of the <code>general</code> <code>Type</code>, which might be the same set.</p> - - - - - - - - - <p><code>FeatureDirectionKind</code> enumerates the possible kinds of <code>direction</code> that a <code>Feature</code> may be given as a member of a <code>Type</code>.</p> - - - - - <p>Values of the <code>Feature</code> on each instance of its domain are determined externally to that instance and used internally.</p> - - - - - - <p>Values of the <code>Feature</code> on each instance are determined either as <em>in</em> or <em>out</em> directions, or both.</p> - - - - - - <p>Values of the <code>Feature</code> on each instance of its domain are determined internally to that instance and used externally.</p> - - - - - - - - <p>The Specializations with a certain <code>specific</code> Type.</p> - - - - - - - - - - <p>The Specializations with a certain <code>general<code> Type.</p> - - - - - - - - <p>A <code>Type</code> is a <code>Namespace</code> that is the most general kind of <code>Element</code> supporting the semantics of classification. A <code>Type</code> may be a <code>Classifier</code> or a <code>Feature</code>, defining conditions on what is classified by the <code>Type</code> (see also the description of <code>isSufficient</code>).</p> - - - - - <p>The <code>ownedSpecializations</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Specializations</code> whose <code>special</code> <code>Type</code> is the owning <code>Type</code>.</p> - - - OCL2.0 - ownedSpecialization = ownedRelationship->selectByKind(Specialization)-> - select(s | s.special = self) - - - - - - <p>If a <code>Type</code> has an owned <code>Multiplicity</code>, then that is its <code>multiplicity</code>. Otherwise, if the <code>Type</code> has an <code>ownedSpecialization</code>, then its <code>multiplicity</code> is the <code>multiplicity</code> of the <code>general</code> <code>Type</code> of that <code>Specialization</code>.</p> - - - OCL2.0 - multiplicity = - let ownedMultiplicities: Sequence(Multiplicity) = - ownedMember->selectByKind(Multiplicity) in - if ownedMultiplicities->isEmpty() then null - else ownedMultiplicities->first() - endif - - - - - <p>The <code>ownedFeatureMemberships</code> of a <code>Type</code> are its <code>ownedMemberships</code> that are <code>FeatureMemberships</code>.</p> - - - OCL2.0 - ownedFeatureMembership = ownedRelationship->selectByKind(FeatureMembership) - - - - - <p>The <code>ownedConjugator</code> of a <code>Type</code> is the its single <code>ownedRelationship</code> that is a <code>Conjugation</code>.</p> - - - OCL2.0 - ownedConjugator = - let ownedConjugators: Sequence(Conjugator) = - ownedRelationship->selectByKind(Conjugation) in - if ownedConjugators->isEmpty() then null - else ownedConjugators->at(1) endif - - - - - <p>The <code>outputs</code> of a <code>Type</code> are those of its <code>features</code> that have a direction of <ode>out</code> or <code>inout</code> relative to the <code>Type</code>, taking conjugation into account.</p> - - - OCL2.0 - output = feature->select(f | - let direction: FeatureDirectionKind = directionOf(f) in - direction = FeatureDirectionKind::out or - direction = FeatureDirectionKind::inout) - - - - - <p>The <code>inputs</code> of a <code>Type</code> are those of its features that have a direction of <code>in</code> or <code>inout</code> relative to the <code>Type</code>, taking conjugation into account.</p> - - - OCL2.0 - input = feature->select(f | - let direction: FeatureDirectionKind = directionOf(f) in - direction = FeatureDirectionKind::_'in' or - direction = FeatureDirectionKind::inout) - - - - - <p>The <code>inheritedMemberships<code> of a <code>Type</code> are determined by the <code>inheritedMemberships()</code> operation.</p> - - - OCL2.0 - inheritedMembership = inheritedMemberships(Set{}, Set{}, false) - - - - - <p>A <code>Type</code> must directly or indirectly specialize <code><em>Base::Anything</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::Anything') - - - - - <p>The <code>directedFeatures</code> of a <code>Type</code> are those <code>features</code> for which the <code>direction</code> is non-null.</p> - - - OCL2.0 - directedFeature = feature->select(f | directionOf(f) <> null) - - - - - <p>The <code>features</code> of a <code>Type</code> are the <code>ownedMemberFeatures</code> of its <code>featureMemberships</code>. - - - OCL2.0 - feature = featureMembership.ownedMemberFeature - - - - - <p>The <code>featureMemberships</code> of a <code>Type</code> is the union of the <code>ownedFeatureMemberships</code> and those <code>inheritedMemberships</code> that are <code>FeatureMemberships</code>.</p> - - - OCL2.0 - featureMembership = ownedFeatureMembership->union( - inheritedMembership->selectByKind(FeatureMembership)) - - - - - <p>The <code>ownedFeatures</code> of a <code>Type</code> are the <code>ownedMemberFeatures</code> of its <code>ownedFeatureMemberships</code>. - - - English - ownedFeature = ownedFeatureMembership.ownedMemberFeature - - - - - <p>The <code>differencingTypes</code> of a <code>Type</code> are the <code>differencingTypes</code> of its <code>ownedDifferencings</code>, in the same order.</p> - - - English - differencingType = ownedDifferencing.differencingType - - - - - <p>A <code>Type</code> cannot be one of its own <code>intersectingTypes</code>.</p> - - - English - intersectingType->excludes(self) - - - - - <p>A <code>Type</code> cannot be one of its own <code>differencingTypes</code>.</p> - - - English - differencingType->excludes(self) - - - - - <p>The <code>unioningTypes</code> of a <code>Type</code> are the <code>unioningTypes</code> of its <code>ownedUnionings</code>.<p> - - - OCL2.0 - unioningType = ownedUnioning.unioningType - - - - - <p>A <code>Type</code> cannot be one of its own <code>unioningTypes</code>.</p> - - - English - unioningType->excludes(self) - - - - - <p>The <code>intersectingTypes</code> of a <code>Type</code> are the <code>intersectingTypes</code> of its <code>ownedIntersectings</code>.</p> - - - OCL2.0 - intersectingType = ownedIntersecting.intersectingType - - - - - A <code>Type</code> must have at most one owned <code>Conjugation</code> <code>Relationship</code>. - - - OCL2.0 - ownedRelationship->selectByKind(Conjugation)->size() <= 1 - - - - - <p>A <code>Type</code> may have at most one <code>ownedMember</code> that is a <code>Multiplicity</code>.</p> - - - OCL2.0 - ownedMember->selectByKind(Multiplicity)->size() <= 1 - - - - - <p>The <code>endFeatures</code> of a <code>Type</code> are all its <code>features</code> for which <code>isEnd = true</code>.</p> - - - OCL2.0 - endFeature = feature->select(isEnd) - - - - - <p>The <code>ownedDisjoinings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Disjoinings</code>.</p> - - - OCL2.0 - ownedDisjoining = - ownedRelationship->selectByKind(Disjoining) - - - - - <p>The <code>ownedUnionings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Unionings</code>.</p> - - - OCL2.0 - ownedUnioning = - ownedRelationship->selectByKind(Unioning) - - - - - <p>The <code>ownedIntersectings</code> of a <code>Type</code> are the <code>ownedRelationships</code> that are <code>Intersectings</code>.</p> - - - OCL2.0 - ownedRelationship->selectByKind(Intersecting) - - - - - <p>The <code>ownedDifferencings</code> of a <code>Type</code> are its <code>ownedRelationships</code> that are <code>Differencings</code>.</p> - - - OCL2.0 - ownedDifferencing = - ownedRelationship->selectByKind(Differencing) - - - - - <p>The <code>ownedEndFeatures</code> of a <code>Type</code> are all its <code>ownedFeatures</code> for which <code>isEnd = true</code>.</p> - - - OCL2.0 - ownedEndFeature = ownedFeature->select(isEnd) - - - - - <p>The <code>inheritedFeatures</code> of this <code>Type</code> are the <code>memberFeatures</code> of the <code>inheritedMemberships</code> that are <code>FeatureMemberships</code>.</p> - - - OCL2.0 - inheritedFeature = inheritedMemberships-> - selectByKind(FeatureMembership).memberFeature - - - - - A <code>Type</code> must not have exactly one <code>ownedUnioning</code>. - - - OCL2.0 - ownedUnioning->size() <> 1 - - - - - A <code>Type</code> must not have exactly one <code>ownedIntersecting</code>. - - - OCL2.0 - ownedIntersecting->size() <> 1 - - - - - A <code>Type</code> must not have exactly one <code>ownedDifferencing</code>. - - - OCL2.0 - ownedDifferencing->size() <> 1 - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Specializations</code>, for which the <code>Type</code> is the <code>specific</code> <code>Type</code>.</p> - - - - - - - - <p>The <code>ownedMemberships</code> of this <code>Type</code> that are <code>FeatureMemberships</code>, for which the <code>Type</code> is the <code>owningType</code>. Each such <code>FeatureMembership</code> identifies an <code>ownedFeature</code> of the <code>Type</code>.</p> - - - - - - - - <p>The <code>ownedMemberFeatures</code> of the <code>featureMemberships</code> of this <code>Type</code>.</p> - - - - - - - - <p>The <code>ownedMemberFeatures</code> of the <code>ownedFeatureMemberships</code> of this <code>Type</code>.</p> - - - - - - - - <p>All <code>features</code> related to this <code>Type</code> by <code>FeatureMemberships</code> that have <code>direction</code> <code>in</code> or <code>inout</code>.</p> - - - - - - - - <p>All <code>features</code> related to this <code>Type</code> by <code>FeatureMemberships</code> that have <code>direction</code> <code>out</code> or <code>inout</code>.</p> - - - - - - - - <p>Indicates whether instances of this <code>Type</code> must also be instances of at least one of its specialized <code>Types</code>.</p> - - - - - - - - <p>All <code>Memberships</code> inherited by this <code>Type</code> via <code>Specialization</code> or <code>Conjugation</code>. These are included in the derived union for the <code>memberships</code> of the <code>Type</code>.</p> - - - - - - - - <p>All <code>features</code> of this <code>Type</code> with <code>isEnd = true</code>.</p> - - - - - - - <p>All <code>endFeatures</code> of this <code>Type</code> that are <code>ownedFeatures</code>.</p> - - - - - - - - <p>Whether all things that meet the classification conditions of this <code>Type</code> must be classified by the <code>Type</code>.</p> - -<p>(A <code>Type</code>&nbsp;gives conditions that must be met by whatever it classifies, but when <code>isSufficient</code> is false, things may meet those conditions but still not be classified by the <code>Type</code>. For example, a Type <code><em>Car</em></code> that is not sufficient could require everything it classifies to have four wheels, but not all four wheeled things would classify as cars. However, if the <code>Type</code> <code><em>Car</em></code> were sufficient, it would classify all four-wheeled things.)</p> - - - - - - - - <p>A <code>Conjugation</code> owned by this <code>Type</code> for which the <code>Type</code> is the <code>originalType</code>.</p> - - - - - - - - <p>Indicates whether this <code>Type</code> has an <code>ownedConjugator</code>.</p> - - - - - - - <p>All the <code>memberFeatures</code> of the <code>inheritedMemberships</code> of this <code>Type</code> that are <code>FeatureMemberships</code>.</p> - - - - - - - - <p>An <code>ownedMember</code> of this <code>Type</code> that is a <code>Multiplicity</code>, which constraints the cardinality of the <code>Type</code>. If there is no such <code>ownedMember</code>, then the cardinality of this <code>Type</code> is constrained by all the <code>Multiplicity</code> constraints applicable to any direct supertypes.</p> - - - - - - - <p>The interpretations of a <code>Type</code> with <code>unioningTypes</code> are asserted to be the same as those of all the <code>unioningTypes</code> together, which are the <code>Types</code> derived from the <code>unioningType</code> of the <code>ownedUnionings</code> of this <code>Type</code>. For example, a <code>Classifier</code> for people might be the union of <code>Classifiers</code> for all the sexes. Similarly, a feature for people&#39;s children might be the union of features dividing them in the same ways as people in general.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Intersectings</code>, have the <code>Type</code> as their <code>typeIntersected</code>.</p> - - - - - - - - <p>The interpretations of a <code>Type</code> with <code>intersectingTypes</code> are asserted to be those in common among the <code>intersectingTypes</code>, which are the <code>Types</code> derived from the <code>intersectingType</code> of the <code>ownedIntersectings</code> of this <code>Type</code>. For example, a <code>Classifier</code> might be an intersection of <code>Classifiers</code> for people of a particular sex and of a particular nationality. Similarly, a feature for people&#39;s children of a particular sex might be the intersection of a <code>Feature</code> for their children and a <code>Classifier</code> for people of that sex (because the interpretations of the children <code>Feature</code> that identify those of that sex are also interpretations of the Classifier for that sex).</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Unionings</code>, having the <code>Type</code> as their <code>typeUnioned</code>.</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Disjoinings</code>, for which the <code>Type</code> is the <code>typeDisjoined</code> <code>Type</code>.</p> - - - - - - - - <p>The <code>FeatureMemberships</code> for <code>features</code> of this <code>Type</code>, which include all <code>ownedFeatureMemberships</code> and those <code>inheritedMemberships</code> that are <code>FeatureMemberships</code> (but does <em>not</em> include any <code>importedMemberships</code>).</p> - - - - - - - - <p>The interpretations of a <code>Type</code> with <code>differencingTypes</code> are asserted to be those of the first of those <code>Types</code>, but not including those of the remaining <code>Types</code>. For example, a <code>Classifier</code> might be the difference of a <code>Classifier</code> for people and another for people of a particular nationality, leaving people who are not of that nationality. Similarly, a feature of people might be the difference between a feature for their children and a <code>Classifier</code> for people of a particular sex, identifying their children not of that sex (because the interpretations of the children <code>Feature</code> that identify those of that sex are also interpretations of the <code>Classifier</code> for that sex).</p> - - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Type</code> that are <code>Differencings</code>, having this <code>Type</code> as their <code>typeDifferenced</code>.</p> - - - - - - - - <p>The <code>features</code> of this <code>Type</code> that have a non-null <code>direction</code>.</p> - - - - - - - - <p>The visible <code>Memberships</code> of a <code>Type</code> include <code>inheritedMemberships</code>.</p> - - - - - OCL2.0 - let visibleMemberships : OrderedSet(Membership) = - self.oclAsType(Namespace). - visibleMemberships(excluded, isRecursive, includeAll) in -let visibleInheritedMemberships : OrderedSet(Membership) = - inheritedMemberships(excluded->including(self), Set{}, isRecursive)-> - select(includeAll or visibility = VisibilityKind::public) in -visibleMemberships->union(visibleInheritedMemberships) - - - - - - - - - - - - - - - - - - - - <p>Return the <code>Memberships</code> inheritable from supertypes of this <code>Type</code> with redefined <code>Features</code> removed. When computing inheritable <code>Memberships</code>, exclude <code>Imports</code> of <code>excludedNamespaces</code>, <code>Specializations</code> of <code>excludedTypes</code>, and, if <code>excludeImplied = true</code>, all implied <code>Specializations</code>.</p> - - - - - OCL2.0 - removeRedefinedFeatures( - inheritableMemberships(excludedNamespaces, excludedTypes, excludeImplied)) - - - - - - - - - - - - - - - - - - - - - <p>Return all the non-<code>private</code> <code>Memberships</code> of all the supertypes of this <code>Type</code>, excluding any supertypes that are this <code>Type</code> or are in the given set of <code>excludedTypes</code>. If <code>excludeImplied = true</code>, then also transitively exclude any supertypes from implied <code>Specializations</code>.</p> - - - - OCL2.0 - let excludingSelf : Set(Type) = excludedType->including(self) in -supertypes(excludeImplied)->reject(t | excludingSelf->includes(t)). - nonPrivateMemberships(excludedNamespaces, excludingSelf, excludeImplied) - - - - - - - - - - - - - - - - - - - - - - <p>Return the <code>public</code>, <code>protected</code> and inherited <code>Memberships</code> of this <code>Type</code>. When computing imported <code>Memberships</code>, exclude the given set of <code>excludedNamespaces</code>. When computing inherited <code>Memberships</code>, exclude <code>Types</code> in the given set of <code>excludedTypes</code>. If <code>excludeImplied = true</code>, then also exclude any supertypes from implied <code>Specializations</code>.</p> - - - - OCL2.0 - let publicMemberships : OrderedSet(Membership) = - membershipsOfVisibility(VisibilityKind::public, excludedNamespaces) in -let protectedMemberships : OrderedSet(Membership) = - membershipsOfVisibility(VisibilityKind::protected, excludedNamespaces) in -let inheritedMemberships : OrderedSet(Membership) = - inheritedMemberships(excludedNamespaces, excludedTypes, excludeImplied) in -publicMemberships-> - union(protectedMemberships)-> - union(inheritedMemberships) - - - - - - - - - - - - - - - - - - - - - <p>Return a subset of <code>memberships</code>, removing those <code>Memberships</code> whose <code>memberElements</code> are <code>Features</code> and for which either of the following two conditions holds:</p> - -<ol> - <li>The <code>memberElement</code> of the <code>Membership</code> is included in redefined <code>Features</code> of another <code>Membership</code> in <code>memberships</code>.</li> - <li>One of the redefined <code>Features</code> of the <code>Membership</code> is a directly <code>redefinedFeature</code> of an <code>ownedFeature</code> of this <code>Type</code>.</li> -</ol> - -<p>For this purpose, the redefined <code>Features</code> of a <code>Membership</code> whose <code>memberElement</code> is a <code>Feature</code> includes the <code>memberElement</code> and all <code>Features</code> directly or indirectly redefined by the <code>memberElement</code>.</p> - - - - OCL2.0 - let reducedMemberships : Sequence(Membership) = - memberships->reject(mem1 | - memberships->excluding(mem1)-> - exists(mem2 | allRedefinedFeaturesOf(mem2)-> - includes(mem1.memberElement))) in -let redefinedFeatures : Set(Feature) = - ownedFeature.redefinition.redefinedFeature->asSet() in -reducedMemberships->reject(mem | allRedefinedFeaturesOf(mem)-> - exists(feature | redefinedFeatures->includes(feature))) - - - - - - - - - - - - - - <p>If the <code>memberElement</code> of the given <code>membership</code> is a <code>Feature</code>, then return all <code>Features</code> directly or indirectly redefined by the <code>memberElement</code>.</p> - - - - OCL2.0 - if not membership.memberElement.oclIsType(Feature) then Set{} -else membership.memberElement.oclAsType(Feature).allRedefinedFeatures() -endif - - - - - - - - - - - <p>If the given <code>feature</code> is a <code>feature</code> of this <code>Type</code>, then return its direction relative to this <code>Type</code>, taking conjugation into account.</p> - - - - - OCL2.0 - directionOfExcluding(f, Set{}) - - - - - - - - - - - <p>Return the direction of the given <code>feature</code> relative to this <code>Type</code>, excluding a given set of <code>Types</code> from the search of supertypes of this <code>Type</code>.</p> - - - - OCL2.0 - let excludedSelf : Set(Type) = excluded->including(self) in -if feature.owningType = self then feature.direction -else - let directions : Sequence(FeatureDirectionKind) = - supertypes(false)->excluding(excludedSelf). - directionOfExcluding(feature, excludedSelf)-> - select(d | d <> null) in - if directions->isEmpty() then null - else - let direction : FeatureDirectionKind = directions->first() in - if not isConjugated then direction - else if direction = FeatureDirectionKind::_'in' then FeatureDirectionKind::out - else if direction = FeatureDirectionKind::out then FeatureDirectionKind::_'in' - else direction - endif endif endif endif -endif - - - - - - - - - - - - - - - <p>If this <code>Type</code> is conjugated, then return just the <code>originalType</code> of the <code>Conjugation</code>. Otherwise, return the <code>general</code> <code>Types</code> from all <code>ownedSpecializations</code> of this type, if <code>excludeImplied = false</code>, or all non-implied <code>ownedSpecializations</code>, if <code>excludeImplied = true</code>.</p> - - - - OCL2.0 - if isConjugated then Sequence{conjugator.originalType} -else if not excludeImplied then ownedSpecialization.general -else ownedSpecialization->reject(isImplied).general -endif -endif - - - - - - - - - - - - - <p>Return this <code>Type</code> and all <code>Types</code> that are directly or transitively supertypes of this <code>Type</code> (as determined by the <code>supertypes</code> operation with <code>excludeImplied = false</code>).</p> - - - - - OCL2.0 - OrderedSet{self}->closure(supertypes(false)) - - - - - - - - - - <p>Check whether this <code>Type</code> is a direct or indirect specialization of the given <code>supertype<code>.</p> - - - - OCL2.0 - if isConjugated then - ownedConjugator.originalType.specializes(supertype) -else - allSupertypes()->includes(supertype) -endif - - - - - - - - - - <p>Check whether this <code>Type</code> is a direct or indirect specialization of the named library <code>Type</code>. <code>libraryTypeName</code> must conform to the syntax of a KerML qualified name and must resolve to a <code>Type</code> in global scope.</p> - - - - - OCL2.0 - let mem : Membership = resolveGlobal(libraryTypeName) in -mem <> null and mem.memberElement.oclIsKindOf(Type) and -specializes(mem.memberElement.oclAsType(Type)) - - - - - - - - - - - - <p>By default, this <code>Type</code> is compatible with an <code>otherType</code> if it directly or indirectly specializes the <code>otherType</code>.</p> - - - - OCL2.0 - specializes(otherType) - - - - - - - - - - <p>Return the owned or inherited <code>Multiplicities</code> for this <code>Type<./code>.</p> - - - - OCL2.0 - if multiplicity <> null then OrderedSet{multiplicity} -else - ownedSpecialization.general->closure(t | - if t.multiplicity <> null then OrderedSet{} - else ownedSpecialization.general - )->select(multiplicity <> null).multiplicity->asOrderedSet() -endif - - - - - - - - - - - - <p>A Type that owns or inherits a FeatureMembership Relationship with the <code>feature</code>.</p> - - - - - - - - <p>A <code>FeatureMembership</code> is an <code>OwningMembership</code> between an <code>ownedMemberFeature</code> and an <code>owningType</code>. If the <code>ownedMemberFeature</code> has <code>isVariable = false</code>, then the <code>FeatureMembership</code> implies that the <code>owningType</code> is also a <code>featuringType</code> of the <code>ownedMemberFeature</code>. If the <code>ownedMemberFeature</code> has <code>isVariable = true</code>, then the <code>FeatureMembership</code> implies that the <code>ownedMemberFeature</code> is featured by the <em><code>snapshots</code></em> of the <code>owningType</code>, which must specialize the Kernel Semantic Library base class <em><code>Occurrence</code></em>.</p> - - - - - - <p>The <code>Type</code> that owns this <code>FeatureMembership</code>.</p> - - - - - - - - <p>The <code>Feature</code> that this <code>FeatureMembership</code> relates to its <code>owningType</code>, making it an <code>ownedFeature</code> of the <code>owningType</code>.</p> - - - - - - - - - - <p>The Type that inherits the <code>inheritedMembership</code>.</p> - - - - - - - - - - <p>A Type that has an <code>inheritedMembership</code> with the <code>inheritedFeature</code> as its <code>memberFeature</code>.</p> - - - - - - - - - - <p>The Conjugations with a certain Type as the <code>originalType</code>.</p> - - - - - - - - <p><code>Conjugation</code> is a <code>Relationship</code> between two types in which the <code>conjugatedType</code> inherits all the <code>Features</code> of the <code>originalType</code>, but with all <code>input</code> and <code>output</code> <code>Features</code> reversed. That is, any <code>Features</code> with a <code>direction</code> <em>in</em> relative to the <code>originalType</code> are considered to have an effective <code>direction</code> of <em>out</em> relative to the <code>conjugatedType</code> and, similarly, <code>Features</code> with <code>direction</code> <em>out</em> in the <code>originalType</code> are considered to have an effective <code>direction</code> of <em>in</em> in the <code>conjugatedType</code>. <code>Features</code> with <code>direction</code> <em>inout</em>, or with no <code>direction</code>, in the <code>originalType</code>, are inherited without change.</p> - -<p>A <code>Type</code> may participate as a <code>conjugatedType</code> in at most one <code>Conjugation</code> relationship, and such a <code>Type</code> may not also be the <code>specific</code> <code>Type</code> in any <code>Specialization</code> relationship.</p> - - - - - - <p>The <code>Type</code> to be conjugated.</p> - - - - - - - - <p>The <code>Type</code> that is the result of applying <code>Conjugation</code> to the <code>originalType</code>.</p> - - - - - - - - <p>The <code>conjugatedType</code> of this <code>Conjugation</code> that is also its <code>owningRelatedElement</code>.</p> - - - - - - - - - - <p>The Conjugation corresponding to the <code>conjugatedType</code>.</p> - - - - - - - - <p>A <code>Multiplicity</code> is a <code>Feature</code> whose co-domain is a set of natural numbers giving the allowed cardinalities of each <code>typeWithMultiplicity</code>. The <em>cardinality</em> of a <code>Type</code> is defined as follows, depending on whether the <code>Type</code> is a <code>Classifier</code> or <code>Feature</code>. -<ul> -<li><code>Classifier</code> – The number of basic instances of the <code>Classifier</code>, that is, those instances representing things, which are not instances of any subtypes of the <code>Classifier</code> that are <code>Features</code>. -<li><code>Features</code> – The number of instances with the same featuring instances. In the case of a <code>Feature</code> with a <code>Classifier</code> as its <code>featuringType</code>, this is the number of values of <code>Feature</code> for each basic instance of the <code>Classifier</code>. Note that, for non-unique <code>Features</code>, all duplicate values are included in this count.</li> -</ul> - -<p><code>Multiplicity</code> co-domains (in models) can be specified by <code>Expression</code> that might vary in their results. If the <code>typeWithMultiplicity</code> is a <code>Classifier</code>, the domain of the <code>Multiplicity</code> shall be <em><code>Base::Anything</code></em>. If the <code>typeWithMultiplicity</code> is a <code>Feature</code>, the <code>Multiplicity</code> shall have the same domain as the <code>typeWithMultiplicity</code>.</p> - - - - - <p>If the <code>owningType</code> of a <code>Multiplicity</code> is a <code>Feature</code>, then the <code>Multiplicity</code> must have the same <code>featuringTypes</code> as that <code>Feature</code>. Otherwise, it must have no <code>featuringTypes</code> (meaning that it is implicitly featured by the base <code>Classifier</code> <em><code>Anything</code></em>).</p> - - - OCL2.0 - if owningType <> null and owningType.oclIsKindOf(Feature) then - featuringType = - owningType.oclAsType(Feature).featuringType -else - featuringType->isEmpty() -endif - - - - - <p>A <code>Multiplicity</code> must directly or indirectly specialize the <code>Feature</code> <code><em>Base::naturals</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::naturals') - - - - - - - - <p>The Disjoinings that identify this Type as their <code>disjoiningType</code>.</p> - - - - - - - - <p>A <code>Disjoining</code> is a <code>Relationship</code> between <code>Types</code> asserted to have interpretations that are not shared (disjoint) between them, identified as <code>typeDisjoined</code> and <code>disjoiningType</code>. For example, a <code>Classifier</code> for mammals is disjoint from a <code>Classifier</code> for minerals, and a <code>Feature</code> for people&#39;s parents is disjoint from a <code>Feature</code> for their children.</p> - - - - - - <p><code>Type</code> asserted to be disjoint with the <code>disjoiningType</code>.</p> - - - - - - - - <p><code>Type</code> asserted to be disjoint with the <code>typeDisjoined</code>.</p> - - - - - - - - <p>A <code>typeDisjoined</code> that is also an <code>owningRelatedElement</code>.</p> - - - - - - - - - - - - - - - <p>The Disjoinings that identify this Type as their <code>typeDisjoined</code>.</p> - - - - - - - - - - - <p>A Type that owns or inherits the <code>featureMembership</code>.</p> - - - - - - - - - <p>The Differencings that identify this Type as their <code>differencingType</code>.</p> - - - - - - - - - <p>The Types that include this one among their <code>unioningTypes</code>.</p> - - - - - - - - - <p>The Unionings that identify all these Types as their <code>unioningType</code>.</p> - - - - - - - - - <p>The Types that include this one among their <code>intersectingTypes</code>.</p> - - - - - - - - - - <p>The Types that include this one among their <code>differencingTypes</code>.</p> - - - - - - - - <p><code>Differencing</code> is a <code>Relationship</code> that makes its <code>differencingType</code> one of the <code>differencingTypes</code> of its <code>typeDifferenced</code>.</p> - - - - - - <p><code>Type</code> with interpretations partly determined by <code>differencingType</code>, as described in <code>Type::differencingType</code>.</p> - - - - - - - - <p><code>Type</code> that partly determines interpretations of <code>typeDifferenced</code>, as described in <code>Type::differencingType</code>.</p> - - - - - - - - - - - <p>The Intersectings that identify this Type as their <code>intersectingType</code>.</p> - - - - - - - - <p><code>Unioning</code> is a <code>Relationship</code> that makes its <code>unioningType</code> one of the <code>unioningTypes</code> of its <code>typeUnioned</code>.</p> - - - - - - <p><code>Type</code> with interpretations partly determined by <code>unioningType</code>, as described in <code>Type::unioningType</code>.</p> - - - - - - - - <p><code>Type</code> that partly determines interpretations of <code>typeUnioned</code>, as described in <code>Type::unioningType</code>.</p> - - - - - - - - - - <p><code>Intersecting</code> is a <code>Relationship</code> that makes its <code>intersectingType</code> one of the <code>intersectingTypes</code> of its <code>typeIntersected</code>.</p> - - - - - - <p><code>Type</code> with interpretations partly determined by <code>intersectingType</code>, as described in <code>Type::intersectingType</code>.</p> - - - - - - - - <p><code>Type</code> that partly determines interpretations of <code>typeIntersected</code>, as described in <code>Type::intersectingType</code>.</p> - - - - - - - - - - - - <p>The Subclassifications with a certain <code>subclassifier</code>.</p> - - - - - - - - - <p><code>Subclassification</code> is <code>Specialization</code> in which both the <code>specific</code> and <code>general</code> <code>Types</code> are <code>Classifier</code>. This means all instances of the specific <code>Classifier</code> are also instances of the general <code>Classifier</code>.</p> - - - - - - <p>The more <code>general</code> Classifier in this <code>Subclassification</code>.</p> - - - - - - - - <p>The more specific <code>Classifier</code> in this <code>Subclassification</code>.</p> - - - - - - - - <p>The <code>Classifier</code> that owns this <code>Subclassification</code> relationship, which must also be its <code>subclassifier</code>.</p> - - - - - - - - - <p>A <code>Classifier</code> is a <code>Type</code> that classifies:</p> - -<ul> - <li>Things (in the universe) regardless of how <code>Features</code> relate them. (These are interpreted semantically as sequences of exactly one thing.)</li> - <li>How the above things are related by <code>Features.</code> (These are interpreted semantically as sequences of multiple things, such that the last thing in the sequence is also classified by the <code>Classifier</code>. Note that this means that a <code>Classifier</code> modeled as specializing a <code>Feature</code> cannot classify anything.)</li> -</ul> - - - - - - <p>The <code>ownedSubclassifications</code> of a <code>Classifier</code> are its <code>ownedSpecializations</code> that are <code>Subclassifications</code>.</p> - - - OCL2.0 - ownedSubclassification = - ownedSpecialization->selectByKind(Subclassification) - - - - - <p>If a <code>Classifier</code> has a <code>multiplicity</code>, then the <code>multiplicity</code> must have no <code>featuringTypes</code> (meaning that its domain is implicitly <em>Base::Anything</em>).</p> - - - OCL2.0 - multiplicity <> null implies multiplicity.featuringType->isEmpty() - - - - - - <p>The <code>ownedSpecializations</code> of this <code>Classifier</code> that are <code>Subclassifications</code>, for which this <code>Classifier</code> is the <code>subclassifier</code>.</p> - - - - - - - - - - <p>The Subclassifications with a certain <code>superclassifier</code>.</p> - - - - - - - - - - <p><code>Redefinition</code> is a kind of <code>Subsetting</code> that requires the <code>redefinedFeature</code> and the <code>redefiningFeature</code> to have the same values (on each instance of the domain of the <code>redefiningFeature</code>). This means any restrictions on the <code>redefiningFeature</code>, such as <code>type</code> or <code>multiplicity</code>, also apply to the <code>redefinedFeature</code> (on each instance of the domain of the <code>redefiningFeature</code>), and vice versa. The <code>redefinedFeature</code> might have values for instances of the domain of the <code>redefiningFeature</code>, but only as instances of the domain of the <code>redefinedFeature</code> that happen to also be instances of the domain of the <code>redefiningFeature</code>. This is supported by the constraints inherited from <code>Subsetting</code> on the domains of the <code>redefiningFeature</code> and <code>redefinedFeature</code>. However, these constraints are narrowed for <code>Redefinition</code> to require the <code>owningTypes</code> of the <code>redefiningFeature</code> and <code>redefinedFeature</code> to be different and the <code>redefinedFeature</code> to not be inherited into the <code>owningNamespace</code> of the <code>redefiningFeature</code>.This enables the <code>redefiningFeature</code> to have the same name as the <code>redefinedFeature</code>, if desired.</p> - - - - - <p>The <code>redefiningFeature</code> of a <code>Redefinition</code> must have at least one <code>featuringType</code> that is not also a <code>featuringType</code> of the <code>redefinedFeature</code>.</p> - - - OCL2.0 - let anythingType: Type = - redefiningFeature.resolveGlobal('Base::Anything').modelElement.oclAsType(Type) in --- Including "Anything" accounts for implicit featuringType of Features --- with no explicit featuringType. -let redefiningFeaturingTypes: Set(Type) = - if redefiningFeature.isVariable then Set{redefiningFeature.owningType} - else redefiningFeature.featuringTypes->asSet()->including(anythingType) - endif in -let redefinedFeaturingTypes: Set(Type) = - if redefinedFeature.isVariable then Set{redefinedFeature.owningType} - else redefinedFeature.featuringTypes->asSet()->including(anythingType) - endif in -redefiningFeaturingTypes <> redefinedFeaturingType - - - - - <p>If the <code>redefinedFeature</code> of a <code>Redefinition</code> has a direction of <code>in</code> or <code>out</code> (relative to any <code>featuringType</code> of the <code>redefiningFeature</code> or the <code>owningType</code>, if the <code>redefiningFeature</code> has <code>isVariable = true</code>), then the <code>redefiningFeature</code> must have the same <code>direction</code>. If the <code>redefinedFeature</code> has a direction of <code>inout</code>, then the <code>redefiningFeature</code> must have a non-null <code>direction</code>. (Note: the direction of the <code>redefinedFeature</code> relative to a <code>featuringType</code> of the <code>redefiningFeature</code> is the direction it would have if it had been inherited and not redefined.)</p> - - - OCL2.0 - let featuringTypes : Sequence(Type) = - if redefiningFeature.isVariable then Sequence{redefiningFeature.owningType} - else redefiningFeature.featuringType - endif in -featuringTypes->forAll(t | - let direction : FeatureDirectionKind = t.directionOf(redefinedFeature) in - ((direction = FeatureDirectionKind::_'in' or - direction = FeatureDirectionKind::out) implies - redefiningFeature.direction = direction) - and - (direction = FeatureDirectionKind::inout implies - redefiningFeature.direction <> null)) - - - - - <p>If the redefinedFeature of a Redefinition has isEnd = true, then the redefiningFeature must have isEnd = true.</p> - - - OCL2.0 - redefinedFeature.isEnd implies redefiningFeature.isEnd - - - - - - <p>The <code>Feature</code> that is redefining the <code>redefinedFeature</code> of this <code>Redefinition</code>.</p> - - - - - - - - <p>The <code>Feature</code> that is redefined by the <code>redefiningFeature</code> of this <code>Redefinition</code>.</p> - - - - - - - - - - <p>The FeatureTyping relating this Type to a Feature.</p> - - - - - - - - - <p>The Features for which a certain Type is a <code>type</code>.</p> - - - - - - - - - <p>The FeatureTypings for which a certain Feature is the <code>typedFeature</code>.</p> - - - - - - - - - - <p>The Feature that owns this Redefinition relationship, which must also be its <code>redefiningFeature</code>.</p> - - - - - - - - - <p>The Redefinitions with a certain Feature as the <code>redefinedFeature</code>.</p> - - - - - - - - - <p>The Subsettings with a certain Feature as the <code>subsettingFeature</code>.</p> - - - - - - - - <p>A <code>Feature</code> is a <code>Type</code> that classifies relations between multiple things (in the universe). The domain of the relation is the intersection of the <code>featuringTypes</code> of the <code>Feature</code>. (The domain of a <code>Feature</code> with no <code>featuringTyps</code> is implicitly the most general <code>Type</code> <em><code>Base::Anything</code></em> from the Kernel Semantic Library.) The co-domain of the relation is the intersection of the <code>types</code> of the <code>Feature</code>. - -<p>In the simplest cases, the <code>featuringTypes</code> and <code>types</code> are <code>Classifiers</code> and the <code>Feature</code> relates two things, one from the domain and one from the range. Examples include cars paired with wheels, people paired with other people, and cars paired with numbers representing the car length.</p> - -<p>Since <code>Features</code> are <code>Types</code>, their <code>featuringTypes</code> and <code>types</code> can be <code>Features</code>. In this case, the <code>Feature</code> effectively classifies relations between relations, which can be interpreted as the sequence of things related by the domain <code>Feature</code> concatenated with the sequence of things related by the co-domain <code>Feature</code>.</p> - -<p>The <em>values</em> of a <code>Feature</code> for a given instance of its domain are all the instances of its co-domain that are related to that domain instance by the <code>Feature</code>. The values of a <code>Feature</code> with <code>chainingFeatures</code> are the same as values of the last <code>Feature</code> in the chain, which can be found by starting with values of the first <code>Feature</code>, then using those values as domain instances to obtain valus of the second <code>Feature</code>, and so on, to values of the last <code>Feature</code>.</p> - - - - - <p>The <code>ownedRedefinitions</code> of a <code>Feature</code> are its <code>ownedSubsettings</code> that are <code>Redefinitions</code>.</p> - - - OCL2.0 - ownedRedefinition = ownedSubsetting->selectByKind(Redefinition) - - - - - <p>The <code>ownedTypeFeaturings</code> of a <code>Feature</code> are its <code>ownedRelationships</code> that are <code>TypeFeaturings</code> and which have the <code>Feature</code> as their <code>featureOfType</code>.</p> - - - OCL2.0 - ownedTypeFeaturing = ownedRelationship->selectByKind(TypeFeaturing)-> - select(tf | tf.featureOfType = self) - - - - - <p>The <code>ownedSubsettings</code> of a <code>Feature</code> are its <code>ownedSpecializations</code> that are <code>Subsettings</code>.</p> - - - OCL2.0 - ownedSubsetting = ownedSpecialization->selectByKind(Subsetting) - - - - - <p>The <code>ownedTypings</code> of a <code>Feature</code> are its <code>ownedSpecializations</code> that are <code>FeatureTypings</code>.</p> - - - OCL2.0 - ownedTyping = ownedGeneralization->selectByKind(FeatureTyping) - - - - - <p>The <code>types</code> of a <code>Feature</code> are the union of the <code>types</code> of its <code>typings</code> and the <code>types</code> of the <code>Features</code> it subsets, with all redundant supertypes removed. If the <code>Feature</code> has <code>chainingFeatures</code>, then the union also includes the types of the last <code>chainingFeature</code>.</p> - - - OCL2.0 - type = - let types : OrderedSet(Types) = OrderedSet{self}-> - -- Note: The closure operation automatically handles circular relationships. - closure(typingFeatures()).typing.type->asOrderedSet() in - types->reject(t1 | types->exist(t2 | t2 <> t1 and t2.specializes(t1))) - - - - - <p>If a <code>Feature</code> has a <code>multiplicity</code>, then the <code>featuringTypes</code> of the <code>multiplicity</code> must be the same as those of the <code>Feature</code> itself.</p> - - - OCL2.0 - multiplicity <> null implies multiplicity.featuringType = featuringType - - - - - <p>A <code>Feature</code> must directly or indirectly specialize <code><em>Base::things</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::things') - - - - - <p>A <code>Feature</code> cannot be one of its own <code>chainingFeatures</code>.</p> - - - English - chainingFeature->excludes(self) - - - - - <p>The <code>ownedFeatureChainings</code> of a <code>Feature</code> are the <code>ownedRelationships</code> that are <code>FeatureChainings</code>.</p> - - - OCL2.0 - ownedFeatureChaining = ownedRelationship->selectByKind(FeatureChaining) - - - - - <p>The <code>chainingFeatures</code> of a <code>Feature</code> are the <code>chainingFeatures</code> of its <code>ownedFeatureChainings</code>.</p> - - - OCL2.0 - chainingFeature = ownedFeatureChaining.chainingFeature - - - - - A <code>Feature</code> must have either no <code>chainingFeatures</code> or more than one. - - - OCL2.0 - chainingFeature->size() <> 1 - - - - - <p>If a <code>Feature</code> has <code>isEnd = true</code> and an <code>owningType</code> that is not empty, then, for each direct supertype of its <code>owningType</code>, it must redefine the <code>endFeature</code> at the same position, if any.</p> - - - OCL2.0 - isEnd and owningType <> null implies - let i : Integer = - owningType.ownedEndFeature->indexOf(self) in - owningType.ownedSpecialization.general-> - forAll(supertype | - supertype.endFeature->size() >= i implies - redefines(supertype.endFeature->at(i)) - - - - - <p>If a <code>Feature</code> has a <code>FeatureValue</code>, no <code>ownedSpecializations</code> that are not implied, and is not directed, then it must specialize the <code>result</code> of the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code>.</p> - - - OCL2.0 - direction = null and -ownedSpecializations->forAll(isImplied) implies - ownedMembership-> - selectByKind(FeatureValue)-> - forAll(fv | specializes(fv.value.result)) - - - - - <p>If a <code>Feature</code> has <code>isEnd = true</code> and an <code>owningType</code> that is an <code>Association</code> or a <code>Connector</code>, then it must directly or indirectly specialize <code><em>Links::Link::participant</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - isEnd and owningType <> null and -(owningType.oclIsKindOf(Association) or - owningType.oclIsKindOf(Connector)) implies - specializesFromLibrary('Links::Link::participant') - - - - - <p>A composite <code>Feature</code> typed by a <code>Structure</code>, and whose <code>ownedType</code> is a <code>Structure</code> or another <code>Feature</code> typed by a <code>Structure</code> must directly or indirectly specialize <em><code>Objects::Object::subobjects</code></em>. - - - OCL2.0 - isComposite and -ownedTyping.type->includes(oclIsKindOf(Structure)) and -owningType <> null and -(owningType.oclIsKindOf(Structure) or - owningType.type->includes(oclIsKindOf(Structure))) implies - specializesFromLibrary('Occurrence::Occurrence::suboccurrences') - - - - - <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>Class</code>, then it must directly or indirectly specialize <code><em>Occurrences::occurrences</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - ownedTyping.type->exists(selectByKind(Class)) implies - specializesFromLibrary('Occurrences::occurrences') - - - - - <p>A composite <code>Feature</code> that has an <code>ownedTyping</code> relationship to a <code>Class</code>, and whose <code>ownedType</code> is a <code>Class</code> or another <code>Feature</code> typed by a <code>Class</code>, must directly or indirectly specialize <em><code>Occurrences::Occurrence::suboccurrences</code></em>. - - - OCL2.0 - isComposite and -ownedTyping.type->includes(oclIsKindOf(Class)) and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Class))) implies - specializesFromLibrary('Occurrence::Occurrence::suboccurrences') - - - - - <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>DataType</code>, then it must directly or indirectly specialize <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - ownedTyping.type->exists(selectByKind(DataType)) implies - specializesFromLibrary('Base::dataValues') - - - - - <p>If a <code>Feature</code> is the first <code>ownedFeature</code> of a first or second <code>FlowEnd</code>, then it must directly or indirectly specialize either <em><code>Transfers::Transfer::source::sourceOutput</code></em> or <em><code>Transfers::Transfer::target::targetInput</code></em>, respectively, from the Kernel Semantic Library.</p> - - - OCL2.0 - owningType <> null and -owningType.oclIsKindOf(FlowEnd) and -owningType.ownedFeature->at(1) = self implies - let flowType : Type = owningType.owningType in - flowType <> null implies - let i : Integer = - flowType.ownedFeature.indexOf(owningType) in - (i = 1 implies - redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and - (i = 2 implies - redefinesFromLibrary('Transfers::Transfer::source::targetInput')) - - - - - - <p>If a <code>Feature</code> is a <code>parameter</code> of an <code>owningType</code> that is a <code>Behavior</code> or <code>Step</code>, but <em>not</em> -</p> -<ul> - <li>A <code>result</code> <code>parameter</code></li> - <li>A <code>parameter</code> of an <code>InvocationExpression</code>, with at least one non-implied <code>ownedRedefinition</code></li> -</ul> -<p>then, for each direct supertype of its <code>owningType</code> that is also a <code>Behavior</code> or <code>Step</code>, it must redefine the <code>parameter</code> at the same position, if any.</p> - - - OCL2.0 - owningType <> null and -not owningFeatureMembership. - oclIsKindOf(ReturnParameterMembership) and -(owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step) and - (owningType.oclIsKindOf(InvocationExpression) implies - not ownedRedefinition->exists(not isImplied)) -implies - let i : Integer = - owningType.ownedFeature->select(direction <> null)-> - reject(owningFeatureMembership. - oclIsKindOf(ReturnParameterMembership))-> - indexOf(self) in - owningType.ownedSpecialization.general-> - forAll(supertype | - let ownedParameters : Sequence(Feature) = - supertype.ownedFeature->select(direction <> null)-> - reject(owningFeatureMembership. - oclIsKindOf(ReturnParameterMembership)) in - ownedParameters->size() >= i implies - redefines(ownedParameters->at(i)) - - - - - <p>If a <code>Feature</code> has an <code>ownedTyping</code> relationship to a <code>Structure</code>, then it must directly or indirectly specialize <code><em>Objects::objects</em></code> from the Kernel Semantics Library.</p> - - - OCL2.0 - ownedTyping.type->exists(selectByKind(Structure)) implies - specializesFromLibary('Objects::objects') - - - - - <p>If a <code>Feature</code> is a <code>result</code> <code>parameter</code> of an <code>owningType</code> that is a <code>Function</code> or <code>Expression</code>, then, for each direct supertype of its <code>owningType</code> that is also a <code>Function</code> or <code>Expression</code>, it must redefine the <code>result</code> <code>parameter</code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(Function) and - self = owningType.oclAsType(Function).result or - owningType.oclIsKindOf(Expression) and - self = owningType.oclAsType(Expression).result) implies - owningType.ownedSpecialization.general-> - select(oclIsKindOf(Function) or oclIsKindOf(Expression))-> - forAll(supertype | - redefines( - if superType.oclIsKindOf(Function) then - superType.oclAsType(Function).result - else - superType.oclAsType(Expression).result - endif) - - - - - <p>The <code>ownedFeatureInvertings</code> of a <code>Feature</code> are its <code>ownedRelationships</code> that are <code>FeatureInvertings</code>.</p> - - - OCL2.0 - ownedFeatureInverting = ownedRelationship->selectByKind(FeatureInverting)-> - select(fi | fi.featureInverted = self) - - - - - The <code>featuringTypes</code> of a <code>Feature</code> include the <code>featuringTypes</code> of all the <code>typeFeaturings</code> of the <code>Feature</code>. If the <code>Feature</code> has <code>chainingFeatures</code>, then its <code>featuringTypes</code> also include the <code>featuringTypes</code> of the first <code>chainingFeature</code>. - - - OCL2.0 - featuringType = - let featuringTypes : OrderedSet(Type) = - featuring.type->asOrderedSet() in - if chainingFeature->isEmpty() then featuringTypes - else - featuringTypes-> - union(chainingFeature->first().featuringType)-> - asOrderedSet() - endif - - - - - <p>The <code>ownedReferenceSubsetting</code> of a <code>Feature</code> is the first -<code>ownedSubsetting</code> that is a <code>ReferenceSubsetting</code> (if any).</p> - - - OCL2.0 - ownedReferenceSubsetting = - let referenceSubsettings : OrderedSet(ReferenceSubsetting) = - ownedSubsetting->selectByKind(ReferenceSubsetting) in - if referenceSubsettings->isEmpty() then null - else referenceSubsettings->first() endif - - - - - <p>A <code>Feature</code> must have at most one <code>ownedSubsetting</code> that is an <code>ReferenceSubsetting</code>.</p> - - - OCL2.0 - ownedSubsetting->selectByKind(ReferenceSubsetting)->size() <= 1 - - - - - <p>Each <code>chainingFeature</code> (other than the first) must be featured within the previous <code>chainingFeature</code>.</p> - - - OCL2.0 - Sequence{2..chainingFeature->size()}->forAll(i | - chainingFeature->at(i).isFeaturedWithin(chainingFeature->at(i-1))) - - - - - - <p>If a <code>Feature</code> has <code>isPortion = true</code>, an <code>ownedTyping </code> relationship to a <code>Class</code>, and an <code>owningType</code> that is a <code>Class</code> or another <code>Feature</code> typed by a <code>Class</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::portions</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - isPortion and -ownedTyping.type->includes(oclIsKindOf(Class)) and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Class))) implies - specializesFromLibrary('Occurrence::Occurrence::portions') - - - - - <p>If a <code>Feature</code> has no <code>chainingFeatures</code>, then its <code>featureTarget</code> is the <code>Feature</code> itself, otherwise the <code>featureTarget</code> is the last of the <code>chainingFeatures</code>.</p> - - - OCL2.0 - featureTarget = if chainingFeature->isEmpty() then self else chainingFeature->last() endif - - - - - <p>The <code>ownedCrossSubsetting</code> of a <code>Feature</code> is the <code>ownedSubsetting</code> that is a <code>CrossSubsetting</code>, if any.</p> - - - OCL2.0 - ownedCrossSubsetting = - let crossSubsettings: Sequence(CrossSubsetting) = - ownedSubsetting->selectByKind(CrossSubsetting) in - if crossSubsettings->isEmpty() then null - else crossSubsettings->first() - endif - - - - - <p>If a <code>Feature</code> has <code>isEnd = true</code>, then it must have multiplicity <code>1..1</code>.</p> - - - OCL2.0 - isEnd implies - multiplicities().allSuperTypes()->flatten()-> - selectByKind(MultiplicityRange)->exists(hasBounds(1,1)) - - - - - <p>The <code>crossFeature</code> of a <code>Feature</code> must have the same <code>types</code> as the <code>Feature</code>.</p> - - - OCL2.0 - crossFeature <> null implies - crossFeature.type->asSet() = type->asSet() - - - - - <p>A <code>Feature</code> must have at most one <code>ownedSubsetting</code> that is a <code>CrossSubsetting</code>.</p> - - - OCL2.0 - ownedSubsetting->selectByKind(CrossSubsetting)->size() <= 1 - - - - - <p>The <code>crossFeature</code> of a <code>Feature</code> is the second <code>chainingFeature</code> of the <code>crossedFeature</code> of the <code>ownedCrossSubsetting</code> of the <code>Feature</code>, if any.</p> - - - OCL2.0 - crossFeature = - if ownedCrossSubsetting = null then null - else - let chainingFeatures: Sequence(Feature) = - ownedCrossSubsetting.crossedFeature.chainingFeature in - if chainingFeatures->size() < 2 then null - else chainingFeatures->at(2) - endif - - - - - <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then it must directly or indirectly specialize the <code>types</code> of its owning end <code>Feature</code>.</p> - - - OCL2.0 - isOwnedCrossFeature() implies - owner.oclAsType(Feature).type->forAll(t | self.specializes(t)) - - - - - <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then, for any end <code>Feature</code> that is redefined by the owning end <code>Feature</code> of this <code>Feature</code>, this <code>Feature</code> must subset the <code>crossFeature</code> of the redefined end <code>Feature</code>, if this exists.</p> - - - OCL2.0 - isOwnedCrossFeature() implies - ownedSubsetting.subsettedFeature->includesAll( - owner.oclAsType(Feature).ownedRedefinition.redefinedFeature-> - select(crossFeature <> null).crossFeature) - - - - - <p>If this <code>Feature</code> has a <code>crossFeature</code>, then, for any <code>Feature</code> that is redefined by this <code>Feature</code>, the <code>crossFeature</code> must specialize the <code>crossFeature</code> of the redefined end <code>Feature</code>, if this exists.</p> - - - OCL2.0 - crossFeature <> null implies - ownedRedefinition.redefinedFeature.crossFeature-> - forAll(f | f <> null implies crossFeature.specializes(f)) - - - - - <p>If this <code>Feature</code> has <code>isEnd = true</code> and <code>ownedCrossFeature</code> returns a non-null value, then the <code>crossFeature</code> of the <code>Feature</code> must be the <code>Feature</code> returned from <code>ownedCrossFeature</code> (which implies that this <code>Feature</code> has an appropriate <code>ownedCrossSubsetting</code> to realize this).</p> - - - OCL2.0 - ownedCrossFeature() <> null implies - crossFeature = ownedCrossFeature() - - - - - <p>If this <code>Feature</code> is the <code>ownedCrossFeature</code> of an end <code>Feature</code>, then it must have <code>featuringTypes</code> consistent with the crossing from other end <code>Features</code> of the <code>owningType</code> of its end <code>Feature</code>.</p> - - - OCL2.0 - isOwnedCrossFeature() implies - let otherEnds : OrderedSet(Feature) = - owner.oclAsType(Feature).owningType.endFeature->excluding(self) in - if (otherEnds->size() = 1) then - featuringType = otherEnds->first().type - else - featuringType->size() = 1 and - featuringType->first().isCartesianProduct() and - featuringType->first().asCartesianProduct() = otherEnds.type and - featuringType->first().allSupertypes()->includesAll( - owner.oclAsType(Feature).ownedRedefinition.redefinedFeature-> - select(crossFeature() <> null).crossFeature().featuringType) - endif - - - - - OCL2.0 - isPortion implies not isVariable - - - - - <p>A <code>Feature</code> with <code>isEnd = true</code> must have no direction.</p> - - - OCL2.0 - isEnd implied direction = null - - - - - <p>If a <code>Feature</code> is owned via a <code>FeatureMembership</code>, then it must have a <code>featuringType</code> for which the operation <code>isFeaturingType</code> returns true.</p> - - - OCL2.0 - owningFeatureMembership <> null implies - featuringTypes->exists(t | isFeaturingType(t)) - - - - - <p>A <code>Feature</code> with <code>isConstant = true</code> must have <code>isVariable = true</code>. - - - OCL2.0 - isConstant implies isVariable - - - - - <p>A <code>Feature</code> with <code>isVariable = true</code> must have an <code>owningType</code> that directly or indirectly specializes the <code>Class</code> <em><code>Occurrences::Occurrence</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - isVariable implies - owningType <> null and - owningType.specializes('Occurrences::Occurrence') - - - - - <p>A <code>Feature</code> with <code>isEnd = true</code> must have all of <code>isDerived = false</code>, <code>isAbstract = false</code>, <code>isComposite = false</code>, and <code>isPortion = false</code>.</p> - - - OCL2.0 - isEnd implies not (isDerived or isAbstract or isComposite or isPortion) - - - - - <p>A <code>Feature</code> with <code>isEnd = true</code> and <code>isVariable = true</code> must have <code>isConstant = true</code>.</p> - - - OCL2.0 - isEnd and isVariable implies isConstant - - - - - - <p>The <code>Type</code> that is the <code>owningType</code> of the <code>owningFeatureMembership</code> of this <code>Feature</code>.</p> - - - - - - - <p>Whether or not values for this <code>Feature</code> must have no duplicates or not.</p> - - - - - - - - <p>Whether an order exists for the values of this <code>Feature</code> or not.</p> - - - - - - - <p><code>Types</code> that restrict the values of this <code>Feature</code>, such that the values must be instances of all the <code>types</code>. The types of a <code>Feature</code> are derived from its <code>typings</code> and the <code>types</code> of its <code>subsettings</code>. If the <code>Feature</code> is chained, then the <code>types</code> of the last <code>Feature</code> in the chain are also <code>types</code> of the chained <code>Feature</code>.</p> - - - - - - - - <p>The <code>ownedSubsettings</code> of this <code>Feature</code> that are <code>Redefinitions</code>, for which the <code>Feature</code> is the <code>redefiningFeature</code>.</p> - - - - - - - - - <p>The <code>ownedSpecializations</code> of this <code>Feature</code> that are <code>Subsettings</code>, for which the <code>Feature</code> is the <code>subsettingFeature</code>.</p> - - - - - - - - <p>The <code>FeatureMembership</code> that owns this <code>Feature</code> as an <code>ownedMemberFeature</code>, determining its <code>owningType</code>.</p> - - - - - - - <p>Whether the <code>Feature</code> is a composite <code>feature</code> of its <code>featuringType</code>. If so, the values of the <code>Feature</code> cannot exist after its featuring instance no longer does and cannot be values of another composite feature that is not on the same featuring instance.</p> - - - - - - - - <p>Whether or not this <code>Feature</code> is an end <code>Feature</code>. An end <code>Feature</code> always has multiplicity 1, mapping each of its domain instances to a single co-domain instance. However, it may have a <code>crossFeature</code>, in which case values of the <code>crossFeature</code> must be the same as those found by navigation across instances of the <code>owningType</code> from values of other end <code>Features</code> to values of this Feature. If the <code>owningType</code> has <em>n</em> end <code>Features</code>, then the multiplicity, ordering, and uniqueness declared for the <code>crossFeature</code> of any one of these end <code>Features</code> constrains the cardinality, ordering, and uniqueness of the collection of values of that <code>Feature</code> reached by navigation when the values of the other <em>n-1</em> end <code>Features</code> are held fixed.</p> - - - - - - - - <p>The <code>Type</code> that is related to this <code>Feature</code> by an <code>EndFeatureMembership</code> in which the <code>Feature</code> is an <code>ownedMemberFeature</code>.</p> - - - - - - - <p>The <code>ownedSpecializations</code> of this <code>Feature</code> that are <code>FeatureTypings</code>, for which the <code>Feature</code> is the <code>typedFeature</code>.</p> - - - - - - - <p><code>Types</code> that feature this <code>Feature</code>, such that any instance in the domain of the <code>Feature</code> must be classified by all of these <code>Types</code>, including at least all the <code>featuringTypes</code> of its <code>typeFeaturings</code>. If the <code>Feature</code> is chained, then the <code>featuringTypes</code> of the first <code>Feature</code> in the chain are also <code>featuringTypes</code> of the chained <code>Feature</code>.</p> - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>TypeFeaturings</code> and for which the <code>Feature</code> is the <code>featureOfType</code>.</p> - - - - - - - <p>Whether the values of this <code>Feature</code> can always be computed from the values of other <code>Features</code>.</p> - - - - - - - - <p>The <code>Feature</code> that are chained together to determine the values of this <code>Feature</code>, derived from the <code>chainingFeatures</code> of the <code>ownedFeatureChainings</code> of this <code>Feature</code>, in the same order. The values of a <code>Feature</code> with <code>chainingFeatures</code> are the same as values of the last <code>Feature</code> in the chain, which can be found by starting with the values of the first <code>Feature</code> (for each instance of the domain of the original <code>Feature</code>), then using each of those as domain instances to find the values of the second <code>Feature</code> in chainingFeatures, and so on, to values of the last <code>Feature</code>.</p> - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>FeatureInvertings</code> and for which the <code>Feature</code> is the <code>featureInverted</code>.</p> - - - - - - - <p>The <code>ownedRelationships</code> of this <code>Feature</code> that are <code>FeatureChainings</code>, for which the <code>Feature</code> will be the <code>featureChained</code>.</p> - - - - - - - <p>Whether the values of this <code>Feature</code> are contained in the space and time of instances of the domain of the <code>Feature</code> and represent the same thing as those instances.</p> - - - - - - - - <p>Whether the value of this <code>Feature</code> might vary over time. That is, whether the <code>Feature</code> may have a different value for each <em><code>snapshot</code></em> of an <code>owningType</code> that is an <em><code>Occurrence</code></em>.</p> - - - - - - - <p>If <code>isVariable</code> is true, then whether the value of this <code>Feature</code> nevertheless does not change over all <code><em>snapshots</em></code> of its <code>owningType</code>.</p> - - - - - - - - <p>The one <code>ownedSubsetting</code> of this <code>Feature</code>, if any, that is a <code>ReferenceSubsetting</code>, for which the <code>Feature</code> is the <code>referencingFeature</code>.</p> - - - - - - - <p>The last of the <code>chainingFeatures</code> of this <code>Feature</code>, if it has any. Otherwise, this <code>Feature</code> itself.</p> - - - - - - - <p>The second <code>chainingFeature</code> of the <code>crossedFeature</code> of the <code>ownedCrossSubsetting</code> of this <code>Feature</code>, if it has one. Semantically, the values of the <code>crossFeature</code> of an end <code>Feature</code> must include all values of the end <code>Feature</code> obtained when navigating from values of the other end <code>Features</code> of the same <code>owningType</code>. -</p> - - - - - - - <p>Indicates how values of this <code>Feature</code> are determined or used (as specified for the <code>FeatureDirectionKind</code>).</p> - - - - - - - - <p>The one <code>ownedSubsetting</code> of this <code>Feature</code>, if any, that is a <code>CrossSubsetting}, for which the <code>Feature</code> is the <code>crossingFeature</code>.</p> - - - - - - - <p>Return the <code>directionOf</code> this <code>Feature</code> relative to the given <code>type</code>.</p> - - - - OCL2.0 - type.directionOf(self) - - - - - - - - - - - <p>If a <code>Feature</code> has no <code>declaredShortName</code> or <code>declaredName</code>, then its effective <code>shortName</code> is given by the effective <code>shortName</code> of the <code>Feature</code> returned by the <code>namingFeature()</code> operation, if any.</p> - - - - OCL2.0 - if declaredShortName <> null or declaredName <> null then - declaredShortName -else - let namingFeature : Feature = namingFeature() in - if namingFeature = null then - null - else - namingFeature.effectiveShortName() - endif -endif - - - - - - - - - - - <p>If a <code>Feature</code> has no <code>declaredName</code> or <code>declaredShortName</code> -, then its effective <code>name</code> is given by the effective <code>name</code> of the <code>Feature</code> returned by the <code>namingFeature()</code> operation, if any.</p> - - - - OCL2.0 - if declaredShortName <> null or declaredName <> null then - declaredName -else - let namingFeature : Feature = namingFeature() in - if namingFeature = null then - null - else - namingFeature.effectiveName() - endif -endif - - - - - - - - - - - <p>By default, the naming <code>Feature</code> of a <code>Feature</code> is given by its first <code>redefinedFeature</code> of its first <code>ownedRedefinition</code>, if any.</p> - - - - OCL2.0 - if ownedRedefinition->isEmpty() then - null -else - ownedRedefinition->at(1).redefinedFeature -endif - - - - - - - - - - - OCL2.0 - let supertypes : OrderedSet(Type) = - self.oclAsType(Type).supertypes(excludeImplied) in -if featureTarget = self then supertypes -else supertypes->append(featureTarget) -endif - - - - - - - - - - - - - <p>Check whether this <code>Feature</code> <em>directly</em> redefines the given <code>redefinedFeature</code>.</p> - - - - OCL2.0 - ownedRedefinition.redefinedFeature->includes(redefinedFeature) - - - - - - - - - - <p>Check whether this <code>Feature</code> <em>directly</em> redefines the named library <code>Feature</code>. <code>libraryFeatureName</code> must conform to the syntax of a KerML qualified name and must resolve to a <code>Feature</code> in global scope.</p> - - - - OCL2.0 - let mem: Membership = resolveGlobal(libraryFeatureName) in -mem <> null and mem.memberElement.oclIsKindOf(Feature) and -redefines(mem.memberElement.oclAsType(Feature)) - - - - - - - - - - - - <p>Check whether this <code>Feature</code> directly or indirectly specializes a <code>Feature</code> whose last two <code>chainingFeatures</code> are the given <code>Features</code> <code>first</code> and <code>second</code>.</p> - - - - OCL2.0 - allSuperTypes()->selectAsKind(Feature)-> - exists(f | let n: Integer = f.chainingFeature->size() in - n >= 2 and - f.chainingFeature->at(n-1) = first and - f.chainingFeature->at(n) = second) - - - - - - - - - - - <p>A <code>Feature</code> is compatible with an <code>otherType</code> if it either directly or indirectly specializes the <code>otherType</code> or if the <code>otherType</code> is also a <code>Feature</code> and all of the following are true.</p> -<ol> - <li>Neither this <code>Feature</code> or the <code>otherType</code> have any <code>ownedFeatures</code>.</li> - <li>This <code>Feature</code> directly or indirectly redefines a <code>Feature</code> that is also directly or indirectly redefined by the <code>otherType</code>.</li> - <li>This <code>Feature</code> can access the <code>otherType</code>. -</li></ol> - - - - OCL2.0 - specializes(otherType) or - supertype.oclIsKindOf(Feature) and - ownedFeature->isEmpty() and - otherType.ownedFeature->isEmpty() and - ownedRedefinitions.allRedefinedFeatures()->exists(f | - otherType.oclAsType(Feature).allRedefinedFeatures()->includes(f)) and - canAccess(otherType.oclAsType(Feature)) - - - - - - - - - - <p>Return the <code>Features</code> used to determine the <code>types</code> of this <code>Feature</code> (other than this <code>Feature</code> itself). If this <code>Feature</code> is <em>not</em> conjugated, then the <code>typingFeatures</code> consist of all subsetted <code>Features</code>, <em>except</em> from <code>CrossSubsetting</code>, and the last <code>chainingFeature</code> (if any). If this <code>Feature</code> <em>is</em> conjugated, then the <code>typingFeatures</code> are only its <code>originalType</code> (if the <code>originalType</code> is a <code>Feature</code>).</p> - -<p><strong>Note.</strong> <code>CrossSubsetting</code> is excluded from the determination of the <code>type</code> of a <code>Feature</code> in order to avoid circularity in the construction of implied <code>CrossSubsetting</code> relationships. The <code>validateFeatureCrossFeatureType</code> requires that the <code>crossFeature</code> of a <code>Feature</code> have the same <code>type</code> as the <code>Feature</code>.</p> - - - - - OCL2.0 - if not isConjugated then - let subsettedFeatures : OrderedSet(Feature) = - subsetting->reject(s | s.oclIsKindOf(CrossSubsetting)).subsettedFeatures in - if chainingFeature->isEmpty() or - subsettedFeature->includes(chainingFeature->last()) - then subsettedFeatures - else subsettedFeatures->append(chainingFeature->last()) - endif -else if conjugator.originalType.oclIsKindOf(Feature) then - OrderedSet{conjugator.originalType.oclAsType(Feature)} -else OrderedSet{} -endif endif - - - - - - - - - - <p>If <code>isCartesianProduct</code> is true, then return the list of <code>Types</code> whose Cartesian product can be represented by this <code>Feature</code>. (If <code>isCartesianProduct</code> is not true, the operation will still return a valid value, it will just not represent anything useful.)</p> - - - - OCL2.0 - featuringType->select(t | t.owner <> self)-> - union(featuringType->select(t | t.owner = self)-> - selectByKind(Feature).asCartesianProduct())-> - union(type) - - - - - - - - - - <p>Check whether this <code>Feature</code> can be used to represent a Cartesian product of <code>Types</code>.</p> - - - - OCL2.0 - type->size() = 1 and -featuringType.size() = 1 and -(featuringType.first().owner = self implies - featuringType.first().oclIsKindOf(Feature) and - featuringType.first().oclAsType(Feature).isCartesianProduct()) - - - - - - - - - <p>Return whether this <code>Feature</code> is an owned cross <code>Feature</code> of an end <code>Feature</code>.</p> - - - - OCL2.0 - owningNamespace <> null and -owningNamespace.oclIsKindOf(Feature) and -owningNamespace.oclAsType(Feature).ownedCrossFeature() = self - - - - - - - - - <p>If this <code>Feature</code> is an end <code>Feature</code> of its <code>owningType</code>, then return the first <code>ownedMember</code> of the <code>Feature</code> that is a <code>Feature</code>, but not a <code>Multiplicity</code> or a <code>MetadataFeature</code>, and whose <code>owningMembership</code> is <em>not</em> a <code>FeatureMembership</code>. If this exists, it is the <code>crossFeature</code> of the end <code>Feature</code>.</p> - - - - OCL2.0 - if not isEnd or owningType = null then null -else - let ownedMemberFeatures: Sequence(Feature) = - ownedMember->selectByKind(Feature)-> - reject(oclIsKindOf(Multiplicity) or - oclIsKindOf(MetadataFeature) or - oclIsKindOf(FeatureValue))-> - reject(owningMembership.oclIsKindOf(FeatureMembership)) in - if ownedMemberFeatures.isEmpty() then null - else ownedMemberFeatures->first() - endif - - - - - - - - - - <p>Return this <code>Feature</code> and all the <code>Features</code> that are directly or indirectly <code>Redefined</code> by this <code>Feature</code>.</p> - - - - OCL2.0 - ownedRedefinition.redefinedFeature-> - closure(ownedRedefinition.redefinedFeature)-> - asOrderedSet()->prepend(self) - - - - - - - - - - - <p>Return if the <code>featuringTypes</code> of this <code>Feature</code> are compatible with the given <code>type</code>. If <code>type</code> is null, then check if this <code>Feature</code> is explicitly or implicitly featured by <em><code>Base::Anything</code></em>. If this <code>Feature</code> has <code>isVariable = true</code>, then also consider it to be featured within its <code>owningType</code>. If this <code>Feature</code> is a feature chain whose first <code>chainingFeature</code> has <code>isVariable = true</code>, then also consider it to be featured within the <code>owningType</code> of its first <code>chainingFeature</code>.</p> - - - - OCL2.0 - if type = null then - featuringType->forAll(f | f = resolveGlobal('Base::Anything').memberElement) -else - featuringType->forAll(f | type.isCompatibleWith(f)) or - isVariable and type.specializes(owningType) or - chainingFeature->notEmpty() and chainingFeature->first().isVariable and - type.specializes(chainingFeature->first().owningType) -endif - - - - - - - - - - - - - <p>A <code>Feature</code> can access another <code>feature</code> if the other <code>feature</code> is featured within one of the direct or indirect <code>featuringTypes</code> of this <code>Feature</code>.</p> - - - - OCL2.0 - let anythingType: Element = - subsettingFeature.resolveGlobal('Base::Anything').memberElement in -let allFeaturingTypes : Sequence(Type) = - featuringTypes->closure(t | - if not t.oclIsKindOf(Feature) then Sequence{} - else - let featuringTypes : OrderedSet(Type) = t.oclAsType(Feature).featuringType in - if featuringTypes->isEmpty() then Sequence{anythingType} - else featuringTypes - endif - endif) in -allFeaturingTypes->exists(t | feature.isFeaturedWithin(t)) - - - - - - - - - - <p>Return whether the given <code>type</code> must be a <code>featuringType</code> of this <code>Feature</code>. If this <code>Feature</code> has <code>isVariable = false</code>, then return true if the <code>type</code> is the <code>owningType</code> of the <code>Feature</code>. If <code>isVariable = true</code>, then return true if the <code>type</code> is a <code>Feature</code> representing the <em><code>snapshots</code></em> of the <code>owningType</code> of this <code>Feature</code>.</p> - - - - OCL2.0 - owningType <> null and -if not isVariable then type = owningType -else if owningType = resolveGlobal('Occurrences::Occurrence').memberElement then - type = resolveGlobal('Occurrences::Occurrence::snapshots').memberElement -else - type.oclIsKindOf(Feature) and - let feature : Feature = type.oclAsType(Feature) in - feature.featuringType->includes(owningType) and - feature.redefinesFromLibrary('Occurrences::Occurrence::snapshots') -endif - - - - - - - - - - - - <p><code>FeatureTyping</code> is <code>Specialization</code> in which the <code>specific</code> <code>Type</code> is a <code>Feature</code>. This means the set of instances of the (specific) <code>typedFeature</code> is a subset of the set of instances of the (general) <code>type</code>. In the simplest case, the <code>type</code> is a <code>Classifier</code>, whereupon the <code>typedFeature</code> has values that are instances of the <code>Classifier</code>.</p> - - - - - - <p>The <code>Feature</code> that has a <code>type</code> determined by this <code>FeatureTyping</code>.</p> - - - - - - - <p>The <code>Type</code> that is being applied by this <code>FeatureTyping</code>.</p> - - - - - - - - <p>A <code>typedFeature</code> that is also the <code>owningRelatedElement</code> of this <code>FeatureTyping</code>.</p> - - - - - - - - <p><code>Subsetting</code> is <code>Specialization</code> in which the <code>specific</code> and <code>general</code> <code>Types</code> are <code>Features</code>. This means all values of the <code>subsettingFeature</code> (on instances of its domain, i.e., the intersection of its <code>featuringTypes</code>) are values of the <code>subsettedFeature</code> on instances of its domain. To support this the domain of the <code>subsettingFeature</code> must be the same or specialize (at least indirectly) the domain of the <code>subsettedFeature</code> (via <code>Specialization</code>), and the co-domain (intersection of the <code>types</code>) of the <code>subsettingFeature</code> must specialize the co-domain of the <code>subsettedFeature</code>.</p> - - - - - <p>The <code>subsettedFeature</code> must be accessible by the <code>subsettingFeature</code>.</p> - - - OCL2.0 - subsettingFeature.canAccess(subsettedFeature) - - - - - <p>If the <code>subsettedFeature</code> of a <code>Subsetting</code> has <code>isUnique = true</code>, then the <code>subsettingFeature</code> must have <code>isUnique = true</code>.</p> - - - OCL2.0 - subsettedFeature.isUnique implies subsettingFeature.isUnique - - - - - <p>If the <code>subsettedFeature</code> of a <code>Subsetting</code> has <code>isConstant = true</code> and the <code>subsettingFeature</code> has <code>isVariable = true</code>, then the <code>subsettingFeature</code> must have <code>isConstant = true</code>.</p> - - - OCL2.0 - subsettedFeature.isConstant and subsettingFeature.isVariable implies - subsettingFeature.isConstant - - - - - - - <p>The <code>Feature</code> that is subsetted by the <code>subsettingFeature</code> of this <code>Subsetting</code>.</p> - - - - - - - - <p>The <code>Feature</code> that is a subset of the <code>subsettedFeature</code> of this <code>Subsetting</code>.</p> - - - - - - - - <p>A <code>subsettingFeature</code> that is also the <code>owningRelatedElement</code> of this <code>Subsetting</code>.</p> - - - - - - - - - - - <p>The Redefinitions with a certain Feature as the <code>redefiningFeature</code>.</p> - - - - - - - - - - <p>The Subsettings with a certain Feature as the <code>subsettedFeature</code>.</p> - - - - - - - - - <p>A <code>Type</code> that has the <code>multiplicity</code> as an <code>ownedMember</code>.</p> - - - - - - - - - - <p>The <code>TypeFeaturings</code> for which a certain <code>Feature</code> is the <code>featureOfType</code>.</p> - - - - - - - - - <p>The Features for which a certain Type is a <code>featuringType</code>.</p> - - - - - - - - <p>A <code>TypeFeaturing</code> is a <code>Featuring</code> <code>Relationship</code> in which the <code>featureOfType</code> is the <code>source</code> and the <code>featuringType</code> is the <code>target</code>.</p> - - - - - <p>The <code>Feature</code> that is featured by the <code>featuringType</code>. It is the <code>source</code> of the <code>TypeFeaturing</code>.</p> - - - - - - - <p>The <code>Type</code> that features the <code>featureOfType</code>. It is the <code>target</code> of the <code>TypeFeaturing</code>.</p> - - - - - - - <p>A <code>featureOfType</code> that is also the <code>owningRelatedElement</code> of this <code>TypeFeaturing</code>.</p> - - - - - - - - - - <p>The <code>TypeFeaturings</code> for which a certain <code>Type</code> is the <code>featuringType</code>.</p> - - - - - - - - - <p><code>EndFeatureMembership</code> is a <code>FeatureMembership</code> that requires its <code>memberFeature</code> be owned and have <code>isEnd = true</code>.</p> - - - - - <p>The <code>ownedMemberFeature</code> of an <code>EndFeatureMembership</code> must be an end <code>Feature</code>.</p> - - - OCL2.0 - ownedMemberFeature.isEnd - - - - - - - - - - - <p>Relationship for chainedFeatures.</p> - - - - <p>The <code>FeatureChainings</code> that identify a <code>Feature</code> as their <code>chainingFeature</code>.</p> - - - - - - - - <p><code>FeatureChaining</code> is a <code>Relationship</code> that makes its target <code>Feature</code> one of the <code>chainingFeatures</code> of its owning <code>Feature</code>.</p> - - - - - <p>The <code>Feature</code> whose values partly determine values of <code>featureChained</code>, as described in <code>Feature::chainingFeature</code>.</p> - - - - - - - - <p>The <code>Feature</code> whose values are partly determined by values of the <code>chainingFeature</code>, as described in <code>Feature::chainingFeature</code>.</p> - - - - - - - - - - <p>The <code>Features</code> that have a particular <code>chainingFeature</code> in their <code>Feature</code> chain, whose values are partly determined by values of the <code>chainingFeature</code>, as described in <code>chainingFeature</code>.</p> - - - - - - - - - - - - - - <p>A <code>FeatureInverting</code> is a <code>Relationship</code> between <code>Features</code> asserting that their interpretations (sequences) are the reverse of each other, identified as <code>featureInverted</code> and <code>invertingFeature</code>. For example, a <code>Feature</code> identifying each person&#39;s parents is the inverse of a <code>Feature</code> identifying each person&#39;s children. A person identified as a parent of another will identify that other as one of their children.</p> - - - - - - <p>The <code>Feature</code> that is an inverse of the <code>invertingFeature</code>.</p> - - - - - - - <p>The <code>Feature</code> that is an inverse of the <code>invertedFeature</code>.</p> - - - - - - - <p>A <code>featureInverted</code> that is also the <code>owningRelatedElement</code> of this <code>FeatureInverting</code>.</p> - - - - - - - - - - <p>The FeatureInvertings that identify this Feature as their <code>featureInverted</code>.</p> - - - - - - - - - <p>The FeatureInvertings that identify this Feature as their <code>invertingFeature</code>.</p> - - - - - - - - - - <p><code>ReferenceSubsetting</code> is a kind of <code>Subsetting</code> in which the <code>referencedFeature</code> is syntactically distinguished from other <code>Features</code> subsetted by the <code>referencingFeature</code>. <code>ReferenceSubsetting</code> has the same semantics as <code>Subsetting</code>, but the <code>referencedFeature</code> may have a special purpose relative to the <code>referencingFeature</code>. For instance, <code>ReferenceSubsetting</code> is used to identify the <code>relatedFeatures</code> of a <code>Connector</code>.</p> - -<p><code>ReferenceSubsetting</code> is always an <code>ownedRelationship</code> of its <code>referencingFeature</code>. A <code>Feature</code> can have at most one <code>ownedReferenceSubsetting</code>.</p> - - - - - - <p>The <code>Feature</code> that is referenced by the <code>referencingFeature</code> of this <code>ReferenceSubsetting</code>.</p> - - - - - - - - <p>The <code>Feature</code> that owns this <code>ReferenceSubsetting</code> relationship, which is also its <code>subsettingFeature</code>.</p> - - - - - - - - - - <p>The <code>ReferenceSubsetting</code> with a certain <code>Feature</code> as the <code>referencedFeature</code>.</p> - - - - - - - - - <p>The <code>Features</code> that identify a <code>Feature</code> as their <code>featureTarget</code>.</p> - - - <p>The <code>Features</code> that are the same as or the <code>chainedFeature</code> for a <code>targetFeature</code>.</p> - - - - - - - - - - <p>The <code>CrossSubsetting</code> with a certain <code>Feature</code> as the <code>crossedFeature</code>.</p> - - - - - - - - - <p>The <code>Features</code> with a certain other <code>Feature</code> as the <code>crossFeature</code>.</p> - - - - - - - - <p><code>CrossSubsetting</code> is a kind of <code>Subsetting</code> for end <code>Features</code>, as identified by <code>crossingFeature</code>, to subset a chained <code>Feature</code>, identified by <code>crossedFeature.</code> It navigates to instances of the end <code>Feature</code>’s type from instances of other end <code>Feature</code> types on the same <code>owningType</code> (at least two end <code>Features</code> are required for any of them to have a <code>CrossSubsetting</code>).</p> - -<p>The <code>crossedFeature</code> of a <code>CrossSubsetting</code> must have a feature chain of exactly two <code>Features</code>. The second <code>Feature</code> in the chain is the <code>crossFeature</code> of the <code>crossingFeature</code> (end <code>Feature</code>), which has the same type as the <code>crossingFeature</code>. When the <code>owningType</code> of the <code>crossingFeature</code> has exactly two end <code>Features</code>, the first <code>Feature</code> in the chain of the <code>crossedFeature</code> is the other end <code>Feature</code>. The <code>crossFeature</code>’s <code>featuringType</code> in this case is the other end <code>Feature</code>. When the <code>owningType</code> has more than two end <code>Features</code>, the first <code>Feature</code> in the chain is a <code>Feature</code> that <code>CrossMultiplies</code> all the other end <code>Features</code>, which is also the <code>featuringType</code> of the <code>crossFeature</code>.</p> - -<p>A <code>crossFeature</code> must be owned by its <code>featureCrossing</code> (end <code>Feature</code>) when the <code>featureCrossing</code> <code>owningType</code> has more than two end <code>Features</code>. Otherwise, for exactly two end <code>Features</code>, the <code>crossFeatures</code> of each the ends can instead optionally be inherited by the other end from one of its <code>types</code> or a subsetted <code>Feature</code>.</p> - - - - <p>The <code>crossedFeature</code> of a <code>CrossSubsetting</code> must have exactly two <code>chainingFeatures</code>. If the <code>crossingFeature</code> of the <code>CrossSubsetting</code> is one of two end <code>Features</code>, then the first <code>chainingFeature</code> must be the other end <code>Feature</code>.</p> - - - OCL2.0 - crossingFeature.isEnd and crossingFeature.owningType <> null implies - let endFeatures: Sequence(Feature) = crossingFeature.owningType.endFeature in - let chainingFeatures: Sequence(Feature) = crossedFeature.chainingFeature in - chainingFeatures->size() = 2 and - endFeatures->size() = 2 implies - chainingFeatures->at(1) = endFeatures->excluding(crossingFeature)->at(1) - - - - - <p>The <code>crossingFeature</code> of a <code>CrossSubsetting</code> must be an end <code>Feature</code> that is owned by a <code>Type</code> with at least two end <code>Features</code>.</p> - - - OCL2.0 - crossingFeature.isEnd and -crossingFeature.owningType<>null and -crossingFeature.owningType.endFeature ->size() > 1 - - - - - - <p>The chained <code>Feature</code> that is cross subset by the <code>crossingFeature</code> of this <code>CrossSubsetting</code>.</p> - - - - - - - - <p>The end <code>Feature</code> that owns this <code>CrossSubsetting</code> relationship and is also its </code>subsettingFeature</code>.</p> - - - - - - - - - - The Kernel layer completes the KerML metamodel. - - - - - - - - - - - - - <p>The ItemFlow that has a certain <code>sourceOutputFeature</code>.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>PayloadFeature</code> is the <code>ownedFeature</code> of a <code>Flow</code> that identifies the things carried by the kinds of transfers that are instances of the <code>Flow</code>.</p> - - - - <p>A <code>PayloadFeature</code> must redefine the <code>Feature</code> <code><em>Transfers::Transfer::payload</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - redefinesFromLibrary('Transfers::Transfer::payload') - - - - - - - <p>The ItemFlow that has a certain <code>itemType</code>.</p> - - - - - - - - - <p>An <code>Interaction</code> is a <code>Behavior</code> that is also an <code>Association</code>, providing a context for multiple objects that have behaviors that impact one another.</p> - - - - - - - - <p>A <code>SuccessionFlow</code> is a <code>Flow</code> that also provides temporal ordering. It classifies <code><em>Transfers</em></code> that cannot start until the source <code><em>Occurrence</em></code> has completed and that must complete before the target <code><em>Occurrence</em></code> can start.</p> - - - - <p>A <code>SuccessionFlow</code> must directly or indirectly specialize the <code>Step</code> <code><em>Transfers::flowTransfersBefore</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Transfers::flowTransfersBefore') - - - - - - - - - <p>The ItemFlow that has a certain <code>targetInputFeature</code>.</p> - - - - - - - - <p>An <code>Flow</code> is a <code>Step</code> that represents the transfer of values from one <code>Feature</code> to another. <code>Flows</code> can take non-zero time to complete.</p> - - - - - <p>A <code>Flow</code> must directly or indirectly specialize the <code>Step</code> <code><em>Transfers::transfers</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Transfers::transfers') - - - - - <p>The <code>payloadTypes</code> of a <code>Flow</code> are the <code>types</code> of the <code>payloadFeature</code> of the <code>Flow</code> (if any).</p> - - - OCL2.0 - payloadType = - if payloadFeature = null then Sequence{} - else payloadFeature.type - endif - - - - - <p>The <code>sourceOutputFeature</code> of a <code>Flow</code> is the first <code>ownedFeature</code> of the first <code>connectorEnd</code> of the <code>Flow</code>.</p> - - - OCL2.0 - sourceOutputFeature = - if connectorEnd->isEmpty() or - connectorEnd.ownedFeature->isEmpty() - then null - else connectorEnd.ownedFeature->first() - endif - - - - - <p>The <code>targetInputFeature</code> of a <code>Flow</code> is the first <code>ownedFeature</code> of the second <code>connectorEnd</code> of the <code>Flow</code>.</p> - - - OCL2.0 - targetInputFeature = - if connectorEnd->size() < 2 or - connectorEnd->at(2).ownedFeature->isEmpty() - then null - else connectorEnd->at(2).ownedFeature->first() - endif - - - - - <p>The <code>flowEnds</code> of a <code>Flow</code> are all its <code>connectorEnds</code> that are <code>FlowEnds</code>.</p> - - - OCL2.0 - flowEnd = connectorEnd->selectByKind(FlowEnd) - - - - - <p>The <code>payloadFeature</code> of a <code>Flow</code> is the single one of its <code>ownedFeatures</code> that is a <code>PayloadFeature</code>.</p> - - - OCL2.0 - payloadFeature = - let payloadFeatures : Sequence(PayloadFeature) = - ownedFeature->selectByKind(PayloadFeature) in - if payloadFeatures->isEmpty() then null - else payloadFeatures->first() - endif - - - - - <p>A <code>Flow</code> must have at most one <code>ownedFeature</code> that is an <code>PayloadFeature</code>.</p> - - - OCL2.0 - ownedFeature->selectByKind(PayloadFeature)->size() <= 1 - - - - - <p>A <code>Flow</code> with <code>ownedEndFeatures</code> must specialize the <code>Step</code> <code><em>Transfers::flowTransfers</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - ownedEndFeatures->notEmpty() implies - specializesFromLibrary('Transfers::flowTransfers') - - - - - - - <p>The type of values transferred, which is the <code>type</code> of the <code>payloadFeature</code> of the <code>Flow</code>.</p> - - - - - - - - - <p>The <code>Feature</code> that receives the values carried by the <code>Flow</code>. It must be a <code>feature</code> of the <code>target</code> of the <code>Flow</code>.</p> - - - - - - - <p>The <code>Feature</code> that provides the items carried by the <code>Flow</code>. It must be a <code>feature</code> of the <code>source</code> of the <code>Flow</code>.</p> - - - - - - - - <p>The <code>connectorEnds</code> of this <code>Flow</code> that are <code>FlowEnds</code>.</p> - - - - - - - - <p>The <code>ownedFeature</code> of the <code>Flow</code> that is a <code>PayloadFeature</code> (if any).</p> - - - - - - - - <p>The <code>Interactions</code> that type this <code>Flow</code>. <code>Interactions</code> are both <code>Associations</code> and <code>Behaviors</code>, which can type <code>Connectors</code> and <code>Steps</code>, respectively.</p> - - - - - - - - <p>A <code>FlowEnd</code> is a <code>Feature</code> that is one of the <code>connectorEnds</code> giving the <code><em>source</em></code> or <code><em>target</em></code> of a <code>Flow</code>. For <code>Flows</code> typed by <code><em>FlowTransfer</em></code> or its specializations, <code>FlowEnds</code> must have exactly one <code>ownedFeature</code>, which redefines <code><em>Transfer::source::sourceOutput</em></code> or <code><em>Transfer::target::targetInput</em></code> and redefines the corresponding feature of the <code>relatedElement</code> for its end.</p> - - - - <p>A <code>FlowEnd</code> must be an end <code>Feature</code>.</p> - - - OCL2.0 - isEnd - - - - - <p>A <code>FlowEnd</code> must have exactly one <code>ownedFeature</code>.</p> - - - OCL2.0 - ownedFeature->size() = 1 - - - - - <p>The <code>owningType</code> of a <code>FlowEnd</code> must be a <code>Flow</code>.</p> - - - OCL2.0 - owningType <> null and owningType.oclIsKindOf(Flow) - - - - - - - - - <p>A <code>LibraryPackage</code> is a <code>Package</code> that is the container for a model library. A <code>LibraryPackage</code> is itself a library <code>Element</code> as are all <code>Elements</code> that are directly or indirectly contained in it.</p> - - - - - - <p>Whether this <code>LibraryPackage</code> contains a standard library model. This should only be set to true for <code>LibraryPackages</code> in the standard Kernel Model Libraries or in normative model libraries for a language built on KerML.</p> - - - - - - - <p>The <code>libraryNamespace</code> for a <code>LibraryPackage</code> is itself.</p> - - - - OCL2.0 - self - - - - - - - - - - - <p><code>ElementFilterMembership</code> is a <code>Membership</code> between a <code>Namespace</code> and a model-level evaluable <code><em>Boolean</em></code>-valued <code>Expression</code>, asserting that imported <code>members</code> of the <code>Namespace</code> should be filtered using the <code>condition</code> <code>Expression</code>. A general <code>Namespace</code> does not define any specific filtering behavior, but such behavior may be defined for various specialized kinds of <code>Namespaces</code>.</p> - - - - - <p>The <code>condition</code> <code>Expression</code> must be model-level evaluable.</p> - - - OCL2.0 - condition.isModelLevelEvaluable - - - - - <p>The <code>result</code> <code>parameter</code> of the <code>condition</code> <code>Expression</code> must directly or indirectly specialize <code><em>ScalarValues::Boolean</em></code>.</p> - - - OCL2.0 - condition.result.specializesFromLibrary('ScalarValues::Boolean') - - - - - - <p>The model-level evaluable <code>Boolean</code>-valued <code>Expression</code> used to filter the imported <code>members</code> of the <code>membershipOwningNamespace</code> of this <code>ElementFilterMembership</code>.</p> - - - - - - - - - - <p>The Package that has a certain Expression as a <code>filterCondition</code>.</p> - - - - - - - - <p>A <code>Package</code> is a <code>Namespace</code> used to group <code>Elements</code>, without any instance-level semantics. It may have one or more model-level evaluable <code>filterCondition</code> <code>Expressions</code> used to filter its <code>importedMemberships</code>. Any imported <code>member</code> must meet all of the <code>filterConditions</code>.</p> - - - - <p>The <code>filterConditions</code> of a <code>Package</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> - - - OCL2.0 - filterCondition = ownedMembership-> - selectByKind(ElementFilterMembership).condition - - - - - - <p>The model-level evaluable <code><em>Boolean</em></code>-valued <code>Expression</code> used to filter the <code>members</code> of this <code>Package</code>, which are owned by the <code>Package</code> are via <code>ElementFilterMemberships</code>.</p> - - - - - - - - <p>Exclude <code>Elements</code> that do not meet all the <code>filterConditions</code>.</p> - - - - - OCL2.0 - self.oclAsType(Namespace).importedMemberships(excluded)-> - select(m | self.includeAsMember(m.memberElement)) - - - - - - - - - - - - - - <p>Determine whether the given <code>element</code> meets all the <code>filterConditions</code>.</p> - - - - OCL2.0 - let metadataFeatures: Sequence(AnnotatingElement) = - element.ownedAnnotation.annotatingElement-> - selectByKind(MetadataFeature) in - self.filterCondition->forAll(cond | - metadataFeatures->exists(elem | - cond.checkCondition(elem))) - - - - - - - - - - - - <p>The ElementFilterMembership that owns the <code>condition</code>.</p> - - - - - - - - - - <p>A <code>Class</code> is a <code>Classifier</code> of things (in the universe) that can be distinguished without regard to how they are related to other things (via <code>Features</code>). This means multiple things classified by the same <code>Class</code> can be distinguished, even when they are related other things in exactly the same way.</p> - - - - - <p>A <code>Class</code> must directly or indirectly specialize the base <code>Class</code> <code><em>Occurrences::Occurrence</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Occurrences::Occurrence') - - - - - <p>A <code>Class</code> must not specialize a <code>DataType</code> and it can only specialize an <code>Association</code> if it is also itself a kind of <code>Association</code> (such as an <code>AssociationStructure</code> or <code>Interaction</code>).</p> - - - OCL2.0 - ownedSpecialization.general-> - forAll(not oclIsKindOf(DataType)) and -not oclIsKindOf(Association) implies - ownedSpecialization.general-> - forAll(not oclIsKindOf(Association)) - - - - - - - - - <p><code>LiteralBoolean</code> is a <code>LiteralExpression</code> that provides a <code><em>Boolean</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have type <code><em>Boolean</em></code>.</p> - - - - - <p>A <code>LiteralBoolean</code> must directly or indirectly specialize <em><code>Performances::literalBooleanEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalBooleanEvaluations') - - - - - - <p>The <code><em>Boolean</em></code> value that is the result of evaluating this <code>LiteralBoolean</code>.</p> - - - <p>The Boolean value that is the result of evaluating this Expression.</p> - - - - - - - - <p>A <code>LiteralExpression</code> is an <code>Expression</code> that provides a basic <code><em>DataValue</em></code> as a result.</p> - - - - - <p>A <code>LiteralExpression</code> is always model-level evaluable.</p> - - - OCL2.0 - isModelLevelEvaluable = true - - - - - <p>A <code>LiteralExpression</code> must directly or indirectly specialize the base <code>LiteralExpression</code> <code><em>Performances::literalEvaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalEvaluations') - - - - - - <p>A <code>LiteralExpression</code> is always model-level evaluable.</p> - - - - OCL2.0 - true - - - - - - - - - - - - - <p>The model-level value of a <code>LiteralExpression</code> is itself.</p> - - - - OCL2.0 - Sequence{self} - - - - - - - - - - - - <p>A <code>LiteralRational</code> is a <code>LiteralExpression</code> that provides a <code><em>Rational</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>Rational</em></code>.</p> - - - - - <p>A <code>LiteralRational</code> must directly or indirectly specialize <em><code>Performances::literalRationalEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalRationalEvaluations') - - - - - - <p>The value whose rational approximation is the result of evaluating this <code>LiteralRational</code>.</p> - - - - <p>The Real value that is the result of evaluating this Expression.</p> - - - - - - - <p>A <code>LiteralInfinity</code> is a <code>LiteralExpression</code> that provides the positive infinity value (<code>*</code>). It's <code>result</code> must have the type <code><em>Positive</em></code>.</p> - - - - - <p>A <code>LiteralInfinity</code> must directly or indirectly specialize <em><code>Performances::literalIntegerEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalIntegerEvaluations') - - - - - - - <p>A <code>LiteralInteger</code> is a <code>LiteralExpression</code> that provides an <code><em>Integer</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>Integer</em></code>.</p> - - - - - <p>A <code>LiteralInteger</code> must directly or indirectly specialize <em><code>Performances::literalIntegerEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalIntegerEvaluations') - - - - - - <p>The <code><em>Integer</em></code> value that is the result of evaluating this <code>LiteralInteger</code>.</p> - - - <p>The Integer value that is the result of evaluating this Expression.</p> - - - - - - - - <p>A <code>NullExpression</code> is an <code>Expression</code> that results in a null value.</p> - - - - - <p>A <code>NullExpression</code> must directly or indirectly specialize the base <code>NullExpression</code> <code><em>Performances::nullEvaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::nullEvaluations') - - - - - - <p>A <code>NullExpression</code> is always model-level evaluable.</p> - - - - OCL2.0 - true - - - - - - - - - - - - - <p>The model-level value of a <code>NullExpression</code> is an empty sequence.</p> - - - - OCL2.0 - Sequence{} - - - - - - - - - - - - <p>A <code>LiteralString</code> is a <code>LiteralExpression</code> that provides a <code><em>String</em></code> value as a result. Its <code>result</code> <code>parameter</code> must have the type <code><em>String</em></code>.</p> - - - - - <p>A <code>LiteralString</code> must directly or indirectly specialize <em><code>Performances::literalStringEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::literalStringEvaluations') - - - - - - <p>The String value that is the result of evaluating this Expression.</p> - - - <p>The <code><em>String</em></code> value that is the result of evaluating this <code>LiteralString</code>.</p> - - - - - - - - <p>An <code>InvocationExpression</code> is an <code>InstantiationExpression</code> whose <code>instantiatedType</code> must be a <code>Behavior</code> or a <code>Feature</code> typed by a single <code>Behavior</code> (such as a <code>Step</code>). Each of the input <code>parameters</code> of the <code>instantiatedType</code> are bound to the <code>result</code> of an <code>argument</code> <code>Expression</code>. If the <code>instantiatedType</code> is a <code>Function</code> or a <code>Feature</code> typed by a <code>Function</code>, then the <code>result</code> of the <code>InvocationExpression</code> is the <code>result</code> of the invoked <code>Function</code>. Otherwise, the <code>result</code> is an instance of the <code>instantiatedType</code> (essentially like a behavioral <code>ConstructorExpression</code>).</p> - - - - - <p>If the <code>instantiatedType</code> of an <code>InvocationExpression</code> is neither a <code>Function</code> nor a <code>Feature</code> whose type is a <code>Function</code>, then the <code>InvocationExpression</code> must own a <code>BindingConnector</code> between itself and its <code>result</code> parameter.</p> - - - OCL2.0 - not instantiatedType.oclIsKindOf(Function) and -not (instantiatedType.oclIsKindOf(Feature) and - instantiatedType.oclAsType(Feature).type->exists(oclIsKindOf(Function))) implies - ownedFeature.selectByKind(BindingConnector)->exists( - relatedFeature->includes(self) and - relatedFeature->includes(result)) - - - - - <p>An <code>InvocationExpression</code> must own a <code>BindingConnector</code> between the <code>featureWithValue</code> and <code>value</code> <code>Expression</code> of any <code>FeatureValue</code> that is the effective default value for a <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> - - - OCL2.0 - TBD - - - - - <p>The <code>arguments</code> of an <code>InvocationExpression</code> are the <code>value</code> <code>Expressions</code> of the <code>FeatureValues</code> of its <code>ownedFeatures</code>, in an order corresponding to the order of the <code>input</code> parameters of the <code>instantiatedType</code> that the <code>ownedFeatures</code> redefine.</p> - - - OCL2.0 - instantiatedType.input->collect(inp | - ownedFeatures->select(redefines(inp)).valuation-> - select(v | v <> null).value -) - - - - - <p>Each <code>input</code> parameter of an <code>InvocationExpression</code> must redefine exactly one <code>input</code> parameter of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> - - - OCL2.0 - let parameters : OrderedSet(Feature) = instantiatedType.input in -input->forAll(inp | - inp.ownedRedefinition.redefinedFeature-> - intersection(parameters)->size() = 1) - - - - - <p>Two different <code>ownedFeatures</code> of an <code>InvocationExpression</code> must not redefine the same <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> - - - OCL2.0 - let features : OrderedSet(Feature) = instantiatedType.feature in -input->forAll(inp1 | input->forAll(inp2 | - inp1 <> inp2 implies - inp1.ownedRedefinition.redefinedFeature-> - intersection(inp2.ownedRedefinition.redefinedFeature)-> - intersection(features)->isEmpty())) - - - - - <p>If the <code>instantiatedType</code> of an <code>InvocationExpression</code> is neither a <code>Function</code> nor a <code>Feature</code> whose type is a <code>Function</code>, then the <code>result</code> of the <code>InvocationExpression</code> must specialize the <code>instantiatedType</code>.</p> - - - OCL2.0 - not instantiatedType.oclIsKindOf(Function) and -not (instantiatedType.oclIsKindOf(Feature) and - instantiatedType.oclAsType(Feature).type->exists(oclIsKindOf(Function))) implies - result.specializes(instantiatedType) - - - - - <p>An <code>InvocationExpression</code> must specialize its <code>instantiatedType</code>.</p> - - - OCL2.0 - specializes(instantiatedType) - - - - - <p>The <code>instantiatedType</code> of an <code>InvocationExpression</code> must be either a <code>Behavior</code> or a <code>Feature</code> with a single <code>type</code>, which is a <code>Behavior</code>.</p> - - - OCL2.0 - instantiatedType.oclIsKindOf(Behavior) or -instantiatedType.oclIsKindOf(Feature) and - instantiatedType.type->exists(oclIsKindOf(Behavior)) and - instantiatedType.type->size(1) - - - - - <p>Other than its <code>result</code>, all the <code>ownedFeatures</code> of an <code>InvocationExpression</code> must have <code>direction = in</code>.</p> - - - OCL2.0 - ownedFeature->forAll(f | - f <> result implies - f.direction = FeatureDirectionKind::_'in') - - - - - - <p>An <code>InvocationExpression</code> is model-level evaluable if all its <code>argument</code> <code>Expressions</code> are model-level evaluable and its <code>function</code> is model-level evaluable.</p> - - - - - OCL2.0 - argument->forAll(modelLevelEvaluable(visited)) and - function.isModelLevelEvaluable - - - - - - - - - - - - - <p>Apply the <code>Function</code> that is the <code>type</code> of this <code>InvocationExpression</code> to the argument values resulting from evaluating each of the <code>argument</code> <code>Expressions</code> on the given <code>target</code>. If the application is not possible, then return an empty sequence.</p> - - - - - - - - - - - - <p>A <code>FeatureReferenceExpression</code> is an <code>Expression</code> whose <code>result</code> is bound to a <code>referent</code> <code>Feature</code>.</p> - - - - <p>The <code>referent</code> of a <code>FeatureReferenceExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>ParameterMembership</code>.</p> - - - OCL2.0 - referent = - let nonParameterMemberships : Sequence(Membership) = ownedMembership-> - reject(oclIsKindOf(ParameterMembership)) in - if nonParameterMemberships->isEmpty() or - not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) - then null - else nonParameterMemberships->first().memberElement.oclAsType(Feature) - endif - - - - - <p>A <code>FeatureReferenceExpression</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between the <code>referent</code> and <code>result</code> of the <code>FeatureReferenceExpression</code>.</p> - - - OCL2.0 - ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(targetFeature) and - b.relatedFeatures->includes(result)) - - - - - <p>The first <code>ownedMembership</code> of a <code>FeatureReferenceExpression</code> that is not a <code>ParameterMembership</code> must have a <code>Feature</code> as its <code>memberElement</code>.</p> - - - OCL2.0 - let membership : Membership = - ownedMembership->reject(m | m.oclIsKindOf(ParameterMembership)) in -membership->notEmpty() and -membership->at(1).memberElement.oclIsKindOf(Feature) - - - - - <p>The <code>result</code> parameter of a <code>FeatureReferenceExpression</code> must specialize the <code>referent</code> of the <code>FeatureReferenceExpression</code>.</p> - - - OCL2.0 - result.owningType() = self and result.specializes(referent) - - - - - <p>A <code>FeatureReferenceExpression</code> must own its <code>result</code> parameter.</p> - - - OCL2.0 - result.owningType = self - - - - - - <p>The <code>Feature</code> that is referenced by this <code>FeatureReferenceExpression</code>, which is its first non-<code>parameter</code> <code>member</code>.<p> - - - - - - - <p>A <code>FeatureReferenceExpression</code> is model-level evaluable if it&#39;s <code>referent</code></p> - -<ul> - <li>conforms to the self-reference feature <code><em>Anything::self</em></code>;</li> - <li>is an <code>Expression</code> that is model-level evaluable;</li> - <li>has an <code>owningType</code> that is a <code>Metaclass</code> or <code>MetadataFeature</code>; or</li> - <li>has no <code>featuringTypes</code> and, if it has a <code>FeatureValue</code>, the <code>value</code> <code>Expression</code> is model-level evaluable.</li> -</ul> - - - - - OCL2.0 - referent.conformsTo('Anything::self') or -visited->excludes(referent) and -(referent.oclIsKindOf(Expression) and - referent.oclAsType(Expression).modelLevelEvaluable(visited->including(referent)) or -referent.owningType <> null and - (referent.owningType.isOclKindOf(MetaClass) or - referent.owningType.isOclKindOf(MetadataFeature)) or -referent.featuringType->isEmpty() and - (referent.valuation = null or - referent.valuation.modelLevelEvaluable(visited->including(referent)))) - - - - - - - - - - - - - <p>First, determine a <code>value</code> <code>Expression</code> for the <code>referent</code>:</p> - -<ul> - <li>If the <code>target</code> <code>Element</code> is a Type that has a <code>feature</code> that is the <code>referent</code> or (directly or indirectly) redefines it, then the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> for that <code>feature</code> (if any).</li> - <li>Else, if the <code>referent</code> has no <code>featuringTypes</code>, the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> for the <code>referent</code> (if any).</li> -</ul> - -<p>Then:</p> - -<ul> - <li>If such a value <code>Expression</code> exists, return the result of evaluating that <code>Expression</code> on the <code>target</code>.</li> - <li>Else, if the <code>referent</code> is not an <code>Expression</code>, return the <code>referent</code>.</li> - <li>Else return the empty sequence.</li> -</ul> - - - - - OCL2.0 - if not target.oclIsKindOf(Type) then Sequence{} -else - let feature: Sequence(Feature) = - target.oclAsType(Type).feature->select(f | - f.ownedRedefinition.redefinedFeature-> - includes(referent)) in - if feature->notEmpty() then - feature.valuation.value.evaluate(target) - else if referent.featuringType->isEmpty() - then referent - else Sequence{} - endif endif -endif - - - - - - - - - - - - - <p>A <code>FeatureReferenceExpression</code> that has a certain <code>referent</code> <code>Feature</code>.</p> - - - - - - - - <p>A <code>SelectExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"select"</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::select</code></em> from the Kernel Functions Library.</p> - - - - <p>The <code>operator</code> of a <code>SelectExpression</code> must be <code>'select'</code>.</p> - - - OCL2.0 - operator = 'select' - - - - - <p>The <code>result</code> of a <code>SelectExpression</code> must specialize the <code>result</code> parameter of the first <code>argument</code> of the <code>SelectExpression</code>.</p> - - - OCL2.0 - arguments->notEmpty() implies - result.specializes(arguments->first().result) - - - - - - - - - - - <p>An <code>OperatorExpression</code> is an <code>InvocationExpression</code> whose <code>function</code> is determined by resolving its <code>operator</code> in the context of one of the standard packages from the Kernel Function Library.</p> - - - - - <p>An <code>operator</code> symbol that names a corresponding <code>Function</code> from one of the standard packages from the Kernel Function Library .</p> - - - - - - <p>The <code>instantiatedType</code> of an <code>OperatorExpression</code> is the resolution of it's <code>operator</code> from one of the packages <em><code>BaseFunctions</code></em>, <em><code>DataFunctions</code></em>, or <em><code>ControlFunctions</code></em> from the Kernel Function Library.</p> - - - - OCL2.0 - let libFunctions : Sequence(Element) = - Sequence{'BaseFunctions', 'DataFunctions', 'ControlFunctions'}-> - collect(ns | resolveGlobal(ns + "::'" + operator + "'"). - memberElement) in -if libFunctions->isEmpty() then null -else libFunctions->first().oclAsType(Type) -endif - - - - - - - - <p>A <code>CollectExpression</code> is an <code>OperatorExpression</code> whose <code>operator</code> is <code>"collect"</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::collect</code></em> from the Kernel Functions Library.</p> - - - - <p>The <code>operator</code> of a <code>CollectExpression</code> must be <code>"collect"</code>.</p> - - - OCL2.0 - operator = 'collect' - - - - - - - - - - - <p>A <code>FeatureChainExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"."</code>, which resolves to the <code>Function</code> <em><code>ControlFunctions::'.'</code></em> from the Kernel Functions Library. It evaluates to the result of chaining the <code>result</code> <code>Feature</code> of its single <code>argument</code> <code>Expression</code> with its <code>targetFeature</code>.</p> - - - - <p>The first <code>ownedFeature</code> of the first owned input <code>parameter</code> of a <code>FeatureChainExpression</code> must redefine the <code>Feature</code> <code><em>ControlFunctions::'.'::source::target</em></code> from the Kernel Functions Library.</p> - - - OCL2.0 - let sourceParameter : Feature = sourceTargetFeature() in -sourceTargetFeature <> null and -sourceTargetFeature.redefinesFromLibrary('ControlFunctions::\'.\'::source::target') - - - - - <p>The first <code>ownedFeature</code> of the first owned input <code>parameter</code> of a <code>FeatureChainExpression</code> must redefine its <code>targetFeature</code>.</p> - - - OCL2.0 - let sourceParameter : Feature = sourceTargetFeature() in -sourceTargetFeature <> null and -sourceTargetFeature.redefines(targetFeature) - - - - - <p>The <code>targetFeature</code> of a <code>FeatureChainExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>ParameterMembership</code>.</p> - - - OCL2.0 - targetFeature = - let nonParameterMemberships : Sequence(Membership) = ownedMembership-> - reject(oclIsKindOf(ParameterMembership)) in - if nonParameterMemberships->isEmpty() or - not nonParameterMemberships->first().memberElement.oclIsKindOf(Feature) - then null - else nonParameterMemberships->first().memberElement.oclAsType(Feature) - endif - - - - - <p>The <code>targetFeature</code> of a <code>FeatureChainExpression</code> must be featured within the <code>result</code> parameter of the <code>argument</code> <code>Expression</code> of the <code>FeatureChainExpression</code>.</p> - - - - - OCL2.0 - argument->notEmpty() implies - targetFeature.isFeaturedWithin(argument->first().result) - - - - - <p>The <code>operator</code> of a <code>FeatureChainExpression</code> must be <code>"."</code>.</p> - - - OCL2.0 - operator = '.' - - - - - <p>The <code>result</code> parameter of a <code>FeatureChainExpression</code> must specialize the feature chain of the <code>FeatureChainExpression</code>.</p> - - - OCL2.0 - let inputParameters : Sequence(Feature) = - ownedFeatures->select(direction = _'in') in -let sourceTargetFeature : Feature = - owningExpression.sourceTargetFeature() in -sourceTargetFeature <> null and -result.subsetsChain(inputParameters->first(), sourceTargetFeature) and -result.owningType = self - - - - - - - - - - <p>The <code>Feature</code> that is accessed by this <code>FeatureChainExpression<code>, which is its first non-<code>parameter</code> <code>member</code>.<p> - - - - - - - <p>Return the first <code>ownedFeature</code> of the first owned input <code>parameter</code> of this <code>FeatureChainExpression</code> (if any).</p> - - - - OCL2.0 - let inputParameters : Feature = ownedFeatures-> - select(direction = _'in') in -if inputParameters->isEmpty() or - inputParameters->first().ownedFeature->isEmpty() -then null -else inputParameters->first().ownedFeature->first() -endif - - - - - - - - - - - - - - - - - - <p>The <code>MetadataAccessExpressions</code> having a certain <code>Element</code> as their <code>referencedElement</code>.</p> - - - - - - - - <p>A <code>MetadataAccessExpression</code> is an <code>Expression</code> whose <code>result</code> is a sequence of instances of <code>Metaclasses</code> representing all the <code>MetadataFeature</code> annotations of the <code>referencedElement</code>. In addition, the sequence includes an instance of the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code>, with values for all the abstract syntax properties of the <code>referencedElement</code>.</p> - - - - <p>A <code>MetadataAccessExpression</code> must directly or indirectly specialize the base <code>MetadataAccessExpression</code> <code><em>Performances::metadataAccessEvaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::metadataAccessEvaluations') - - - - - <p>A <code>MetadataAccessExpression</code> must have at least one <code>ownedMember</code> that is not a <code>FeatureMembership</code>.</p> - - - OCL2.0 - ownedMembership->exists(not oclIsKindOf(FeatureMembership)) - - - - - <p>The <code>referencedElement</code> of a <code>MetadataAccessExpression</code> is the <code>memberElement</code> of its first <code>ownedMembership</code> that is not a <code>FeatureMembership</code>.</p> - - - OCL2.0 - referencedElement = - let elements : Sequence(Element) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement in - if elements->isEmpty() then null - else elements->first() - endif - - - - - - <p>The <code>Element</code> whose metadata is being accessed.</p> - - - - - - - <p>A <code>MetadataAccessExpression</code> is always model-level evaluable.</p> - - - - OCL2.0 - true - - - - - - - - - - - - - <p>Return the <code>ownedElements</code> of the <code>referencedElement</code> that are <code>MetadataFeatures</code> and have the <code>referencedElement</code> as an <code>annotatedElement</code>, plus a <code>MetadataFeature</code> whose <code>annotatedElement</code> is the <code>referencedElement</code>, whose <code>metaclass</code> is the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code> and whose <code>ownedFeatures</code> are bound to the values of the MOF properties of the <code>referencedElement</code>.</p> - - - - OCL2.0 - referencedElement.ownedElement-> - select(oclIsKindOf(MetadataFeature) - and annotatedElement->includes(referencedElement))-> - including(metaclassFeature()) - - - - - - - - - - - <p>Return a <code>MetadataFeature</code> whose <code>annotatedElement</code> is the <code>referencedElement</code>, whose <code>metaclass</code> is the reflective <code>Metaclass</code> corresponding to the MOF class of the <code>referencedElement</code> and whose <code>ownedFeatures</code> are bound to the MOF properties of the <code>referencedElement</code>.</p> - - - - - - - <p>An <code>IndexExpression</code> is an <code>OperatorExpression</code> whose operator is <code>"#"</code>, which resolves to the <code>Function</code> <em><code>BasicFunctions::'#'</code></em> from the Kernel Functions Library.</p> - - - - <p>The <code>result</code> of an <code>IndexExpression</code> must specialize the <code>result</code> parameter of the first <code>argument</code> of the <code>IndexExpression</code>, unless that <code>result</code> already directly or indirectly specializes the <code>DataType</code> <em><code>Collections::Array</code></em> from the Kernel Data Type Library.</p> - - - OCL2.0 - arguments->notEmpty() and -not arguments->first().result.specializesFromLibrary('Collections::Array') implies - result.specializes(arguments->first().result) - - - - - <p>The <code>operator</code> of an <code>IndexExpression</code> must be <code>"#"</code>.</p> - - - OCL2.0 - operator = '#' - - - - - - - - - - - <p>An <code>InstantiationExpression</code> is an <code>Expression</code> that instantiates its <code>instantiatedType</code>, binding some or all of the <code>features</code> of that <code>Type</code> to the <code>results</code> of its <code>arguments</code>.</p> - -<p><code>InstantiationExpression</code> is abstract, with concrete subclasses <code>InvocationExpression</code> and <code>ConstructorExpression</code>.</p> - - - - <p>An <code>InstantiationExpression</code> must own its <code>result</code> parameter.</p> - - - OCL2.0 - result.owningType = self - - - - - <p>The <code>instantiatedType</code> of an <code>InstantiationExpression</code> is given by the result of the <code>instantiatedType()</code> operation.</p> - - - OCL2.0 - instantiatedType = instantiatedType() - - - - - <p>An <code>InstantiationExpression</code> must have an <code>InstantiatedType</code>.</p> - - - OCL2.0 - instantiatedType() <> null - - - - - - <p>The <code>Expressions</code> whose <code>results</code> are bound to <code>features</code> of the <code>instantiatedType</code>. The <code>arguments</code> are ordered consistent with the order of the <code>features</code>, though they may not be one-to-one with all the <code>features</code>.</p> - -<p><strong>Note.</strong> The derivation of <code>argument</code> is given in the concrete subclasses of <code>InstantiationExpression</code>.</p> - - - - - - - <p>The <code>Type</code> that is being instantiated.</p> - - - - - - - <p>Return the <code>Type</code> to act as the <code>instantiatedType</code> for this <code>InstantiationExpression</code>. By default, this is the <code>memberElement</code> of the first <code>ownedMembership</code> that is not a <code>FeatureMembership</code>, which must be a <code>Type</code>.</p> - -<p><b>Note.</b> This operation is overridden in the subclass <code>OperatorExpression</code>.</p> - - - - OCL2.0 - let members : Sequence(Element) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement in -if members->isEmpty() or not members->first().oclIsKindOf(Type) then null -else typeMembers->first().oclAsType(Type) -endif - - - - - - - - - - - - - - - - - <p>A <code>ConstructorExpression</code> is an <code>InstantiationExpression</code> whose <code>result</code> specializes its <code>instantiatedType</code>, binding some or all of the <code>features</code> of the <code>instantiatedType</code> to the <code>results</code> of its <code>argument</code> <code>Expressions</code>.</p> - - - - <p>The <code>arguments</code> of a <code>ConstructorExpression</code> are the <code>value</code> <code>Expressions</code> of the <code>FeatureValues</code> of the <code>ownedFeatures</code> of its <code>result</code> parameter, in an order corresponding to the order of the <code>features</code> of the <code>instantiatedType</code> that the <code>result</code> <code>ownedFeatures</code> redefine.</p> - - - OCL2.0 - instantiatedType.feature->collect(f | - result.ownedFeatures->select(redefines(f)).valuation-> - select(v | v <> null).value -) - - - - - <p>Two different <code>ownedFeatures</code> of the <code>result</code> of a <code>ConstructorExpression</code> must not redefine the same <code>feature</code> of the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> - - - OCL2.0 - let features : OrderedSet(Feature) = instantiatedType.feature-> - select(visibility = VisibilityKind::public) in -result.ownedFeature->forAll(f1 | result.ownedFeature->forAll(f2 | - f1 <> f2 implies - f1.ownedRedefinition.redefinedFeature-> - intersection(f2.ownedRedefinition.redefinedFeature)-> - intersection(features)->isEmpty())) - - - - - <p>Each <code>ownedFeature</code> of the result of a <code>ConstructionExpression</code> must redefine exactly one public <code>feature</code> of the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> - - - OCL2.0 - let features : OrderedSet(Feature) = instantiatedType.feature-> - select(owningMembership.visibility = VisibilityKind::public) in -result.ownedFeature->forAll(f | - f.ownedRedefinition.redefinedFeature-> - intersection(features)->size() = 1) - - - - - <p>The <code>result</code> of a <code>ConstructorExpression</code> must own a <code>BindingConnector</code> between the <code>featureWithValue</code> and <code>value</code> <code>Expression</code> of any <code>FeatureValue</code> that is the effective default value for a <code>feature</code> of the <code>instantiatedType</code> of the <code>InvocationExpression</code>.</p> - - - OCL2.0 - TBD - - - - - <p>A <code>ConstructorExpression</code> must directly or indirectly specialize the <code>Expression</code> <em><code>Performances::constructorEvaluations</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializes('Performances::constructorEvaluations') - - - - - <p>The <code>result</code> of a <code>ConstructorExpression</code> must specialize the <code>instantiatedType</code> of the <code>ConstructorExpression</code>.</p> - - - OCL2.0 - result.specializes(instantiatedType) - - - - - <p>A <code>ConstructorExpression</code> must not have any <code>ownedFeatures</code> other than its <code>result</code>.</p> - - - OCL2.0 - ownedFeatures->excluding(result)->isEmpty() - - - - - - <p>A <code>ConstructorExpression</code> is model-level evaluable if all its argument <code>Expressions</code> are model-level evaluable.</p> - - - - - OCL2.0 - argument->forAll(modelLevelEvaluable(visited)) - - - - - - - - - - - - - - - <p>A <code>InstantiationExpression</code> that has a certain <code>argument</code> <code>Expression</code>.</p> - - - - - - - - - - <p>A <code>Structure</code> is a <code>Class</code> of objects in the modeled universe that are primarily structural in nature. While such an object is not itself behavioral, it may be involved in and acted on by <code>Behaviors</code>, and it may be the performer of some of them.</p> - - - - - <p>A <code>Structure</code> must directly or indirectly specialize the base <code>Structure</code> <code><em>Objects::Object</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Objects::Object') - - - - - <p>A <code>Structure</code> must not specialize a <code>Behavior</code>.</p> - - - OCL2.0 - ownedSpecialization.general->forAll(not oclIsKindOf(Behavior)) - - - - - - - - - - <p>The Expressions that have a certain Feature its owned or inherited <code>result</code>.</p> - - - - - - - - <p>A <code>Predicate</code> is a <code>Function</code> whose <code>result</code> <code>parameter</code> has type <code><em>Boolean</em></code> and multiplicity <code>1..1</code>.</p> - - - - - <p>A <code>Predicate</code> must directly or indirectly specialize the base <code>Predicate</code> <code><em>Performances::BooleanEvaluation</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::BooleanEvaluation') - - - - - - - <p>A <code>ReturnParameterMembership</code> is a <code>ParameterMembership</code> that indicates that the <code>ownedMemberParameter</code> is the <code>result</code> <code>parameter</code> of a <code>Function</code> or <code>Expression</code>. The <code>direction</code> of the <code>ownedMemberParameter</code> must be <code>out</code>.</p> - - - - - <p>The <code>owningType</code> of a <code>ReturnParameterMembership</code> must be a <code>Function</code> or <code>Expression</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression) - - - - - - <p>The <code>ownedMemberParameter</code> of a <code>ReturnParameterMembership</code> must have direction <code>out</code>. (This is a leaf operation that cannot be further redefined.)</p> - - - - OCL2.0 - FeatureDirectionKind::out - - - - - - - - - - - - <p>The Functions that have a certain Feature its owned or inherited <code>result</code>.</p> - - - - - - - - <p>An <code>Invariant</code> is a <code>BooleanExpression</code> that is asserted to have a specific <code><em>Boolean</em></code> result value. If <code>isNegated = false</code>, then the result is asserted to be true. If <code>isNegated = true</code>, then the result is asserted to be false.</p> - - - - - <p>An <code>Invariant</code> must directly or indirectly specialize either of the following <code>BooleanExpressions</code> from the Kernel Semantic Library: <code><em>Performances::trueEvaluations</em></code>, if <code>isNegated = false</code>, or <code><em>Performances::falseEvaluations</em></code>, if <code>isNegated = true</code>.</p> - - - OCL2.0 - if isNegated then - specializesFromLibrary('Performances::falseEvaluations') -else - specializesFromLibrary('Performances::trueEvaluations') -endif - - - - - - <p>Whether this <code>Invariant</code> is asserted to be false rather than true.</p> - - - - - - - - - <p>A <code>BooleanExpression</code> is a <em><code>Boolean</code></em>-valued <code>Expression</code> whose type is a <code>Predicate</code>. It represents a logical condition resulting from the evaluation of the <code>Predicate</code>.</p> - - - - - <p>A <code>BooleanExpression</code> must directly or indirectly specialize the base <code>BooleanExpression</code> <code><em>Performances::booleanEvaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::booleanEvaluations') - - - - - - <p>The Predicate that types the Expression.</p> - - - - <p>The <code>Predicate</code> that types this <code>BooleanExpression</code>.</p> - - - - - - - - <p>An <code>Expression</code> is a <code>Step</code> that is typed by a <code>Function</code>. An <code>Expression</code> that also has a <code>Function</code> as its <code>featuringType</code> is a computational step within that <code>Function</code>. An <code>Expression</code> always has a single <code>result</code> parameter, which redefines the <code>result</code> parameter of its defining <code>function</code>. This allows <code>Expressions</code> to be interconnected in tree structures, in which inputs to each <code>Expression</code> in the tree are determined as the results of other <code>Expression</code> in the tree.</p> - - - - - <p>Whether an <code>Expression</code> <code>isModelLevelEvaluable</code> is determined by the <code>modelLevelEvaluable()</code> operation.</p> - - - OCL2.0 - isModelLevelEvaluable = modelLevelEvaluable(Set(Element){}) - - - - - <p>An <code>Expression</code> must directly or indirectly specialize the base <code>Expression</code> <code><em>Performances::evaluations</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::evaluations') - - - - - <p>If this <code>Expression</code> is owned by a <code>FeatureValue</code>, then it must have the same <code>featuringTypes</code> as the <code>featureWithValue</code> of the <code>FeatureValue</code>.</p> - - - OCL2.0 - owningMembership <> null and -owningMembership.oclIsKindOf(FeatureValue) implies - let featureWithValue : Feature = - owningMembership.oclAsType(FeatureValue).featureWithValue in - featuringType = featureWithValue.featuringType - - - - - <p>If an <code>Expression</code> has an <code>Expression</code> owned via a <code>ResultExpressionMembership</code>, then the owning <code>Expression</code> must also own a <code>BindingConnector</code> between its <code>result</code> <code>parameter</code> and the <code>result</code> <code>parameter</code> of the result <code>Expression</code>.</p> - - - OCL2.0 - ownedMembership.selectByKind(ResultExpressionMembership)-> - forAll(mem | ownedFeature.selectByKind(BindingConnector)-> - exists(binding | - binding.relatedFeature->includes(result) and - binding.relatedFeature->includes(mem.ownedResultExpression.result))) - - - - - <p>The <code>result</code> parameter of an <code>Expression</code> is its <code>parameter</code> owned (possibly in a supertype) via a <code>ReturnParameterMembership</code> (if any).</p> - - - OCL2.0 - result = - let resultParams : Sequence(Feature) = - featureMemberships-> - selectByKind(ReturnParameterMembership). - ownedMemberParameter in - if resultParams->notEmpty() then resultParams->first() - else null - endif - - - - - - <p>An <code>Expression</code> must have exactly one <code>featureMembership</code> (owned or inherited) that is a <code>ResultParameterMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ReturnParameterMembership)-> - size() = 1 - - - - - <p>An <code>Expression</code> must have at most one <code>ResultExpressionMembership</code>.</p> - - - OCL2.0 - membership->selectByKind(ResultExpressionMembership)->size() <= 1 - - - - - - <p>The <code>Function</code> that types this <code>Expression</code>.</p> - - - - <p>This is the Function that types the Expression.</p> - - - - - - - - <p><p>An <code>output</code> <code>parameter</code> of the <code>Expression</code> whose value is the result of the <code>Expression</code>. The result of an <code>Expression</code> is either inherited from its <code>function</code> or it is related to the <code>Expression</code> via a <code>ReturnParameterMembership</code>, in which case it redefines the <code>result</code> <code>parameter</code> of its <code>function</code>.</p> - - - - - - - - <p>Whether this <code>Expression</code> meets the constraints necessary to be evaluated at <em>model level</em>, that is, using metadata within the model.</p> - - - - - - <p>Return whether this <code>Expression</code> is model-level evaluable. The <code>visited</code> parameter is used to track possible circular <code>Feature</code> references made from <code>FeatureReferenceExpressions</code> (see the redefinition of this operation for <code>FeatureReferenceExpression</code>). Such circular references are not allowed in model-level evaluable expressions.</p> - -<p>An <code>Expression</code> that is not otherwise specialized is model-level evaluable if it has no (non-implied) <code>ownedSpecializations</code> and all its <code>ownedFeatures</code> are either <code>in</code> parameters, the <code>result</code> <code>parameter</code> or a result <code>Expression</code> owned via a <code>ResultExpressionMembership</code>. The <code>parameters</code> must not have any <code>ownedFeatures</code> or a <code>FeatureValue</code>, and the result <code>Expression</code> must be model-level evaluable.</p> - - - - OCL2.0 - ownedSpecialization->forAll(isImplied) and -ownedFeature->forAll(f | - (directionOf(f) = FeatureDirectionKind::_'in' or f = result) and - f.ownedFeature->isEmpty() and f.valuation = null or - f.owningFeatureMembership.oclIsKindOf(ResultExpressionMembership) and - f.oclAsType(Expression).modelLevelEvaluable(visited) - - - - - - - - - - - - - - <p>If this <code>Expression</code> <code>isModelLevelEvaluable</code>, then evaluate it using the <code>target</code> as the context <code>Element</code> for resolving <code>Feature</code> names and testing classification. The result is a collection of <code>Elements</code>, which, for a fully evaluable <code>Expression</code>, will be a <code>LiteralExpression</code> or a <code>Feature</code> that is not an <code>Expression</code>.</p> - - - - OCL2.0 - isModelLevelEvaluable - - - - - OCL2.0 - let resultExprs : Sequence(Expression) = - ownedFeatureMembership-> - selectByKind(ResultExpressionMembership). - ownedResultExpression in -if resultExpr->isEmpty() then Sequence{} -else resultExprs->first().evaluate(target) -endif - - - - - - - - - - - <p>Model-level evaluate this <code>Expression</code> with the given <code>target</code>. If the result is a <code>LiteralBoolean</code>, return its <code>value</code>. Otherwise return <code>false</code>.</p> - - - - - OCL2.0 - let results: Sequence(Element) = evaluate(target) in - result->size() = 1 and - results->first().oclIsKindOf(LiteralBoolean) and - results->first().oclAsType(LiteralBoolean).value - - - - - - - - - - - - <p>The ResultExpressionMembership that owns the <code>ownedResultExpression</code>.</p> - - - - - - - - - <p>The Functions that hasve a certain <code>expression</code> as a step.</p> - - - - - - - - <p>A <code>Function</code> is a <code>Behavior</code> that has an <code>out</code> <code>parameter</code> that is identified as its <code>result</code>. A <code>Function</code> represents the performance of a calculation that produces the values of its <code>result</code> <code>parameter</code>. This calculation may be decomposed into <code>Expressions</code> that are <code>steps</code> of the <code>Function</code>.</p> - - - - - <p>A <code>Function</code> must have exactly one <code>featureMembership</code> (owned or inherited) that is a <code>ResultParameterMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ReturnParameterMembership)-> - size() = 1 - - - - - <p>A <code>Function</code> must directly or indirectly specialize the base <code>Function</code> <code><em>Performances::Evaluation</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::Evaluation') - - - - - <p>If a <code>Function</code> has an <code>Expression</code> owned via a <code>ResultExpressionMembership</code>, then the owning <code>Function</code> must also own a <code>BindingConnector</code> between its <code>result</code> <code>parameter</code> and the <code>result</code> <code>parameter</code> of the result <code>Expression</code>.</p> - - - OCL2.0 - ownedMembership.selectByKind(ResultExpressionMembership)-> - forAll(mem | ownedFeature.selectByKind(BindingConnector)-> - exists(binding | - binding.relatedFeature->includes(result) and - binding.relatedFeature->includes(mem.ownedResultExpression.result))) - - - - - <p>The <code>result</code> <code>parameter</code> of a <code>Function</code> is its <code>parameter</code> owned (possibly in a supertype) via a <code>ReturnParameterMembership</code> (if any).</p> - - - OCL2.0 - result = - let resultParams : Sequence(Feature) = - featureMemberships-> - selectByKind(ReturnParameterMembership). - ownedMemberParameter in - if resultParams->notEmpty() then resultParams->first() - else null - endif - - - - - <p>A <code>Function</code> must have at most one <code>ResultExpressionMembership</code>.</p> - - - OCL2.0 - membership->selectByKind(ResultExpressionMembership)->size() <= 1 - - - - - - <p>The <code>Expressions</code> that are <code>steps</code> in the calculation of the <code>result</code> of this <code>Function</code>.</p> - - - - <p>The set of expressions that represent computational steps or parts of a system of equations within the Function.</p> - - - - - - - - <p>The object or value that is the result of evaluating the Function.</p> - - - <p>The <code>result</code> <code>parameter</code> of the <code>Function</code>, which is owned by the <code>Function</code> via a <code>ReturnParameterMembership</code>.</p> - - - - - - - - <p>Whether this <code>Function</code> can be used as the <code>function</code> of a model-level evaluable <code>InvocationExpression</code>. Certain <code>Functions</code> from the Kernel Functions Library are considered to have <code>isModelLevelEvaluable = true</code>. For all other <code>Functions</code> it is <code>false</code>.</p> - -<p><strong>Note:</strong> See the specification of the KerML concrete syntax notation for <code>Expressions</code> for an identification of which library <code>Functions</code> are model-level evaluable.</p> - - - - - - - - <p>The Expressions that are typed by a certain <code>function</code>.</p> - - - - - - - - <p>A <code>ResultExpressionMembership</code> is a <code>FeatureMembership</code> that indicates that the <code>ownedResultExpression</code> provides the result values for the <code>Function</code> or <code>Expression</code> that owns it. The owning <code>Function</code> or <code>Expression</code> must contain a <code>BindingConnector</code> between the <code>result</code> <code>parameter</code> of the <code>ownedResultExpression</code> and the <code>result</code> <code>parameter</code> of the owning <code>Function</code> or <code>Expression</code>.</p> - - - - - <p>The <code>owningType</code> of a <code>ResultExpressionMembership</code> must be a <code>Function</code> or <code>Expression</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(Function) or owningType.oclIsKindOf(Expression) - - - - - - <p>The <code>Expression</code> that provides the result for the owner of the <code>ResultExpressionMembership</code>.</p> - - - - - - - - - - - - - - - - - <p>A <code>MultiplicityRange</code> is a <code>Multiplicity</code> whose value is defined to be the (inclusive) range of natural numbers given by the result of a <code>lowerBound</code> <code>Expression</code> and the result of an <code>upperBound</code> <code>Expression</code>. The result of these <code>Expressions</code> shall be of type <code><em>Natural</em></code>. If the result of the <code>upperBound</code> <code>Expression</code> is the unbounded value <code>*</code>, then the specified range includes all natural numbers greater than or equal to the <code>lowerBound</code> value. If no <code>lowerBound</code> <code>Expression</code>, then the default is that the lower bound has the same value as the upper bound, except if the <code>upperBound</code> evaluates to <code>*</code>, in which case the default for the lower bound is 0.</p> - - - - - <p>The <code>bounds</code> of a <code>MultiplicityRange</code> must have the same <code>featuringTypes</code> as the <code>MultiplicityRange</code>.</p> - - - OCL2.0 - bound->forAll(b | b.featuringType = self.featuringType) - - - - - <p>The <code>results</code> of the <code>bound</code> <code>Expression(s)</code> of a <code>MultiplicityRange</code> must be typed by <code><em>ScalarValues::Intger</em></code> from the Kernel Data Types Library. If a <code>bound</code> is model-level evaluable, then it must evaluate to a non-negative value.</p> - - - OCL2.0 - bound->forAll(b | - b.result.specializesFromLibrary('ScalarValues::Integer') and - let value : UnlimitedNatural = valueOf(b) in - value <> null implies value >= 0 -) - - - - - <p>If a <code>MultiplicityRange</code> has two <code>ownedMembers</code> that are <code>Expressions</code>, then the <code>lowerBound</code> is the first of these, otherwise it is <code>null</code>.</p> - - - OCL2.0 - lowerBound = - let ownedExpressions : Sequence(Expression) = - ownedMember->selectByKind(Expression) in - if ownedExpressions->size() < 2 then null - else ownedExpressions->first() - endif - - - - - <p>If a <code>MultiplicityRange</code> has one <code>ownedMember</code> that is an <code>Expression</code>, then this is the <code>upperBound</code>. If it has more than one <code>ownedMember</code> that is an <code>Expression</code>, then the <code>upperBound</code> is the second of those. Otherwise, it is null.</p> - - - OCL2.0 - upperBound = - let ownedExpressions : Sequence(Expression) = - ownedMember->selectByKind(Expression) in - if ownedExpressions->isEmpty() then null - else if ownedExpressions->size() = 1 then ownedExpressions->at(1) - else ownedExpressions->at(2) - endif endif - - - - - <p>The <code>bounds</code> of a <code>MultiplicityRange</code> are the <code>lowerBound</code> (if any) followed by the <code>upperBound</code>.</p> - - - OCL2.0 - bound = - if upperBound = null then Sequence{} - else if lowerBound = null then Sequence{upperBound} - else Sequence{lowerBound, upperBound} - endif endif - - - - - <p>The <code>lowerBound</code> (if any) and <code>upperBound</code> <code>Expressions</code> must be the first <code>ownedMembers</code> of a <code>MultiplicityRange</code>.</p> - - - OCL2.0 - if lowerBound = null then - ownedMember->notEmpty() and - ownedMember->at(1) = upperBound -else - ownedMember->size() > 1 and - ownedMember->at(1) = lowerBound and - ownedMember->at(2) = upperBound -endif - - - - - - <p>The <code>Expression</code> whose result provides the lower bound of the <code>MultiplicityRange</code>. If no <code>lowerBound</code> <code>Expression</code> is given, then the lower bound shall have the same value as the upper bound, unless the upper bound is unbounded (<code>*</code>), in which case the lower bound shall be 0.</p> - - - - - - - - <p>The <code>Expression</code> whose result is the upper bound of the <code>MultiplicityRange</code>.</p> - - - - - - - <p>The owned <code>Expressions</code> of the <code>MultiplicityRange</code> whose results provide its bounds. These must be the first <code>ownedMembers</code> of the <code>MultiplicityRange</code>.</p> - - - - - - - <p>Check whether this <code>MultiplicityRange</code> represents the range bounded by the given values <code>lower</code> and <code>upper</code>, presuming the <code>lowerBound</code> and <code>upperBound</code> <code>Expressions</code> are model-level evaluable.</p> - - - - OCL2.0 - valueOf(upperBound) = upper and -let lowerValue: UnlimitedNatural = valueOf(lowerBound) in -(lowerValue = lower or - lowerValue = null and - (lower = upper or - lower = 0 and upper = *)) - - - - - - - - - - - - - - - - <p>Evaluate the given <code>bound</code> <code>Expression</code> (at model level) and return the result represented as a MOF <code>UnlimitedNatural</code> value.</p> - - - - OCL2.0 - if bound = null or not bound.isModelLevelEvaluable then - null -else - let boundEval: Sequence(Element) = bound.evaluate(owningType) in - if boundEval->size() <> 1 then null else - let valueEval: Element = boundEval->at(1) in - if valueEval.oclIsKindOf(LiteralInfinity) then * - else if valueEval.oclIsKindOf(LiteralInteger) then - let value : Integer = - valueEval.oclAsKindOf(LiteralInteger).value in - if value >= 0 then value else null endif - else null - endif endif - endif -endif - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>Step</code> is a <code>Feature</code> that is typed by one or more <code>Behaviors</code>. <code>Steps</code> may be used by one <code>Behavior</code> to coordinate the performance of other <code>Behaviors</code>, supporting a steady refinement of behavioral descriptions. <code>Steps</code> can be ordered in time and can be connected using <code>Flows</code> to specify things flowing between their <code>parameters</code>.</p> - - - - - <p>A <code>Step</code> must directly or indirectly specialize the base <code>Step</code> <code><em>Performances::performances</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Performances::performances') - - - - - <p>A<code>Step</code> whose <code>owningType</code> is a <code>Behavior</code> or another <code>Step</code> must directly or indirectly specialize the <code>Step</code> <code><em>Performances::Performance::enclosedPerformance</em></code>.</p> - - - OCL2.0 - owningType <> null and - (owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) implies - specializesFromLibrary('Performances::Performance::enclosedPerformance') - - - - - <p>A composite <code>Step</code> whose <code>owningType</code> is a <code>Structure</code> or a <code>Feature</code> typed by a <code>Structure</code> must directly or indirectly specialize the <code>Step</code> <code><em>Objects::Object::ownedPerformance</em></code>.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(Structure) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKindOf(Structure)) implies - specializesFromLibrary('Objects::Object::ownedPerformance') - - - - - <p>A<code>Step</code> whose <code>owningType</code> is a <code>Behavior</code> or another <code>Step</code>, and which is composite, must directly or indirectly specialize the <code>Step</code> <code><em>Performances::Performance::subperformance</em></code>.</p> - - - OCL2.0 - owningType <> null and - (owningType.oclIsKindOf(Behavior) or - owningType.oclIsKindOf(Step)) and - self.isComposite implies - specializesFromLibrary('Performances::Performance::subperformance') - - - - - <p>The <code>behaviors</code> of a <code>Step</code> are all its <code>types</code> that are <code>Behaviors</code>.</p> - - - OCL2.0 - behavior = type->selectByKind(Behavior) - - - - - - <p>The <code>Behaviors</code> that type this <code>Step</code>.</p> - - - - - - - - <p>The <code>parameters</code> of this <code>Step</code>, which are defined as its <code>directedFeatures</code>, whose values are passed into and/or out of a performance of the <code>Step</code>.</p> - - - - - - - - - <p>A <code>Behavior </code>coordinates occurrences of other <code>Behaviors</code>, as well as changes in objects. <code>Behaviors</code> can be decomposed into <code>Steps</code> and be characterized by <code>parameters</code>.</p> - - - - - <p>A <code>Behavior</code> must not specialize a <code>Structure</code>.</p> - - - OCL2.0 - ownedSpecialization.general->forAll(not oclIsKindOf(Structure)) - - - - - <p>A <code>Behavior</code> must directly or indirectly specialize the base <code>Behavior</code> <code><em>Performances::Performance</em></code> from the Kernel Semantic Library.</p> - - - English - specializesFromLibrary('Performances::Performance') - - - - - <p>The <code>steps</code> of a <code>Behavior</code> are its <code>features</code> that are <code>Steps</code>.</p> - - - OCL2.0 - step = feature->selectByKind(Step) - - - - - - <p>The <code>Steps</code> that make up this <code>Behavior</code>.</p> - - - - - - - - <p>The parameters of this <code>Behavior</code>, which are defined as its <code>directedFeatures</code>, whose values are passed into and/or out of a performance of the <code>Behavior</code>.</p> - - - - - - - - - - - - - - - - - - - - - <p>A <code>ParameterMembership</code> is a <code>FeatureMembership</code> that identifies its <code>memberFeature</code> as a parameter, which is always owned, and must have a <code>direction</code>. A <code>ParameterMembership</code> must be owned by a <code>Behavior</code>, a <code>Step</code>, or the <code>result</code> parameter of a <code>ConstructorExpression</code>.</p> - - - - <p>The <code>ownedMemberParameter</code> of a <code>ParameterMembership</code> must have a <code>direction</code> equal to the result of the <code>parameterDirection()</code> operation.</p> - - - OCL2.0 - ownedMemberParameter.direction = parameterDirection() - - - - - <p>A <code>ParameterMembership</code> must be owned by a <code>Behavior</code>,<code>Step</code>, or the <code>result</code> parameter of a <code>ConstructorExpression</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(Behavior) or owningType.oclIsKindOf(Step) or -owningType.owningMembership.oclIsKindOf(ReturnParameterMembership) and - owningType.owningNamespace.oclIsKindOf(ConstructorExpression) - - - - - - <p>The <code>Feature</code> that is identified as a <code>parameter</code> by this <code>ParameterMembership</code>.</p> - - - - - - - - <p>Return the required value of the <code>direction</code> of the <code>ownedMemberParameter</code>. By default, this is <code>in</code>.</p> - - - - OCL2.0 - FeatureDirectionKind::_'in' - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>Metaclass</code> is a <code>Structure</code> used to type <code>MetadataFeatures</code>.</p> - - - - <p>A <code>Metaclass</code> must directly or indirectly specialize the base <code>Metaclass</code> <code><em>Metaobjects::Metaobject</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Metaobjects::Metaobject') - - - - - - - <p>A <code>MetadataFeature</code> is a <code>Feature</code> that is an <code>AnnotatingElement</code> used to annotate another <code>Element</code> with metadata. It is typed by a <code>Metaclass</code>. All its <code>ownedFeatures</code> must redefine <code>features</code> of its <code>metaclass</code> and any feature bindings must be model-level evaluable.</p> - - - - - - <p>A <code>MetadataFeature</code> must have exactly one <code>type</code> that is a <code>Metaclass</code>.</p> - - - OCL2.0 - type->selectByKind(Metaclass).size() = 1 - - - - - <p>The <code>metaclass</code> of a <code>MetadataFeature</code> must not be abstract.</p> - - - OCL2.0 - not metaclass.isAbstract - - - - - <p>A <code>MetadataFeature</code> must directly or indirectly specialize the base <code>MetadataFeature</code> <code><em>Metaobjects::metaobjects</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Metaobjects::metaobjects') - - - - - <p>Each <code>ownedFeature</code> of a <code>MetadataFeature</code> must have no declared name, redefine a single <code>Feature</code>, either have no <code>featureValue</code> or a <code>featureValue</code> with a <code>value</code> <code>Expression</code> that is model-level evaluable, and only have <code>ownedFeatures</code> that also meet these restrictions.</p> - - - OCL2.0 - ownedFeature->closure(ownedFeature)->forAll(f | - f.declaredName = null and f.declaredShortName = null and - f.valuation <> null implies f.valuation.value.isModelLevelEvaluable and - f.redefinition.redefinedFeature->size() = 1) - - - - - <p>The <code>metaclass</code> of a <code>MetadataFeature</code> is one of its <code>types</code> that is a <code>Metaclass</code>. - - - OCL2.0 - metaclass = - let metaclassTypes : Sequence(Type) = type->selectByKind(Metaclass) in - if metaclassTypes->isEmpty() then null - else metaClassTypes->first() - endif - - - - - <p>The <code>annotatedElements</code> of a <code>MetadataFeature</code> must have an abstract syntax metaclass consistent with the <code>annotatedElement</code> declarations for the <code>MetadataFeature</code>.</p> - - - OCL2.0 - let baseAnnotatedElementFeature : Feature = - resolveGlobal('Metaobjects::Metaobject::annotatedElement').memberElement. - oclAsType(Feature) in -let annotatedElementFeatures : OrderedSet(Feature) = feature-> - select(specializes(baseAnnotatedElementFeature))-> - excluding(baseAnnotatedElementFeature) in -annotatedElementFeatures->notEmpty() implies - let annotatedElementTypes : Set(Feature) = - annotatedElementFeatures.typing.type->asSet() in - let metaclasses : Set(Metaclass) = - annotatedElement.oclType().qualifiedName->collect(qn | - resolveGlobal(qn).memberElement.oclAsType(Metaclass)) in - metaclasses->forAll(m | annotatedElementTypes->exists(t | m.specializes(t))) - - - - - <p>If this <code>MetadataFeature</code> is an application of <code><em>SemanticMetadata</em></code>, then its <code>annotatingElement</code> must be a <code>Type</code>. The annotated <code>Type</code> must then directly or indirectly specialize the specified value of the <code><em>baseType</em></code>, <em>unless</em> the <code>Type</code> is a <code>Classifier</code> and the <code><em>baseType</em></code> represents a kind of <code>Feature</code>, in which case the <code>Classifier</code> must directly or indirectly specialize each of the <code>types</code> of the <code>Feature</code>.</p> - - - OCL2.0 - isSemantic() implies - let annotatedTypes : Sequence(Type) = - annotatedElement->selectAsKind(Type) in - let baseTypes : Sequence(MetadataFeature) = - evaluateFeature(resolveGlobal( - 'Metaobjects::SemanticMetadata::baseType'). - memberElement. - oclAsType(Feature))-> - selectAsKind(MetadataFeature) in - annotatedTypes->notEmpty() and - baseTypes()->notEmpty() and - baseTypes()->first().isSyntactic() implies - let annotatedType : Type = annotatedTypes->first() in - let baseType : Element = baseTypes->first().syntaxElement() in - if annotatedType.oclIsKindOf(Classifier) and - baseType.oclIsKindOf(Feature) then - baseType.oclAsType(Feature).type-> - forAll(t | annotatedType.specializes(t)) - else if baseType.oclIsKindOf(Type) then - annotatedType.specializes(baseType.oclAsType(Type)) - else - true - endif - - - - - - - <p>The <code>type</code> of this <code>MetadataFeature</code>, which must be a <code>Metaclass</code>.</p> - - - - - - - <p>If the given <code>baseFeature</code> is a <code>feature</code> of this <code>MetadataFeature</code>, or is directly or indirectly redefined by a <code>feature</code>, then return the result of evaluating the appropriate (model-level evaluable) <code>value</code> <code>Expression</code> for it (if any), with the <code>MetadataFeature</code> as the target.</p> - - - - OCL2.0 - let selectedFeatures : Sequence(Feature) = feature-> - select(closure(ownedRedefinition.redefinedFeature)-> - includes(baseFeature)) in -if selectedFeatures->isEmpty() then null -else - let selectedFeature : Feature = selectedFeatures->first() in - let featureValues : FeatureValue = selectedFeature-> - closure(ownedRedefinition.redefinedFeature).ownedMember-> - selectAsKind(FeatureValue) in - if featureValues->isEmpty() then null - else featureValues->first().value.evaluate(self) - endif - - - - - - - - - - - <p>Check if this <code>MetadataFeature</code> has a <code>metaclass</code> which is a kind of <code><em>SemanticMetadata</code>.<p> - - - - OCL2.0 - specializesFromLibrary('Metaobjects::SemanticMetadata') - - - - - - - - - <p>Check if this <code>MetadataFeature</code> has a <code>metaclass</code> that is a kind of <code><em>KerML::Element</em></code> (that is, it is from the reflective abstract syntax model).</p> - - - - OCL2.0 - specializesFromLibrary('KerML::Element') - - - - - - - - - <p>If this <code>MetadataFeature</code> reflectively represents a model element, then return the corresponding <code>Element</code> instance from the MOF abstract syntax representation of the model.</p> - - - - English - No OCL - - - - - OCL2.0 - isSyntactic() - - - - - - - - - - - - <p>The MetadataFeatures whose <code>type</code> is a certain Metaclass.</p> - - - - - - - - - - <p>A <code>DataType</code> is a <code>Classifier</code> of things (in the universe) that can only be distinguished by how they are related to other things (via Features). This means multiple things classified by the same <code>DataType</code></p> - -<ul> - <li>Cannot be distinguished when they are related to other things in exactly the same way, even when they are intended to be about different things.</li> - <li>Can be distinguished when they are related to other things in different ways, even when they are intended to be about the same thing.</li> -</ul> - - - - - <p>A <code>DataType</code> must not specialize a <code>Class</code> or an <code>Association</code>.</p> - - - OCL2.0 - ownedSpecialization.general-> - forAll(not oclIsKindOf(Class) and - not oclIsKindOf(Association)) - - - - - <p>A <code>DataType</code> must directly or indirectly specialize the base <code>DataType</code> <code><em>Base::DataValue</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::DataValue') - - - - - - - - - <p>An <code>AssociationStructure</code> is an <code>Association</code> that is also a <code>Structure</code>, classifying link objects that are both links and objects. As objects, link objects can be created and destroyed, and their non-end <code>Features</code> can change over time. However, the values of the end <code>Features</code> of a link object are fixed and cannot change over its lifetime.</p> - - - - <p>An <code>AssociationStructure</code> must directly or indirectly specialize the base <code>AssociationStructure</code> <code><em>Objects::LinkObject</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Objects::LinkObject') - - - - - <p>A binary <code>AssociationStructure</code> must directly or indirectly specialize the base <code>AssociationStructure</code> <code><em>Objects::BinaryLinkObject</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - endFeature->size() = 2 implies - specializesFromLibrary('Objects::BinaryLinkObject') - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>An <code>Association</code> is a <code>Relationship</code> and a <code>Classifier</code> to enable classification of links between things (in the universe). The co-domains (<code>types</code>) of the <code>associationEnd</code> <code>Features</code> are the <code>relatedTypes</code>, as co-domain and participants (linked things) of an <code>Association</code> identify each other.</p> - - - - - <p>The <code>relatedTypes</code> of an <code>Association</code> are the <code>types</code> of its <code>associationEnds</code>.</p> - - - OCL2.0 - relatedType = associationEnd.type - - - - - <p>An <code>Association</code> must directly or indirectly specialize the base <code>Association</code> <code><em>Links::Link</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Links::Link') - - - - - <p>If an <code>Association</code> is also a kind of <code>Structure</code>, then it must be an <code>AssociationStructure</code>.</p> - - - English - oclIsKindOf(Structure) = oclIsKindOf(AssociationStructure) - - - - - <p>A binary <code>Association</code> must directly or indirectly specialize the base <code>Association</code> <code><em>Links::binaryLink</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - associationEnd->size() = 2 implies - specializesFromLibrary('Links::BinaryLink') - - - - - <p>If an <code>Association</code> is concrete (not abstract), then it must have at least two <code>relatedTypes</code>.</p> - - - OCL2.0 - not isAbstract implies relatedType->size() >= 2 - - - - - <p>If an <code>Association</code> has more than two <code>associationEnds</code>, then it must <em>not</em> specialize, directly or indirectly, the <code>Association</code> <em><code>BinaryLink</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - associationEnds->size() > 2 implies - not specializesFromLibrary('Links::BinaryLink') - - - - - <p>The <code>sourceType</code> of an <code>Association</code> is its first <code>relatedType</code> (if any).</p> - - - OCL2.0 - sourceType = - if relatedType->isEmpty() then null - else relatedType->first() endif - - - - - OCL2.0 - targetType = - if relatedType->size() < 2 then OrderedSet{} - else - relatedType-> - subSequence(2, relatedType->size())-> - asOrderedSet() - endif - - - - - <p>The <code>ownedEndFeatures</code> of an <code>Association</code> must have exactly one <code>type</code></p>. - - - OCL2.0 - ownedEndFeature->forAll(type->size() = 1) - - - - - - - <p>The <code>types</code> of the <code>associationEnds</code> of the <code>Association</code>, which are the <code>relatedElements</code> of the <code>Association</code> considered as a <code>Relationship</code>.</p> - - - - - - - - <p>The source <code>relatedType</code> for this <code>Association</code>. It is the first <code>relatedType</code> of the <code>Association</code>.</p> - - - - - - - - <p>The target <code>relatedTypes</code> for this <code>Association</code>. This includes all the <code>relatedTypes</code> other than the <code>sourceType</code>.</p> - - - - - - - - <p>The <code>features</code> of the <code>Association</code> that identify the things that can be related by it. A concrete <code>Association</code> must have at least two <code>associationEnds</code>. When it has exactly two, the <code>Association</code> is called a <em>binary</em> <code>Association</code>.</p> - - - - - - - - - - - - <p>The (at most one) <code>ownedMembership</code> of this Feature that is the FeatureValue that provides the value of the Feature.</p> - - - - - - - - - <p>The FeatureValue that owns the <code>value</code> Expression.</p> - - - - - - - - <p>A <code>FeatureValue</code> is a <code>Membership</code> that identifies a particular member <code>Expression</code> that provides the value of the <code>Feature</code> that owns the <code>FeatureValue</code>. The value is specified as either a bound value or an initial value, and as either a concrete or default value. A <code>Feature</code> can have at most one <code>FeatureValue</code>.</p> - -<p>The result of the <code>value</code> <code>Expression</code> is bound to the <code>featureWithValue</code> using a <code>BindingConnector</code>. If <code>isInitial = false</code>, then the <code>featuringType</code> of the <code>BindingConnector</code> is the same as the <code>featuringType</code> of the <code>featureWithValue</code>. If <code>isInitial = true</code>, then the <code>featuringType</code> of the <code>BindingConnector</code> is restricted to its <code>startShot</code>. - -<p>If <code>isDefault = false</code>, then the above semantics of the <code>FeatureValue</code> are realized for the given <code>featureWithValue</code>. Otherwise, the semantics are realized for any individual of the <code>featuringType</code> of the <code>featureWithValue</code>, unless another value is explicitly given for the <code>featureWithValue</code> for that individual.</p> - - - - - <p>If <code>isDefault = false</code>, then the <code>featureWithValue</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> whose <code>relatedElements</code> are the <code>featureWithValue</code> and a feature chain consisting of the <code>value</code> <code>Expression</code> and its <code>result</code>. If <code>isInitial = false</code>, then this <code>BindingConnector</code> must have <code>featuringTypes</code> that are the same as those of the <code>featureWithValue</code>. If <code>isInitial = true</code>, then the <code>BindingConnector</code> must have <code><em>that.startShot</em><code> as its <code>featuringType</code>.</p> - - - OCL2.0 - not isDefault implies - featureWithValue.ownedMember-> - selectByKind(BindingConnector)->exists(b | - b.relatedFeature->includes(featureWithValue) and - b.relatedFeature->exists(f | - f.chainingFeature = Sequence{value, value.result}) and - if not isInitial then - b.featuringType = featureWithValue.featuringType - else - b.featuringType->exists(t | - t.oclIsKindOf(Feature) and - t.oclAsType(Feature).chainingFeature = - Sequence{ - resolveGlobal('Base::things::that'). - memberElement, - resolveGlobal('Occurrences::Occurrence::startShot'). - memberElement - } - ) - endif) - - - - - <p>All <code>Features</code> directly or indirectly redefined by the <code>featureWithValue</code> of a <code>FeatureValue</code> must have only default <code>FeatureValues</code>.</p> - - - OCL2.0 - featureWithValue.redefinition.redefinedFeature-> - closure(redefinition.redefinedFeature).valuation-> - forAll(isDefault) - - - - - <p>If a <code>FeatureValue</code> has <code>isInitial = true</code>, then its <code>featureWithValue</code> must have <code>isVariable = true</code>.</p> - - - OCL2.0 - isInitial implies featureWithValue.isVariable - - - - - - <p>The Feature to be provided a value.</p> - - - <p>The <code>Feature</code> to be provided a value.</p> - - - - - - - - <p>The Expression that provides the value as a result.</p> - - - <p>The <code>Expression</code> that provides the value of the <code>featureWithValue</code> as its <code>result</code>.</p> - - - - - - - - <p>Whether this <code>FeatureValue</code> specifies a bound value or an initial value for the <code>featureWithValue</code>.</p> - - - - - - - <p>Whether this <code>FeatureValue</code> is a concrete specification of the bound or initial value of the <code>featureWithValue</code>, or just a default value that may be overridden.</p> - - - - - - - - - - <p>A <code>Connector</code> is a usage of <code>Associations</code>, with links restricted according to instances of the <code>Type</code> in which they are used (domain of the <code>Connector</code>). The <code>associations</code> of the <code>Connector</code> restrict what kinds of things might be linked. The <code>Connector</code> further restricts these links to be between values of <code>Features</code> on instances of its domain.</p> - - - - - <p>The <code>relatedFeatures</code> of a <code>Connector</code> are the referenced <code>Features</code> of its <code>connectorEnds</code>.</p> - - - OCL2.0 - relatedFeature = connectorEnd.ownedReferenceSubsetting-> - select(s | s <> null).subsettedFeature - - - - - <p>Each <code>relatedFeature</code> of a <code>Connector</code> must have each <code>featuringType</code> of the <code>Connector</code> as a direct or indirect <code>featuringType</code> (where a <code>Feature</code> with no <code>featuringType</code> is treated as if the <code>Classifier</code> <code><em>Base::Anything</em></code> was its <code>featuringType</code>).</p> - - - OCL2.0 - relatedFeature->forAll(f | - if featuringType->isEmpty() then f.isFeaturedWithin(null) - else featuringType->forAll(t | f.isFeaturedWithin(t)) - endif) - - - - - <p>The <code>sourceFeature</code> of a <code>Connector</code> is its first <code>relatedFeature</code> (if any).</p> - - - OCL2.0 - sourceFeature = - if relatedFeature->isEmpty() then null - else relatedFeature->first() - endif - - - - - <p>The <code>targetFeatures</code> of a <code>Connector</code> are the <code>relatedFeatures</code> other than the <code>sourceFeature</code>.</p> - - - OCL2.0 - targetFeature = - if relatedFeature->size() < 2 then OrderedSet{} - else - relatedFeature-> - subSequence(2, relatedFeature->size())-> - asOrderedSet() - endif - - - - - <p>If a <code>Connector</code> is concrete (not abstract), then it must have at least two <code>relatedFeatures</code>.</p> - - - OCL2.0 - not isAbstract implies relatedFeature->size() >= 2 - - - - - <p>A <code>Connector</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Links::links</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Links::links') - - - - - <p>A <code>Connector</code> for an <code>AssociationStructure</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Objects::linkObjects</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - association->exists(oclIsKindOf(AssociationStructure)) implies - specializesFromLibrary('Objects::linkObjects') - - - - - <p>A binary <code>Connector</code> for an <code>AssociationStructure</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Objects::binaryLinkObjects</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - connectorEnds->size() = 2 and -association->exists(oclIsKindOf(AssociationStructure)) implies - specializesFromLibrary('Objects::binaryLinkObjects') - - - - - <p>A binary <code>Connector</code> must directly or indirectly specialize the base <code>Connector</code> <code><em>Links::binaryLinks</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - connectorEnd->size() = 2 implies - specializesFromLibrary('Links::binaryLinks') - - - - - <p>If a <code>Connector</code> has more than two <code>connectorEnds</code>, then it must <em>not</em> specialize, directly or indirectly, the <code>Association</code> <em><code>BinaryLink</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - connectorEnds->size() > 2 implies - not specializesFromLibrary('Links::BinaryLink') - - - - - <p>The <code>defaultFeaturingType</code> of a <code>Connector</code> is the innermost common direct or indirect <code>featuringType</code> of the <code>relatedFeatures</code> of the <code>Connector</code>, so that each <code>relatedElement</code> is featured within the <code>defaultFeaturingType</code>, if such exists.</p> - - - OCL2.0 - let commonFeaturingTypes : OrderedSet(Type) = - relatedFeature->closure(featuringType)->select(t | - relatedFeature->forAll(f | f.isFeaturedWithin(t)) - ) in -let nearestCommonFeaturingTypes : OrderedSet(Type) = - commonFeaturingTypes->reject(t1 | - commonFeaturingTypes->exists(t2 | - t2 <> t1 and t2->closure(featuringType)->contains(t1) - )) in -if nearestCommonFeaturingTypes->isEmpty() then null -else nearestCommonFeaturingTypes->first() -endif - - - - - - - <p>The <code>Features</code> that are related by this <code>Connector</code> considered as a <code>Relationship</code> and that restrict the links it identifies, given by the referenced <code>Features</code> of the <code>connectorEnds</code> of the <code>Connector</code>.</p> - - - - - - - - <p>The <code>Associations</code> that type the <code>Connector</code>.</p> - - - - - - - - <p>The <code>endFeatures</code> of a <code>Connector</code>, which redefine the <code>endFeatures</code> of the <code>associations</code> of the <code>Connector</code>. The <code>connectorEnds</code> determine via <code>ReferenceSubsetting</code> <code>Relationships</code> which <code>Features</code> are related by the <code>Connector</code>.</p> - - - - - - - <p>The source <code>relatedFeature</code> for this <code>Connector</code>. It is the first <code>relatedFeature</code>.</p> - - - - - - - <p>The target <code>relatedFeatures</code> for this <code>Connector</code>. This includes all the <code>relatedFeatures</code> other than the <code>sourceFeature</code>.</p> - - - - - - - <p>The innermost <code>Type</code> that is a common direct or indirect <code>featuringType</code> of the <code>relatedFeatures</code>, such that, if it exists and was the <code>featuringType</code> of this <code>Connector</code>, the <code>Connector</code> would satisfy the <code>checkConnectorTypeFeaturing</code> constraint.</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - <p>A <code>BindingConnector</code> is a binary <code>Connector</code> that requires its <code>relatedFeatures</code> to identify the same things (have the same values).</p> - - - - - <p>A <code>BindingConnector</code> must be binary.</p> - - - OCL2.0 - relatedFeature->size() = 2 - - - - - <p>A <code>BindingConnector</code> must directly or indirectly specialize the base <code>BindingConnector</code> <code><em>Links::selfLinks</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Links::selfLinks') - - - - - - - - - - - - - <p>A <code>Succession</code> is a binary <code>Connector</code> that requires its <code>relatedFeatures</code> to happen separately in time.</p> - - - - - <p>A <code>Succession</code> must directly or indirectly specialize the Feature <code><em>Occurrences::happensBeforeLinks</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Occurrences::happensBeforeLinks') - - - - - - - - - - - - - - - - - - - - <p>A <code>Connector</code> with a certain <code>defaultFeaturingType</code>.</p> - - - - - - - - - - - - - <p>A <code>PortUsage</code> is a usage of a <code>PortDefinition</code>. A <code>PortUsage</code> itself as well as all its <code>nestedUsages</code> must be referential (non-composite).</p> - - - - <p>The <code>nestedUsages</code> of a <code>PortUsage</code> that are not themselves <code>PortUsages</code> must not be composite.</p> - - - OCL2.0 - nestedUsage-> - reject(oclIsKindOf(PortUsage))-> - forAll(not isComposite) - - - - - <p>A <code>PortUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Ports::ports</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Ports::ports') - - - - - <p>A composite <code>PortUsage</code> with an <code>owningType</code> that is a <code>PortDefinition</code> or <code>PortUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Ports::Port::subports</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(PortDefinition) or - owningType.oclIsKindOf(PortUsage)) implies - specializesFromLibrary('Ports::Port::subports') - - - - - <p>Unless a <code>PortUsage</code> has an <code>owningType</code> that is a <code>PortDefinition</code> or a <code>PortUsage</code>, it must be referential (non-composite).</p> - - - OCL2.0 - owningType = null or -not owningType.oclIsKindOf(PortDefinition) and -not owningType.oclIsKindOf(PortUsage) implies - isReference - - - - - <p>A <code>PortUsage</code> whose <code>owningType</code> is a <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>PortUsage</code> <em><code>Parts::Part::ownedPorts</code></em> from the Systems Model Library.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::ownedPorts') - - - - - - <p>The <code>occurrenceDefinitions</code> of this <code>PortUsage</code>, which must all be <code>PortDefinitions<code>.</p> - - - - - - - - - <p>The PortUsages that are typed by a certain PortDefinition.</p> - - - - - - - - <p>A <code>PortDefinition</code> defines a point at which external entities can connect to and interact with a system or part of a system. Any <code>ownedUsages</code> of a <code>PortDefinition</code>, other than <code>PortUsages</code>, must not be composite.</p> - - - - - - - <p>The <code>conjugatedPortDefinition</code> of a <code>PortDefinition</code> is the <code>ownedMember</code> that is a <code>ConjugatedPortDefinition</code>.</p> - - - OCL2.0 - conjugatedPortDefinition = -let conjugatedPortDefinitions : OrderedSet(ConjugatedPortDefinition) = - ownedMember->selectByKind(ConjugatedPortDefinition) in -if conjugatedPortDefinitions->isEmpty() then null -else conjugatedPortDefinitions->first() -endif - - - - - <p>The <code>ownedUsages</code> of a <code>PortDefinition</code> that are not <code>PortUsages</code> must not be composite.</p> - - - OCL2.0 - ownedUsage-> - reject(oclIsKindOf(PortUsage))-> - forAll(not isComposite) - - - - - <p>Unless it is a <code>ConjugatedPortDefinition</code>, a <code>PortDefinition</code> must have exactly one <code>ownedMember</code> that is a <code>ConjugatedPortDefinition</code>.</p> - - - OCL2.0 - not oclIsKindOf(ConjugatedPortDefinition) implies - ownedMember-> - selectByKind(ConjugatedPortDefinition)-> - size() = 1 - - - - - <p>A <code>PortDefinition</code> must directly or indirectly specialize the <code>PortDefinition</code> <em><code>Ports::Port</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Ports::Port') - - - - - - - <p>The <codeConjugatedPortDefinition</code> that is conjugate to this <code>PortDefinition</code>.</p> - - - - - - - - - - <p>The PortConjugation that relates a certain PortDefinition to its ConjugatedPortDefinition (if any).</p> - - - - - - - - <p>A <code>ConjugatedPortDefinition</code> is a <code>PortDefinition</code> that is a <code>PortDefinition</code> of its original <code>PortDefinition</code>. That is, a <code>ConjugatedPortDefinition</code> inherits all the <code>features</code> of the original <code>PortDefinition</code>, but input <code>flows</code> of the original <code>PortDefinition</code> become outputs on the <code>ConjugatedPortDefinition</code> and output <code>flows</code> of the original <code>PortDefinition</code> become inputs on the <code>ConjugatedPortDefinition</code>. Every <code>PortDefinition</code> (that is not itself a <code><code>ConjugatedPortDefinition</code></code>) has exactly one corresponding <code>ConjugatedPortDefinition</code>, whose effective name is the name of the <code>originalPortDefinition</code>, with the character <code>~</code> prepended.</p> - - - - <p>The <code>originalPortDefinition</code> of the <code>ownedPortConjugator</code> of a <code>ConjugatedPortDefinition</code> must be the <code>originalPortDefinition</code> of the <code>ConjugatedPortDefinition</code>.</p> - - - OCL2.0 - ownedPortConjugator.originalPortDefinition = originalPortDefinition - - - - - <p>A <code>ConjugatedPortDefinition</code> must not itself have a <code>conjugatedPortDefinition</code>. - - - OCL2.0 - conjugatedPortDefinition = null - - - - - - <p>The original <code>PortDefinition</code> for this <code>ConjugatedPortDefinition</code>, which is the <code>owningNamespace</code> of the <code>ConjugatedPortDefinition</code>.</p> - - - - - - - <p>The <code>PortConjugation</code> that is the <code>ownedConjugator</code> of this <code>ConjugatedPortDefinition</code>, linking it to its <code>originalPortDefinition</code>.</p> - - - - - - - <p>If the <code>name</code> of the <code>originalPortDefinition</code> is non-empty, then return that with the character <code>~</code> prepended.</p> - - - - OCL2.0 - let originalName : String = originalPortDefinition.name in -if originalName = null then null -else '~' + originalName -endif - - - - - - - - - - - - <p>A <code>PortConjugation</code> is a <code>Conjugation</code> <code>Relationship</code> between a <code>PortDefinition</code> and its corresponding <code>ConjugatedPortDefinition</code>. As a result of this <code>Relationship</code>, the <code>ConjugatedPortDefinition</code> inherits all the <code>features</code> of the original <code>PortDefinition</code>, but input <code>flows</code> of the original <code>PortDefinition</code> become outputs on the <code>ConjugatedPortDefinition</code> and output <code>flows</code> of the original <code>PortDefinition</code> become inputs on the <code>ConjugatedPortDefinition</code>.</code></p> - - - - - - <p>The <code>PortDefinition</code> being conjugated.</p> - - - - - - - <p>The <code>ConjugatedPortDefinition</code> that is conjugate to the <code>originalPortDefinition</code>.</p> - - - - - - - - - <p>A <code>ConjugatedPortTyping</code> is a <code>FeatureTyping</code> whose <code>type</code> is a <code>ConjugatedPortDefinition</code>. (This relationship is intended to be an abstract-syntax marker for a special surface notation for conjugated typing of ports.)</p> - - - - <p>The <code>portDefinition</code> of a <code>ConjugatedPortTyping</code> is the <code>originalPortDefinition</code> of the <code>conjugatedPortDefinition</code> of the <code>ConjugatedPortTyping</code>.</p> - - - OCL2.0 - portDefinition = conjugatedPortDefinition.originalPortDefinition - - - - - - <p>The <code>originalPortDefinition</code> of the <code>conjugatedPortDefinition</code> of this <code>ConjugatedPortTyping</code>.</p> - - - - - - - <p>The <code>type</code> of this <code>ConjugatedPortTyping</code> considered as a <code>FeatureTyping</code>, which must be a <code>ConjugatedPortDefinition</code>.</p> - - - - - - - - - - <p>The ConjugatedPortTypings whose <code>conjugatedPortDefinition</code> a certain ConjugatedPortDefinition.</p> - - - - - - - - - <p>The ConjugatedPortTypings whose <code>portDefinition</code> is a certain PortDefinition.</p> - - - - - - - - - - <p>An <code>AttributeDefinition</code> is a <code>Definition</code> and a <code>DataType</code> of information about a quality or characteristic of a system or part of a system that has no independent identity other than its value. All <code>features</code> of an <code>AttributeDefinition</code> must be referential (non-composite).</p> - -<p>As a <code>DataType</code>, an <code>AttributeDefinition</code> must specialize, directly or indirectly, the base <code>DataType</code> <code><em>Base::DataValue</em></code> from the Kernel Semantic Library.</p> - - - - <p>All <code>features</code> of an <code>AttributeDefinition</code> must be non-composite.</p> - - - OCL2.0 - feature->forAll(not isComposite) - - - - - - - - - <p>The AttributeUsages that are typed by a certain DataType.</p> - - - - - - - - <p>An <code>AttributeUsage</code> is a <code>Usage</code> whose type is a <code>DataType</code>. Nominally, if the type is an <code>AttributeDefinition</code>, an <code>AttributeUsage</code> is a usage of a <code>AttributeDefinition</code> to represent the value of some system quality or characteristic. However, other kinds of kernel <code>DataTypes</code> are also allowed, to permit use of <code>DataTypes</code> from the Kernel Model Libraries. An <code>AttributeUsage</code> itself as well as all its nested <code>features</code> must be referential (non-composite).</p> - -<p>An <code>AttributeUsage</code> must specialize, directly or indirectly, the base <code>Feature</code> <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> - - - - <p>An <code>AttributeUsage</code> is always referential.</p> - - - OCL2.0 - isReference - - - - - <p>All <code>features</code> of an <code>AttributeUsage</code> must be non-composite.</p> - - - OCL2.0 - feature->forAll(not isComposite) - - - - - <p>An <code>AttributeUsage</code> must directly or indirectly specialize <code><em>Base::dataValues</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Base::dataValues') - - - - - - <p>The <code>DataTypes</code> that are the types of this <code>AttributeUsage</code>. Nominally, these are <code>AttributeDefinitions</code>, but other kinds of kernel <code>DataTypes</code> are also allowed, to permit use of <code>DataTypes</code> from the Kernel Model Libraries.</p> - - - - - - - <p>Always true for an <code>AttributeUsage</code>.</p> - - - - - - - - - - - <p>The PerformActionUsages that have a certain ActionUsage as their <code>performedAction</code>.</p> - - - - - - - - <p>An <code>AcceptActionUsage</code> is an <code>ActionUsage</code> that specifies the acceptance of an <em><code>incomingTransfer</code></em> from the <code><em>Occurrence</em></code> given by the result of its <code>receiverArgument</code> Expression. (If no <code>receiverArgument</code> is provided, the default is the <em><code>this</code></em> context of the AcceptActionUsage.) The payload of the accepted <em><code>Transfer</em></code> is output on its <code>payloadParameter</code>. Which <em><code>Transfers</em></code> may be accepted is determined by conformance to the typing and (potentially) binding of the <code>payloadParameter</code>.</p> - - - - - <p>An <code>AcceptUsageAction</code> must have at least two input <code>parameters</code>, corresponding to its <em><code>payload</code></em> and <em><code>receiver</code>, respectively (even if they have no <code>FeatureValue</code>). (Note that the <code>payloadParameter</code> is an input as well as an output.)</p> - - - OCL2.0 - inputParameters()->size() >= 2 - - - - - <p>The <code>receiverArgument</code> of an <code>AcceptUsageAction</code> is its second argument <code>Expression</code>.</p> - - - OCL2.0 - receiverArgument = argument(2) - - - - - <p>The <code>payloadArgument</code> of an <code>AcceptUsageAction</code> is its first argument <code>Expression</code>.</p> - - - OCL2.0 - payloadArgument = argument(1) - - - - - <p>The <code>payloadParameter</code> of an <code>AcceptActionUsage<code> is its first <code>parameter</code>.</p> - - - OCL2.0 - payloadParameter = - if parameter->isEmpty() then null - else parameter->first() endif - - - - - <p>An <code>AcceptActionUsage</code> that is not the <code>triggerAction</code> of a <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::acceptActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - not isTriggerAction() implies - specializesFromLibrary('Actions::acceptActions') - - - - - <p>A composite <code>AcceptActionUsage</code> that is a subaction usage, but is <em>not</em> the <code>triggerAction</code> of a <code>TransitionUsage</code>, must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::acceptSubactions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() and not isTriggerAction() implies - specializesFromLibrary('Actions::Action::acceptSubactions') - - - - - <p>An <code>AcceptActionUsage</code> that is the <code>triggerAction</code> of <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::TransitionAction::accepter</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isTriggerAction() implies - specializesFromLibrary('Actions::TransitionAction::accepter') - - - - - <p>If the <code>payloadArgument</code> of an <code>AcceptActionUsage</code> is a <code>TriggerInvocationExpression</code>, then the <code>AcceptActionusage</code> must have an <code>ownedFeature</code> that is a <code>BindingConnector</code> between its <code><em>receiver</em></code> <code>parameter</code> and the <code><em>receiver</em></code> <code>parameter</code> of the <code>TriggerInvocationExpression</code>.</p> - - - OCL2.0 - payloadArgument <> null and -payloadArgument.oclIsKindOf(TriggerInvocationExpression) implies - let invocation : Expression = - payloadArgument.oclAsType(Expression) in - parameter->size() >= 2 and - invocation.parameter->size() >= 2 and - ownedFeature->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(parameter->at(2)) and - b.relatedFeatures->includes(invocation.parameter->at(2))) - - - - - - <p>An <code>Expression</code> whose <code>result</code> is bound to the <em><code>receiver</code></em> input <code>parameter</code> of this <code>AcceptActionUsage</code>.</p> - - - - - - - - <p>The <code>nestedReference</code> of this <code>AcceptActionUsage</code> that redefines the <code>payload</code> output <code>parameter</code> of the base <code>AcceptActionUsage</code> <em><code>AcceptAction</code></em> from the Systems Model Library.</p> - - - - - - - <p>An <code>Expression</code> whose <code>result</code> is bound to the <code><em>payload</em></code> <code>parameter</code> of this <code>AcceptActionUsage</code>. If provided, the <code>AcceptActionUsage</code> will only accept a <code><em>Transfer</em></code> with exactly this <code><em>payload</em></code>.</p> - - - - - - - - <p>Check if this <code>AcceptActionUsage</code> is the <code>triggerAction</code> of a <code>TransitionUsage</code>.</p> - - - - OCL2.0 - owningType <> null and -owningType.oclIsKindOf(TransitionUsage) and -owningType.oclAsType(TransitionUsage).triggerAction->includes(self) - - - - - - - - - - - <p>The <code>SendActionUsage</code> that has a certain <code>Expression<code> as its <code>receiverArgument</code>.</p> - - - - - - - - <p>A <code>SendActionUsage</code> is an <code>ActionUsage</code> that specifies the sending of a payload given by the result of its <code>payloadArgument</code> <code>Expression</code> via a <em><code>MessageTransfer</code></em> whose <em><code>source</code></em> is given by the result of the <code>senderArgument</code> <code>Expression</code> and whose <code>target</code> is given by the result of the <code>receiverArgument</code> <code>Expression</code>. If no <code>senderArgument</code> is provided, the default is the <em><code>this</code></em> context for the action. If no <code>receiverArgument</code> is given, then the receiver is to be determined by, e.g., outgoing <em><code>Connections</code></em> from the sender.</p> - - - - - <p>The <code>senderArgument</code> of a <code>SendActionUsage</code> is its second argument <code>Expression</code>.</p> - - - OCL2.0 - senderArgument = argument(2) - - - - - <p>The <code>payloadArgument</code> of a <code>SendActionUsage</code> is its first argument <code>Expression</code>.</p> - - - OCL2.0 - payloadArgument = argument(1) - - - - - <p>A <code>SendActionUsage</code> must have at least three owned input <code>parameters</code>, corresponding to its <em><code>payload</code></em>, <em><code>sender</code></em> and <em><code>receiver</code></em>, respectively (whether or not they have <code>FeatureValues</code>).</p> - - - OCL2.0 - inputParameters()->size() >= 3 - - - - - <p>The <code>receiverArgument</code> of a <code>SendActionUsage</code> is its third argument <code>Expression</code>.</p> - - - OCL2.0 - receiverArgument = argument(3) - - - - - <p>A composite <code>SendActionUsage</code> that is a subaction must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::sendSubactions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::acceptSubactions') - - - - - <p>A <code>SendActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::sendActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::sendActions') - - - - - - <p>An <code>Expression</code> whose result is bound to the <em><code>receiver</code></em> input parameter of this <code>SendActionUsage</code>.</p> - - - - - - - - <p>An <code>Expression</code> whose result is bound to the <code><em>payload</em></code> input parameter of this <code>SendActionUsage</code>.</p> - - - - - - - - <p>An <code>Expression</code> whose result is bound to the <em><code>sender</code></em> input parameter of this <code>SendActionUsage</code>.</p> - - - - - - - - - <p>A <code>PerformActionUsage</code> is an <code>ActionUsage</code> that represents the performance of an <code>ActionUsage</code>. Unless it is the <code>PerformActionUsage</code> itself, the <code>ActionUsage</code> to be performed is related to the <code>PerformActionUsage</code> by a <code>ReferenceSubsetting</code> relationship. A <code>PerformActionUsage</code> is also an <code>EventOccurrenceUsage</code>, with its <code>performedAction</code> as the <code>eventOccurrence</code>.</p> - - - - <p>If a <code>PerformActionUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be an <code>ActionUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(ActionUsage) - - - - - <p>If a <code>PerformActionUsage</code> has an <code>owningType</code> that is a <code>PartDefinition</code> or <code>PartUsage</code>, then it must directly or indirectly specialize the <code>ActionUsage</code> <code><em>Parts::Part::performedActions</em></code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::performedActions') - - - - - - - <p>The <code>ActionUsage</code> to be performed by this <code>PerformedActionUsage</code>. It is the <code>eventOccurrence</code> of the <code>PerformActionUsage</code> considered as an <code>EventOccurrenceUsage</code>, which must be an <code>ActionUsage</code>.</p> - - - - - - - - <p>The naming <code>Feature</code> of a <code>PerformActionUsage</code> is its <code>performedAction</code>, if this is different than the <code>PerformActionUsage</code>. If the <code>PerformActionUsage</code> is its own <code>performedAction</code>, then the naming <code>Feature</code> is the same as the usual default for a <code>Usage</code>.</p> - - - - OCL2.0 - if performedAction <> self then performedAction -else self.oclAsType(Usage).namingFeature() -endif - - - - - - - - - - - <p>A <code>ForkNode</code> is a <code>ControlNode</code> that must be followed by successor <code>Actions</code> as given by all its outgoing <code>Successions</code>.</p> - - - - <p>A <code>ForkNode</code> may have at most one incoming <code>Succession</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)->size() <= 1 - - - - - <p>A <code>ForkNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::forks</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action::forks') - - - - - - - <p>A <code>JoinNode</code> is a <code>ControlNode</code> that waits for the completion of all the predecessor <code>Actions</code> given by incoming <code>Successions</code>.</p> - - - - <p>A <code>JoinNode</code> may have at most one outgoing <code>Succession</code>.</p> - - - OCL2.0 - sourceConnector->selectByKind(Succession)->size() <= 1 - - - - - <p>A <code>JoinNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::joins</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action::join') - - - - - - - <p>A <code>ControlNode</code> is an <code>ActionUsage</code> that does not have any inherent behavior but provides constraints on incoming and outgoing <code>Successions</code> that are used to control other <code>Actions</code>. A <code>ControlNode</code> must be a composite owned <code>usage</code> of an <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> - - - - - <p>All outgoing <code>Successions</code> from a <code>ControlNode</code> must have a source <code>multiplicity</code> of <code>1..1</code>.</p> - - - OCL2.0 - sourceConnector->selectByKind(Succession)-> - collect(connectorEnd->at(1).multiplicity)-> - forAll(sourceMult | - multiplicityHasBounds(sourceMult, 1, 1)) - - - - - <p>The <code>owningType</code> of a <code>ControlNode</code> must be an <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) - - - - - <p>All incoming <code>Successions</code> to a <code>ControlNode</code> must have a target <code>multiplicity</code> of <code>1..1</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)-> - collect(connectorEnd->at(2).multiplicity)-> - forAll(targetMult | - multiplicityHasBounds(targetMult, 1, 1)) - - - - - <p>A <code>ControlNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::control</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Action::Action::controls') - - - - - <p>A <code>ControlNode</code> must be composite.</p> - - - OCL2.0 - isComposite - - - - - - <p>Check that the given <code>Multiplicity</code> has <code>lowerBound</code> and <code>upperBound</code> expressions that are model-level evaluable to the given <code>lower</code> and <code>upper</code> values.</p> - - - - OCL2.0 - mult <> null and -if mult.oclIsKindOf(MultiplicityRange) then - mult.oclAsType(MultiplicityRange).hasBounds(lower, upper) -else - mult.allSuperTypes()->exists( - oclisKindOf(MultiplicityRange) and - oclAsType(MultiplicityRange).hasBounds(lower, upper) -endif - - - - - - - - - - - - - - - - - <p>An <code>ActionUsage</code> is a <code>Usage</code> that is also a <code>Step</code>, and, so, is typed by a <code>Behavior</code>. Nominally, if the type is an <code>ActionDefinition</code>, an <code>ActionUsage</code> is a <code>Usage</code> of that <code>ActionDefinition</code> within a system. However, other kinds of kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> - - - - - <p>A composite <code>ActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::subactions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::subactions') - - - - - <p>An <code>ActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::actions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::actions') - - - - - <p>A composite <code>ActionUsage</code> whose <code>owningType</code> is <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Parts::Part::ownedActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::ownedActions') - - - - - <p>An <code>ActionUsage</code> that is the <code><em>entry</em></code>, <code><em>do</em></code>, or <code><em>exit</em></code> <code><em>Action</em></code> of a <code>StateDefinition</code> or <code>StateUsage</code> must redefine the <code>entryAction</code>, <code>doAction</code>, or <code>exitAction</code> <code>feature</code>, respectively, of the <code>StateDefinition</code> <code><em>States::StateAction</em></code> from the Systems Model Library.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies - let kind : StateSubactionKind = - owningFeatureMembership.oclAsType(StateSubactionMembership).kind in - if kind = StateSubactionKind::entry then - redefinesFromLibrary('States::StateAction::entryAction') - else if kind = StateSubactionKind::do then - redefinesFromLibrary('States::StateAction::doAction') - else - redefinesFromLibrary('States::StateAction::exitAction') - endif endif - - - - - - - <p>The <code>Behaviors</code> that are the <code>types</code> of this <code>ActionUsage</code>. Nominally, these would be <code>ActionDefinitions</code>, but other kinds of Kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> - - - - - - - - <p>Return the owned input <code>parameters</code> of this <code>ActionUsage</code>.</p> - - - - OCL2.0 - input->select(f | f.owner = self) - - - - - - - - - - <p>Return the <code>i</code>-th owned input <code>parameter</code> of the <code>ActionUsage</code>. Return null if the <code>ActionUsage</code> has less than <code>i</code> owned input <code>parameters</code>.</p> - - - - OCL2.0 - if inputParameters()->size() < i then null -else inputParameters()->at(i) -endif - - - - - - - - - - - - - <p>Return the <code>i</code>-th argument <code>Expression</code> of an <code>ActionUsage</code>, defined as the <code>value</code> <code>Expression</code> of the <code>FeatureValue</code> of the <code>i</code>-th owned input <code>parameter</code> of the <code>ActionUsage</code>. Return null if the <code>ActionUsage</code> has less than <code>i</code> owned input <code>parameters</code> or the <code>i</code>-th owned input <code>parameter</code> has no <code>FeatureValue</code>.</p> - - - - OCL2.0 - if inputParameter(i) = null then null -else - let featureValue : Sequence(FeatureValue) = inputParameter(i). - ownedMembership->select(oclIsKindOf(FeatureValue)) in - if featureValue->isEmpty() then null - else featureValue->at(1).value - endif -endif - - - - - - - - - - - - - <p>Check if this <code>ActionUsage</code> is composite and has an <code>owningType</code> that is an <code>ActionDefinition</code> or <code>ActionUsage</code> but is <em>not</em> the <code>entryAction</code> or <code>exitAction</em></code> of a <code>StateDefinition</code> or <code>StateUsage</code>. If so, then it represents an <code><em>Action</em></code> that is a <code><em>subaction</em></code> of another <code><em>Action</em></code>.</p> - - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) and -(owningFeatureMembership.oclIsKindOf(StateSubactionMembership) implies - owningFeatureMembership.oclAsType(StateSubactionMembership).kind = - StateSubactionKind::do) - - - - - - - - - - - <p>The Activities that feature a certain ActionUsage.</p> - - - - - - - - <p>A <code>DecisionNode</code> is a <code>ControlNode</code> that makes a selection from its outgoing <code>Successions</code>.</p> - - - - <p>A <code>DecisionNode</code> may have at most one incoming <code>Succession</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)->size() <= 1 - - - - - <p>All outgoing <code>Successions</code> from a <code>DecisionNode</code> must have a target <code>multiplicity</code> of <code>0..1</code>.</p> - - - OCL2.0 - sourceConnector->selectAsKind(Succession)-> - collect(connectorEnd->at(2))-> - forAll(targetMult | - multiplicityHasBounds(targetMult, 0, 1)) - - - - - <p>A <code>DecisionNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::decisions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action::decisions') - - - - - <p>All outgoing <code>Successions</code> from a <code>DecisionNode</code> must subset the inherited <em><code>outgoingHBLink</code></em> <code>feature</code> of the <code>DecisionNode</code>.</p> - - - OCL2.0 - sourceConnector->selectByKind(Succession)-> - forAll(subsetsChain(self, - resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink'))) - - - - - - - <p>A <code>MergeNode</code> is a <code>ControlNode</code> that asserts the merging of its incoming <code>Successions</code>. A <code>MergeNode</code> may have at most one outgoing <code>Successions</code>.</p> - - - - <p>A <code>MergeNode</code> may have at most one outgoing <code>Succession</code>.</p> - - - OCL2.0 - sourceConnector->selectAsKind(Succession)->size() <= 1 - - - - - <p>All incoming <code>Successions</code> to a <code>MergeNode</code> must have a source <code>multiplicity</code> of <code>0..1</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)-> - collect(connectorEnd->at(1))-> - forAll(sourceMult | - multiplicityHasBounds(sourceMult, 0, 1)) - - - - - <p>All incoming <code>Successions</code> to a <code>MergeNode</code> must subset the inherited <em><code>incomingHBLink</code></em> <code>feature</code> of the <code>MergeNode</code>.</p> - - - OCL2.0 - targetConnector->selectByKind(Succession)-> - forAll(subsetsChain(self, - resolveGlobal('ControlPerformances::MergePerformance::incomingHBLink'))) - - - - - <p>A <code>MergeNode</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::merges</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action::merges') - - - - - - - - <p>The ActionUsages being typed by a certain Behavior.</p> - - - - - - - - <p>An <code>ActionDefinition</code> is a <code>Definition</code> that is also a <code>Behavior</code> that defines an <em><code>Action</code></em> performed by a system or part of a system.</p> - - - - <p>An <code>ActionDefinition</code> must directly or indirectly specialize the <code>ActionDefinition</code> <em><code>Actions::Action</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::Action') - - - - - <p> The <code>actions</code> of a <code>ActionDefinition</code> are those of its <code>usages</code> that are <code>ActionUsages</code>.</p> - - - OCL2.0 - action = usage->selectByKind(ActionUsage) - - - - - - - <p>The <code>ActionUsages</code> that are <code>steps</code> in this <code>ActionDefinition</code>, which define the actions that specify the behavior of the <code>ActionDefinition</code>.</p> - - - - - - - - - - <p>The <code>SendActionUsage</code> that has a certain <code>Expression</code> as its <code>itemsArgument</code>.</p> - - - - - - - - - <p>The AcceptActionUsage that has a certain Expression as its <code>receiverArgument</code>.</p> - - - - - - - - - <p>The AssignmentActionUsages that gave a certain <code>referent</code> Expression.</p> - - - - - - - - - <p>The <code>ForLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>seqArgument</code>.</p> - - - - - - - - <p>An <code>IfActionUsage</code> is an <code>ActionUsage</code> that specifies that the <code>thenAction</code> <code>ActionUsage</code> should be performed if the result of the <code>ifArgument</code> <code>Expression</code> is true. It may also optionally specify an <code>elseAction</code> <code>ActionUsage</code> that is performed if the result of the <code>ifArgument</code> is false.</p> - - - - <p>The <code>thenAction</code> of an <code>ifActionUsage</code> is its second <code>parameter</code>, which must be an <code>ActionUsage</code>.</p> - - - OCL2.0 - thenAction = - let parameter : Feature = inputParameter(2) in - if parameter <> null and parameter.oclIsKindOf(ActionUsage) then - parameter.oclAsType(ActionUsage) - else - null - endif - - - - - <p>A composite <code>IfActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::ifSubactions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::ifSubactions') - - - - - <p>A <code>IfActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::ifThenActions</code></em> from the Systems Model Library. If it has an <code>elseAction</code>, then it must directly or indirectly specialize <em><code>Actions::ifThenElseActions</code></em>. - - - OCL2.0 - if elseAction = null then - specializesFromLibrary('Actions::ifThenActions') -else - specializesFromLibrary('Actions::ifThenElseActions') -endif - - - - - <p>The <code>ifArgument</code> of an <code>ifActionUsage</code> is its first <code>parameter</code>, which must be an <code>Expression</code>.</p> - - - OCL2.0 - ifArgument = - let parameter : Feature = inputParameter(1) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - - - - - <p>The <code>elseAction</code> of an <code>ifActionUsage</code> is its third <code>parameter</code>, if there is one, which must then be an <code>ActionUsage</code>.</p> - - - OCL2.0 - elseAction = - let parameter : Feature = inputParameter(3) in - if parameter <> null and parameter.oclIsKindOf(ActionUsage) then - parameter.oclAsType(ActionUsage) - else - null - endif - - - - - <p>An <code>IfActionUsage</code> must have at least two owned <code>input</code> <code>parameters</code>.</p> - - - OCL2.0 - inputParameters()->size() >= 2 - - - - - - <p>The <code>ActionUsage</code> that is to be performed if the result of the <code>ifArgument</code> is false. It is the (optional) third <code>parameter</code> of the <code>IfActionUsage</code>.</p> - - - - - - - - <p>The <code>ActionUsage</code> that is to be performed if the result of the <code>ifArgument</code> is true. It is the second <code>parameter<code> of the <code>IfActionUsage</code>.</p> - - - - - - - - <p>The <code>Expression</code> whose result determines whether the <code>thenAction</code> or (optionally) the <code>elseAction</code> is performed. It is the first <code>parameter<code> of the <code>IfActionUsage</code>.</p> - - - - - - - - - - <p>The AssignmentActionUsage that has a certain Expression as its <code>targetArgument</code>.</p> - - - - - - - - - <p>The <code>WhileLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>untilArgument</code>.</p> - - - - - - - - - <p>The <code>WhileLoopActionUsage</code> that has a certain <code>Expression</code> as its <code>whileArgument</code>.</p> - - - - - - - - - <p>The <code>LoopActionUsage</code> that has a certain <code>ActionUsage</code> as its <code>bodyAction</code>.</p> - - - - - - - - - <p>The IfActionUsage that has a certain ActionUsage as its <code>elseAction</code>.</p> - - - - - - - - - <p>The <code>IfActionUsage</code> that has a certain <code>Expression</code> as its <code>ifArgument</code>.</p> - - - - - - - - - <p>The <code>IfActionUsage</code> that has a certain <code>ActionUsage</code> as its <code>thenAction</code>.</p> - - - - - - - - <p>A <code>LoopActionUsage</code> is an <code>ActionUsage</code> that specifies that its <code>bodyAction</code> should be performed repeatedly. Its subclasses <code>WhileLoopActionUsage</code> and <code>ForLoopActionUsage</code> provide different ways to determine how many times the <code>bodyAction</code> should be performed.</p> - - - - <p>The <code>bodyAction</code> of a <code>LoopActionUsage</code> is its second input <code>parameter</code>, which must be an <code>Action</code>.</p> - - - OCL2.0 - bodyAction = - let parameter : Feature = inputParameter(2) in - if parameter <> null and parameter.oclIsKindOf(Action) then - parameter.oclAsType(Action) - else - null - endif - - - - - - - <p>The <code>ActionUsage</code> to be performed repeatedly by the <code>LoopActionUsage</code>. It is the second <code>parameter</code> of the <code>LoopActionUsage</code>.</p> - - - - - - - - - - <p>The AssignmentActionUsage that has a certain Expression as its <code>valueArgument</code>.</p> - - - - - - - - <p>A <code>ForLoopActionUsage</code> is a <code>LoopActionUsage</code> that specifies that its <code>bodyAction</code> <code>ActionUsage</code> should be performed once for each value, in order, from the sequence of values obtained as the result of the <code>seqArgument</code> <code>Expression</code>, with the <code>loopVariable</code> set to the value for each iteration.</p> - - - - <p>The <code>seqArgument</code> of a <code>ForLoopActionUsage</code> is its first argument <code>Expression</code>.</p> - - - OCL2.0 - seqArgument = argument(1) - - - - - - <p>A composite <code>ForLoopActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::forLoops</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::forLoops') - - - - - <p>The <code>loopVariable</code> of a <code>ForLoopActionUsage</code> must redefine the <code>ActionUsage</code> <code><em>Actions::ForLoopAction::var</em></code>.</p> - - - OCL2.0 - loopVariable <> null and -loopVariable.redefinesFromLibrary('Actions::ForLoopAction::var') - - - - - <p>A <code>ForLoopActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::forLoopActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::forLoopActions') - - - - - <p>The <code>loopVariable</code> of a <code>ForLoopActionUsage</code> is its first <code>ownedFeature</code>, which must be a <code>ReferenceUsage</code>.</p> - - - OCL2.0 - loopVariable = - if ownedFeature->isEmpty() or - not ownedFeature->first().oclIsKindOf(ReferenceUsage) then - null - else - ownedFeature->first().oclAsType(ReferenceUsage) - endif - - - - - <p>The first <code>ownedFeature</code> of a <code>ForLoopActionUsage</code> must be a <code>ReferenceUsage</code>.</p> - - - OCL2.0 - ownedFeature->notEmpty() and -ownedFeature->at(1).oclIsKindOf(ReferenceUsage) - - - - - - <p>A <code>ForLoopActionUsage</code> must have two owned <code>input</code> <code>parameters</code>.</p> - - - OCL2.0 - inputParameters()->size() = 2 - - - - - - <p>The <code>Expression</code> whose result provides the sequence of values to which the <code>loopVariable</code> is set for each iterative performance of the <code>bodyAction</code>. It is the <code>Expression</code> whose <code>result</code> is bound to the <em><code>seq</code></em> <code>input</code> <code>parameter</code> of this <code>ForLoopActionUsage</code>.</p> - - - - - - - - <p>The <code>ownedFeature</code> of this <co>ForLoopActionUsage</code> that acts as the loop variable, which is assigned the successive values of the input sequence on each iteration. It is the <code>ownedFeature</code> that redefines <em><code>ForLoopAction::var</code></em>.</p> - - - - - - - - <p>An <code>AssignmentActionUsage</code> is an <code>ActionUsage</code> that is defined, directly or indirectly, by the <code>ActionDefinition</code> <em><code>AssignmentAction</code></em> from the Systems Model Library. It specifies that the value of the <code>referent</code> <code>Feature</code>, relative to the target given by the result of the <code>targetArgument</code> <code>Expression</code>, should be set to the result of the <code>valueExpression</code>.</p> - - - - - <p>An <code>AssignmentActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::assignmentActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::assignmentActions') - - - - - <p>The first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine <code><em>AssignmentAction::target::startingAt</em></code>.</p> - - - OCL2.0 - let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter.ownedFeature->first(). - redefines('AssignmentAction::target::startingAt') - - - - - <p>The <code>valueExpression</code> of a <code>AssignmentActionUsage</code> is its second argument <code>Expression</code>.</p> - - - OCL2.0 - valueExpression = argument(2) - - - - - <p>The <code>targetArgument</code> of a <code>AssignmentActionUsage</code> is its first argument <code>Expression</code>.</p> - - - OCL2.0 - targetArgument = argument(1) - - - - - <p>A composite <code>AssignmentActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::assignments</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::assignments') - - - - - <p>The first <code>ownedFeature</code> of the first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine <code><em>AssignmentAction::target::startingAt::accessedFeature</em></code>.</p> - - - OCL2.0 - let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->first(). - redefines('AssigmentAction::target::startingAt::accessedFeature') - - - - - <p>The first <code>ownedFeature</code> of the first <code>ownedFeature</code> of the first <code>parameter</code> of an <code>AssignmentActionUsage</code> must redefine the <code>referent</code> of the <code>AssignmentActionUsage</code>.</p> - - - OCL2.0 - let targetParameter : Feature = inputParameter(1) in -targetParameter <> null and -targetParameter.ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->notEmpty() and -targetParameter->first().ownedFeature->first().redefines(referent) - - - - - <p>The <code>referent</code> of an <code>AssignmentActionUsage</code> is the first <code>Feature</code> that is the <code>memberElement</code> of a <code>ownedMembership</code> that is not a <code>FeatureMembership</code>.</p> - - - OCL2.0 - referent = - let unownedFeatures : Sequence(Feature) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement-> - selectByKind(Feature) in - if unownedFeatures->isEmpty() then null - else unownedFeatures->first().oclAsType(Feature) - endif - - - - - <p>An <code>AssignmentActionUsage</code> must have an <code>ownedMembership</code> that is not an <code>OwningMembership</code> and whose <code>memberElement</code> is a <code>Feature</code>.</p> - - - OCL2.0 - ownedMembership->exists( - not oclIsKindOf(OwningMembership) and - memberElement.oclIsKindOf(Feature)) - - - - - <p>The <code>featureTarget</code> of the <code>referent</code> of an <code>AssignmentActionUsage</code> must be able to have time-varying values.</p> - - - OCL2.0 - referent <> null implies referent.featureTarget.mayTimeVary - - - - - - <p>The <code>Expression</code> whose value is an occurrence in the domain of the <code>referent</code> <code>Feature</code>, for which the value of the <code>referent</code> will be set to the result of the <code>valueExpression</code> by this <code>AssignmentActionUsage</code>.</p> - - - - - - - <p>The <code>Expression</code> whose result is to be assigned to the <code>referent</code> <code>Feature</code>.</p> - - - - - - - <p>The <code>Feature</code> whose value is to be set.</p> - - - - - - - - <p>A <code>WhileLoopActionUsage</code> is a <code>LoopActionUsage</code> that specifies that the <code>bodyAction</code> <code>ActionUsage</code> should be performed repeatedly while the result of the <code>whileArgument</code> <code>Expression</code> is true or until the result of the <code>untilArgument</code> <code>Expression</code> (if provided) is true. The <code>whileArgument</code> <code>Expression</code> is evaluated before each (possible) performance of the <code>bodyAction</code>, and the <code>untilArgument</code> <code>Expression</code> is evaluated after each performance of the <code>bodyAction</code>.</p> - - - - <p>A composite <code>WhileLoopActionUsage</code> that is a subaction usage must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::whileLoops</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::whileLoops') - - - - - <p>The <code>whileArgument</code> of a <code>WhileLoopActionUsage</code> is its third input <code>parameter</code>, which, if it exists, must be an <code>Expression</code>.</p> - - - OCL2.0 - untilArgument = - let parameter : Feature = inputParameter(3) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - - - - - - <p>A <code>WhileLoopActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::whileLoopActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::whileLoopActions') - - - - - <p>The <code>whileArgument</code> of a <code>WhileLoopActionUsage</code> is its first input <code>parameter</code>, which must be an <code>Expression</code>.</p> - - - OCL2.0 - whileArgument = - let parameter : Feature = inputParameter(1) in - if parameter <> null and parameter.oclIsKindOf(Expression) then - parameter.oclAsType(Expression) - else - null - endif - - - - - - <p>A <code>WhileLoopActionUsage</code> must have at least two owned <code>input</code> <code>parameters</code>.</p> - - - OCL2.0 - inputParameters()->size() >= 2 - - - - - - <p>The <code>Expression</code> whose result, if true, determines that the <code>bodyAction</code> should continue to be performed. It is the first owned <code>parameter</code> of the <code>WhileLoopActionUsage</code>.</p> - - - - - - - - <p>The <code>Expression</code> whose result, if false, determines that the <code>bodyAction</code> should continue to be performed. It is the (optional) third owned <code>parameter</code> of the <code>WhileLoopActionUsage</code>.</p> - - - - - - - - - - The <code>ForLoopActionUsage</code> that has a certain <code>ReferenceUsage</code> as its <code>loopVariable</code>. - - - - - - - - - <p>The AcceptActionUsage that owns the <code>payloadParameter</code>.</p> - - - - - - - - <p><code>TriggerKind</code> enumerates the kinds of triggers that can be represented by a <code>TriggerInvocationExpression</code>.</p> - - - - <p>Indicates a <em>change trigger</em>, corresponding to the <em><code>TriggerWhen</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the Kernel Semantic Library.</p> - - - - - <p>Indicates an <em>absolute time trigger</em>, corresponding to the <em><code>TriggerAt</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the Kernel Semantic Library.</p> - - - - - <p>Indicates a <em>relative time trigger</em>, corresponding to the <em><code>TriggerAfter</code></em> <code>Function</code> from the <em><code>Triggers</code></em> model in the <code>Kernel Semantic Library.</p> - - - - - - - - - - - - <p>A <code>TriggerInvocationExpression</code> is an <code>InvocationExpression</code> that invokes one of the trigger <code>Functions</code> from the Kernel Semantic Library <code><em>Triggers<em></code> package, as indicated by its <code>kind</code>.</p> - - - - <p>If a <code>TriggerInvocationExpression</code> has <code>kind = after</code>, then it must have an argument <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>Quantities::ScalarQuantityValue</code></em> and a <code>feature</code> that directly or indirectly redefines <em><code>Quantities::TensorQuantityValue::mRef</code></em> and directly or indirectly specializes <em><code>ISQBase::DurationUnit</code></em>.</p> - - - OCL2.0 - kind = TriggerKind::after implies - argument->notEmpty() and - argument->at(1).result.specializesFromLibrary('Quantities::ScalarQuantityValue') and - let mRef : Element = - resolveGlobal('Quantities::TensorQuantityValue::mRef').ownedMemberElement in - argument->at(1).result.feature-> - select(ownedRedefinition.redefinedFeature-> - closure(ownedRedefinition.redefinedFeature)-> - includes(mRef))-> - exists(specializesFromLibrary('ISQBase::DurationUnit')) - - - - - <p>If a <code>TriggerInvocationExpression</code> has <code>kind = at</code>, then it must have an argument <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>Time::TimeInstantValue</code></em>.</p> - - - OCL2.0 - kind = TriggerKind::at implies - argument->notEmpty() and - argument->at(1).result.specializesFromLibrary('Time::TimeInstantValue') - - - - - <p>If a <code>TriggerInvocationExpression</code> has <code>kind = when</code>, then it must have an <code>argument</code> that is a <code>FeatureReferenceExpression</code> whose <code>referent</code> is an <code>Expression</code> with a <code>result</code> that conforms to the type <em><code>ScalarValues::Boolean</code></em>.</p> - - - OCL2.0 - kind = TriggerKind::when implies - argument->notEmpty() and - argument->at(1).oclIsKindOf(FeatureReferenceExpression) and - let referent : Feature = - argument->at(1).oclAsType(FeatureReferenceExpression).referent in - referent.oclIsKindOf(Expression) and - referent.oclAsType(Expression).result.specializesFromLibrary('ScalarValues::Boolean') - - - - - - <p>Indicates which of the <code>Functions</code> from the <code><em>Triggers</em></code> model in the Kernel Semantic Library is to be invoked by this <code>TriggerInvocationExpression</code>.</p> - - - - - <p>Return one of the <code>Functions</code> <em><code>TriggerWhen</code></em>, <em><code>TriggerAt</code></em> or <em><code>TriggerAfter</code></em>, from the Kernel Semantic Library <em><code>Triggers</code></em> package, depending on whether the <code>kind</code> of this <code>TriggerInvocationExpression</code> is <code>when</code>, <code>at</code> or <code>after</code>, respectively.</p> - - - - OCL2.0 - resolveGlobal( - if kind = TriggerKind::when then - 'Triggers::TriggerWhen' - else if kind = TriggerKind::at then - 'Triggers::TriggerAt' - else - 'Triggers::TriggerAfter' - endif endif -).memberElement.oclAsType(Type) - - - - - - - - - <p>The <code>SendActionUsage</code> that has a certain <code>Expression</code> as its <code>senderArgument</code>.</p> - - - - - - - - <p>A <code>TerminateActionUsage</code> is an <code>ActionUsage</code> that directly or indirectly specializes the <code>ActionDefinition</code> <em><code>TerminateAction</code></em> from the Systems Model Library, which causes a given <em><code>terminatedOccurrence</code></em> to end during its performance. By default, the <code>terminatedOccurrence</code> is the featuring instance (<em><code>that</code></em>) of the performance of the <code>TerminateActionUsage</code>, generally the performance of its immediately containing <code>ActionDefinition</code> or <code>ActionUsage</code>.</p> - - - - <p>A <code>TerminateActionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::terminateActions</code></em> from the Systems Modeling Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::terminateActions') - - - - - <p>The <code>terminatedOccurrenceArgument</code> of a <code>TerminateActionUsage</code> is its first argument.</p> - - - OCL2.0 - terminatedOccurrenceArgument = argument(1) - - - - - <p>A composite <code>TerminateActionUsage</code> that is a subaction must must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::terminateSubactions</code></em> from the Systems Modeling Library.</p> - - - OCL2.0 - isSubactionUsage() implies - specializesFromLibrary('Actions::Action::terminateSubactions') - - - - - - <p>The <code>Expression</code> that is the <code>featureValue</code> of the <em><code>terminateOccurrence</code></em> <code>parameter</code> of this <code>TerminateActionUsage</code>. - - - - - - - - - <p>The <code>TerminateActionUsage</code> that has a certain <code>Expression</code> as its <code>terminatedOccurrenceArgument</code>.</p> - - - - - - - - - - - <p>The Definitions that have a certain Usage as a <code>flow</code>.</p> - - - - - - - - - <p>The Definitions that feature a certain Usage.</p> - - - - - - - - - <p>The Usage in which the <code>nestedPort</code> is nested (if any).</p> - - - - - - - - <p>A <code>Definition</code> is a <code>Classifier</code> of <code>Usages</code>. The actual kinds of <code>Definition</code> that may appear in a model are given by the subclasses of <code>Definition</code> (possibly as extended with user-defined <em><code>SemanticMetadata</code></em>).</p> - -<p>Normally, a <code>Definition</code> has owned Usages that model <code>features</code> of the thing being defined. A <code>Definition</code> may also have other <code>Definitions</code> nested in it, but this has no semantic significance, other than the nested scoping resulting from the <code>Definition</code> being considered as a <code>Namespace</code> for any nested <code>Definitions</code>.</p> - -<p>However, if a <code>Definition</code> has <code>isVariation</code> = <code>true</code>, then it represents a <em>variation point</em> <code>Definition</code>. In this case, all of its <code>members</code> must be <code>variant</code> <code>Usages</code>, related to the <code>Definition</code> by <code>VariantMembership</code> <code>Relationships</code>. Rather than being <code>features</code> of the <code>Definition</code>, <code>variant</code> <code>Usages</code> model different concrete alternatives that can be chosen to fill in for an abstract <code>Usage</code> of the variation point <code>Definition</code>.</p> - - - - - <p>If a <code>Definition</code> is a variation, then all it must not have any <code>ownedFeatureMemberships</code>.</p> - - - OCL2.0 - isVariation implies ownedFeatureMembership->isEmpty() - - - - - <p>The <code>variants</code> of a <code>Definition</code> are the <code>ownedVariantUsages</code> of its <code>variantMemberships</code>.</p> - - - OCL2.0 - variant = variantMembership.ownedVariantUsage - - - - - <p>The <code>variantMemberships</code> of a <code>Definition</code> are those <code>ownedMemberships</code> that are <code>VariantMemberships</code>.</p> - - - OCL2.0 - variantMembership = ownedMembership->selectByKind(VariantMembership) - - - - - <p>A variation <code>Definition</code> may not specialize any other variation <code>Definition</code>.</p> - - - OCL2.0 - isVariation implies - not ownedSpecialization.specific->exists( - oclIsKindOf(Definition) and - oclAsType(Definition).isVariation) - - - - - <p>The <code>usages</code> of a <code>Definition</code> are all its <code>features</code> that are <code>Usages</code>.</p> - - - OCL2.0 - usage = feature->selectByKind(Usage) - - - - - <p>The <code>directedUsages</code> of a <code>Definition</code> are all its <code>directedFeatures</code> that are <code>Usages</code>.</p> - - - OCL2.0 - directedUsage = directedFeature->selectByKind(Usage) - - - - - <p>The <code>ownedUsages</code> of a <code>Definition</code> are all its <code>ownedFeatures</code> that are <code>Usages</code>.</p> - - - OCL2.0 - ownedUsage = ownedFeature->selectByKind(Usage) - - - - - <p>The <code>ownedAttributes</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AttributeUsages</code>.</p> - - - OCL2.0 - ownedAttribute = ownedUsage->selectByKind(AttributeUsage) - - - - - <p>The <code>ownedReferences</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ReferenceUsages</code>.</p> - - - OCL2.0 - ownedReference = ownedUsage->selectByKind(ReferenceUsage) - - - - - <p>The <code>ownedEnumerations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>EnumerationUsages</code>.</p> - - - OCL2.0 - ownedEnumeration = ownedUsage->selectByKind(EnumerationUsage) - - - - - <p>The <code>ownedOccurrences</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>OccurrenceUsages</code>.</p> - - - OCL2.0 - ownedOccurrence = ownedUsage->selectByKind(OccurrenceUsage) - - - - - <p>The <code>ownedItems</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ItemUsages</code>.</p> - - - OCL2.0 - ownedItem = ownedUsage->selectByKind(ItemUsage) - - - - - <p>The <code>ownedParts</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>PartUsages</code>.</p> - - - OCL2.0 - ownedPart = ownedUsage->selectByKind(PartUsage) - - - - - <p>The <code>ownedPorts</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>PortUsages</code>.</p> - - - OCL2.0 - ownedPort = ownedUsage->selectByKind(PortUsage) - - - - - <p>The <code>ownedConnections</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConnectorAsUsages</code>.</p> - - - OCL2.0 - ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage) - - - - - <p>The <code>ownedFlows</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>FlowUsages</code>.</p> - - - OCL2.0 - ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage) - - - - - <p>The <code>ownedInterfaces</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>InterfaceUsages</code>.</p> - - - OCL2.0 - ownedInterface = ownedUsage->selectByKind(ReferenceUsage) - - - - - <p>The <code>ownedAllocations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AllocationUsages</code>.</p> - - - OCL2.0 - ownedAllocation = ownedUsage->selectByKind(AllocationUsage) - - - - - <p>The <code>ownedActions</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ActionUsages</code>.</p> - - - OCL2.0 - ownedAction = ownedUsage->selectByKind(ActionUsage) - - - - - <p>The <code>ownedStates</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>StateUsages</code>.</p> - - - OCL2.0 - ownedState = ownedUsage->selectByKind(StateUsage) - - - - - <p>The <code>ownedTransitions</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>TransitionUsages</code>.</p> - - - OCL2.0 - ownedTransition = ownedUsage->selectByKind(TransitionUsage) - - - - - <p>The <code>ownedCalculations</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>CalculationUsages</code>.</p> - - - OCL2.0 - ownedCalculation = ownedUsage->selectByKind(CalculationUsage) - - - - - <p>The <code>ownedConstraints</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConstraintUsages</code>.</p> - - - OCL2.0 - ownedConstraint = ownedUsage->selectByKind(ConstraintUsage) - - - - - <p>The <code>ownedRequirements</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>RequirementUsages</code>.</p> - - - OCL2.0 - ownedRequirement = ownedUsage->selectByKind(RequirementUsage) - - - - - <p>The <code>ownedConcerns</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ConcernUsages</code>.</p> - - - OCL2.0 - ownedConcern = ownedUsage->selectByKind(ConcernUsage) - - - - - <p>The <code>ownedCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>CaseUsages</code>.</p> - - - OCL2.0 - ownedCase = ownedUsage->selectByKind(CaseUsage) - - - - - <p>The <code>ownedAnalysisCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>AnalysisCaseUsages</code>.</p> - - - OCL2.0 - ownedAnalysisCase = ownedUsage->selectByKind(AnalysisCaseUsage) - - - - - <p>The <code>ownedValidationCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ValidationCaseUsages</code>.</p> - - - OCL2.0 - ownedVerificationCase = ownedUsage->selectByKind(VerificationCaseUsage) - - - - - <p>The <code>ownedUseCases</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>UseCaseUsages</code>.</p> - - - OCL2.0 - ownedUseCase = ownedUsage->selectByKind(UseCaseUsage) - - - - - <p>The <code>ownedViews</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ViewUsages</code>.</p> - - - OCL2.0 - ownedView = ownedUsage->selectByKind(ViewUsage) - - - - - <p>The <code>ownedViewpoints</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>ViewpointUsages</code>.</p> - - - OCL2.0 - ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage) - - - - - <p>The <code>ownedRenderings</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>RenderingUsages</code>.</p> - - - OCL2.0 - ownedRendering = ownedUsage->selectByKind(RenderingUsage) - - - - - <p>The <code>ownedMetadata</code> of a <code>Definition</code> are all its <code>ownedUsages</code> that are <code>MetadataUsages</code>.</p> - - - OCL2.0 - ownedMetadata = ownedUsage->selectByKind(MetadataUsage) - - - - - <p>If a <code>Definition</code> is a variation, then it must be abstract.</p> - - - OCL2.0 - isVariation implies isAbstract - - - - - - <p>Whether this <code>Definition</code> is for a variation point or not. If true, then all the <code>memberships</code> of the <code>Definition</code> must be <code>VariantMemberships</code>.</p> - - - - - - <p>The <code>Usages</code> which represent the variants of this <code>Definition</code> as a variation point <code>Definition</code>, if <code>isVariation</code> = true. If <code>isVariation = false</code>, the there must be no <code>variants</code>.</p> - - - - - - - <p>The <code>ownedMemberships</code> of this <code>Definition</code> that are <code>VariantMemberships</code>. If <code>isVariation</code> = true, then this must be all <code>ownedMemberships</code> of the <code>Definition</code>. If <code>isVariation</code> = false, then <code>variantMembership</code>must be empty.</p> - - - - - - - <p>The <code>Usages</code> that are <code>features</code> of this <code>Definition</code> (not necessarily owned).</p> - - - - - - - <p>The <code>usages</code> of this <code>Definition</code> that are <code>directedFeatures</code>.</p> - - - - - - - - <p>The <code>Usages</code> that are <code>ownedFeatures</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ReferenceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>AttributeUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.<p> - - - - - - - <p>The <code>EnumerationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.<p> - - - - - - - <p>The <code>OccurrenceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ItemUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>PartUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>PortUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ConnectorAsUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>. Note that this list includes <code>BindingConnectorAsUsages</code>, <code>SuccessionAsUsages</code>, and <code>FlowUsages</code> because these are <code>ConnectorAsUsages</code> even though they are not <code>ConnectionUsages</code>.</p> - - - - - - - <p>The <code>FlowUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>InterfaceUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>AllocationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ActionUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>StateUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>TransitionUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>CalculationUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ConstraintUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - - <p>The <code>RequirementUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ConcernUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The code>CaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>AnalysisCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>VerificationCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>UseCaseUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ViewUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>ViewpointUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>RenderingUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - <p>The <code>MetadataUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p> - - - - - - - - - <p>The ItemUsages being typed by a certain Structure.</p> - - - - - - - - - <p>The Usage in which the <code>nestedAction</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedPort</code>.</p> - - - - - - - - - - <p>A <code>Usage</code> is a usage of a <code>Definition</code>.</p> - -<p>A <code>Usage</code> may have <code>nestedUsages</code> that model <code>features</code> that apply in the context of the <code>owningUsage</code>. A <code>Usage</code> may also have <code>Definitions</code> nested in it, but this has no semantic significance, other than the nested scoping resulting from the <code>Usage</code> being considered as a <code>Namespace</code> for any nested <code>Definitions</code>.</p> - -<p>However, if a <code>Usage</code> has <code>isVariation = true</code>, then it represents a <em>variation point</em> <code>Usage</code>. In this case, all of its <code>members</code> must be <code>variant</code> <code>Usages</code>, related to the <code>Usage</code> by <code>VariantMembership</code> <code>Relationships</code>. Rather than being <code>features</code> of the <code>Usage</code>, <code>variant</code> <code>Usages</code> model different concrete alternatives that can be chosen to fill in for the variation point <code>Usage</code>.</p> - - - - <p>The <code>variants</code> of a <code>Usage</code> are the <code>ownedVariantUsages</code> of its <code>variantMemberships</code>.</p> - - - OCL2.0 - variant = variantMembership.ownedVariantUsage - - - - - <p>The <code>variantMemberships</code> of a <code>Usage</code> are those <code>ownedMemberships</code> that are <code>VariantMemberships</code>.</p> - - - OCL2.0 - variantMembership = ownedMembership->selectByKind(VariantMembership) - - - - - <p>If a <code>Usage</code> is a variation, then it must not have any <code>ownedFeatureMemberships</code>.</p> - - - OCL2.0 - isVariation implies ownedFeatureMembership->isEmpty() - - - - - <p>A <code>Usage</code> is referential if it is not composite.</p> - - - OCL2.0 - isReference = not isComposite - - - - - <p>If a <code>Usage</code> has an <code>owningVariationUsage</code>, then it must directly or indirectly specialize that <code>Usage</code>.</p> - - - OCL2.0 - owningVariationUsage <> null implies - specializes(owningVariationUsage) - - - - - <p>A variation <code>Usage</code> may not specialize any variation <code>Definition</code> or <code>Usage</code>.</p> - - - OCL2.0 - isVariation implies - not ownedSpecialization.specific->exists( - oclIsKindOf(Definition) and - oclAsType(Definition).isVariation or - oclIsKindOf(Usage) and - oclAsType(Usage).isVariation) - - - - - <p>If a <code>Usage</code> has an <code>owningVariationDefinition</code>, then it must directly or indirectly specialize that <code>Definition</code>.</p> - - - OCL2.0 - owningVariationDefinition <> null implies - specializes(owningVariationDefinition) - - - - - <p>The <code>directedUsages</code> of a <code>Usage</code> are all its <code>directedFeatures</code> that are <code>Usages</code>.</p> - - - OCL2.0 - directedUsage = directedFeature->selectByKind(Usage) - - - - - <p>The <code>ownedActions</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ActionUsages</code>.</p> - - - OCL2.0 - nestedAction = nestedUsage->selectByKind(ActionUsage) - - - - - <p>The <code>ownedAllocations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AllocationUsages</code>.</p> - - - OCL2.0 - nestedAllocation = nestedUsage->selectByKind(AllocationUsage) - - - - - <p>The <code>ownedAnalysisCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AnalysisCaseUsages</code>.</p> - - - OCL2.0 - nestedAnalysisCase = nestedUsage->selectByKind(AnalysisCaseUsage) - - - - - <p>The <code>ownedAttributes</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>AttributeUsages</code>.</p> - - - OCL2.0 - nestedAttribute = nestedUsage->selectByKind(AttributeUsage) - - - - - <p>The <code>ownedCalculations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>CalculationUsages</code>.</p> - - - OCL2.0 - nestedCalculation = nestedUsage->selectByKind(CalculationUsage) - - - - - <p>The <code>ownedCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>CaseUsages</code>.</p> - - - OCL2.0 - nestedCase = nestedUsage->selectByKind(CaseUsage) - - - - - <p>The <code>ownedConcerns</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConcernUsages</code>.</p> - - - OCL2.0 - nestedConcern = nestedUsage->selectByKind(ConcernUsage) - - - - - <p>The <code>ownedConnections</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConnectorAsUsages</code>.</p> - - - OCL2.0 - nestedConnection = nestedUsage->selectByKind(ConnectorAsUsage) - - - - - <p>The <code>ownedConstraints</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ConstraintUsages</code>.</p> - - - OCL2.0 - nestedConstraint = nestedUsage->selectByKind(ConstraintUsage) - - - - - <p>The <code>ownedEnumerations</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>EnumerationUsages</code>.</p> - - - OCL2.0 - ownedNested = nestedUsage->selectByKind(EnumerationUsage) - - - - - <p>The <code>ownedFlows</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>FlowConnectionUsages</code>.</p> - - - OCL2.0 - nestedFlow = nestedUsage->selectByKind(FlowConnectionUsage) - - - - - <p>The <code>ownedInterfaces</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>InterfaceUsages</code>.</p> - - - OCL2.0 - nestedInterface = nestedUsage->selectByKind(ReferenceUsage) - - - - - <p>The <code>ownedItems</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ItemUsages</code>.</p> - - - OCL2.0 - nestedItem = nestedUsage->selectByKind(ItemUsage) - - - - - <p>The <code>ownedMetadata</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>MetadataUsages</code>.</p> - - - OCL2.0 - nestedMetadata = nestedUsage->selectByKind(MetadataUsage) - - - - - <p>The <code>ownedOccurrences</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>OccurrenceUsages</code>.</p> - - - OCL2.0 - nestedOccurrence = nestedUsage->selectByKind(OccurrenceUsage) - - - - - <p>The <code>ownedParts</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>PartUsages</code>.</p> - - - OCL2.0 - nestedPart = nestedUsage->selectByKind(PartUsage) - - - - - <p>The <code>ownedPorts</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>PortUsages</code>.</p> - - - OCL2.0 - nestedPort = nestedUsage->selectByKind(PortUsage) - - - - - <p>The <code>ownedReferences</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ReferenceUsages</code>.</p> - - - OCL2.0 - nestedReference = nestedUsage->selectByKind(ReferenceUsage) - - - - - <p>The <code>ownedRenderings</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>RenderingUsages</code>.</p> - - - OCL2.0 - nestedRendering = nestedUsage->selectByKind(RenderingUsage) - - - - - <p>The <code>ownedRequirements</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>RequirementUsages</code>.</p> - - - OCL2.0 - nestedRequirement = nestedUsage->selectByKind(RequirementUsage) - - - - - <p>The <code>ownedStates</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>StateUsages</code>.</p> - - - OCL2.0 - nestedState = nestedUsage->selectByKind(StateUsage) - - - - - <p>The <code>ownedTransitions</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>TransitionUsages</code>.</p> - - - OCL2.0 - nestedTransition = nestedUsage->selectByKind(TransitionUsage) - - - - - <p>The <code>ownedUsages</code> of a <code>Usage</code> are all its <code>ownedFeatures</code> that are <code>Usages</code>.</p> - - - OCL2.0 - nestedUsage = ownedFeature->selectByKind(Usage) - - - - - <p>The <code>ownedUseCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>UseCaseUsages</code>.</p> - - - OCL2.0 - nestedUseCase = nestedUsage->selectByKind(UseCaseUsage) - - - - - <p>The <code>ownedValidationCases</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ValidationCaseUsages</code>.</p> - - - OCL2.0 - nestedVerificationCase = nestedUsage->selectByKind(VerificationCaseUsage) - - - - - <p>The <code>ownedViews</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ViewUsages</code>.</p> - - - OCL2.0 - nestedView = nestedUsage->selectByKind(ViewUsage) - - - - - <p>The <code>ownedViewpoints</code> of a <code>Usage</code> are all its <code>ownedUsages</code> that are <code>ViewpointUsages</code>.</p> - - - OCL2.0 - nestedViewpoint = nestedUsage->selectByKind(ViewpointUsage) - - - - - <p>The <code>usages</code> of a <code>Usage</code> are all its <code>features</code> that are <code>Usages</code>.</p> - - - OCL2.0 - usage = feature->selectByKind(Usage) - - - - - <p>A <code>Usage</code> that is directed, an end feature or has no <code>featuringTypes</code> must be referential.</p> - - - OCL2.0 - direction <> null or isEnd or featuringType->isEmpty() implies - isReference - - - - - <p>If a <code>Usage</code> is a variation, then it must be abstract.</p> - - - OCL2.0 - isVariation implies isAbstract - - - - - <p>A <code>Usage</code> <code>mayTimeVary</code> if and only if all of the following are true</p> -<ul> - <li>It has an <code>owningType</code> that specializes <em><code>Occurrences::Occurrence</code></em> (from the Kernel Semantic Library).</li> - <li>It is not a portion.</li> - <li>It does not specialize <em><code>Links::SelfLink</code></em> or <em><code>Occurrences::HappensLink</code></em> (from the Kernel Semantic Library).</li> - <li>If <code>isComposite = true</code>, it does not specialize <em><code>Actions::Action</code></em> (from the Systems Model Library). -</li></ul> - - - OCL2.0 - mayTimeVary = - owningType <> null and - owningType.specializesFromLibrary('Occurrences::Occurrence') and - not ( - isPortion or - specializesFromLibrary('Links::SelfLink') or - specializesFromLibrary('Occurrences::HappensLink') or - isComposite and specializesFromLibrary('Actions::Action') - ) - - - - - <p>If a <code>Usage</code> has an <code>owningVariationUsage</code>, then it must have the same <code>featuringTypes</code> as that <code>Usage</code>.</p> - - - OCL2.0 - owningVariationUsage <> null implies - featuringType->asSet() = owningVariationUsage.featuringType->asSet() - - - - - - <p>Whether this <code>Usage</code> may be time varying (that is, whether it is featured by the snapshots of its <code>owningType</code>, rather than being featured by the <code>owningType</code> itself). However, if <code>isConstant</code> is also true, then the value of the <code>Usage</code> is nevertheless constant over the entire duration of an instance of its <code>owningType</code> (that is, it has the same value on all snapshots).</p> - -<p>The property <code>mayTimeVary</code> redefines the KerML property <code>Feature::isVariable</code>, making it derived. The property <code>isConstant</code> is inherited from <code>Feature</code>.</p> - - - - - - <p>Whether this <code>Usage</code> is a referential <code>Usage</code>, that is, it has <code>isComposite = false</code>.<p> - - - - - - <p>The <code>Usages</code> which represent the variants of this <code>Usage</code> as a variation point <code>Usage</code>, if <code>isVariation = true</code>. If <code>isVariation = false</code>, then there must be no <code>variants</code>.</p> - - - - - - - <p>The <code>ownedMemberships</code> of this <code>Usage</code> that are <code>VariantMemberships</code>. If <code>isVariation = true</code>, then this must be all <code>memberships</code> of the <code>Usage</code>. If <code>isVariation = false</code>, then <code>variantMembership</code>must be empty.</p> - - - - - - - <p>The <code>Definition</code> that owns this <code>Usage</code> (if any).</p> - - - - - - - <p>The <code>Usage</code> in which this <code>Usage</code> is nested (if any).</p> - - - - - - - <p>The <code>Classifiers</code> that are the types of this <code>Usage</code>. Nominally, these are <code>Definitions</code>, but other kinds of Kernel <code>Classifiers</code> are also allowed, to permit use of <code>Classifiers</code> from the Kernel Model Libraries.</p> - - - - - - - <p>The <code>Usages</code> that are <code>features</code> of this <code>Usage</code> (not necessarily owned).</p> - - - - - - - - - - <p>The <code>usages</code> of this <code>Usage</code> that are <code>directedFeatures</code>.</p> - - - - - - - - <p>The <code>Usages</code> that are <code>ownedFeatures</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>ReferenceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The code>AttributeUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The code>EnumerationUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.<p> - - - - - - - <p>The <code>OccurrenceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>ItemUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>PartUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>PortUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>ConnectorAsUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>. Note that this list includes <code>BindingConnectorAsUsages</code>, <code>SuccessionAsUsages</code>, and <code>FlowConnectionUsages</code> because these are <code>ConnectorAsUsages</code> even though they are not <code>ConnectionUsages</code>.</p> - - - - - - - <p>The code>FlowUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>InterfaceUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>AllocationUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - <p>The <code>ActionUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>StateUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>TransitionUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>CalculationUsage</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>ConstraintUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>RequirementUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>ConcernUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>CaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>AnalysisCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>VerificationCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>UseCaseUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>ViewUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>ViewpointUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>RenderingUsages</code> that are <code>nestedUsages</code> of this <code>Usage</code>.</p> - - - - - - - - <p>The <code>MetadataUsages</code> that are <code>nestedUsages</code> of this of this <code>Usage</code>.</p> - - - - - - - <p>Whether this <code>Usage</code> is for a variation point or not. If true, then all the <code>memberships</code> of the <code>Usage</code> must be <code>VariantMemberships</code>.</p> - - - - - - <p>If this <code>Usage</code> is a variant, then its naming <code>Feature</code> is the <code>referencedFeature</code> of its <code>ownedReferenceSubsetting</code>.</p> - - - - OCL2.0 - if not owningMembership.oclIsKindOf(VariantMembership) then - self.oclAsType(Feature).namingFeature() -else if ownedReferenceSubsetting = null then null -else ownedReferenceSubsetting.referencedFeature -endif endif - - - - - - - - - - <p>If <code>ownedReferenceSubsetting</code> is not null, return the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code>.</p> - - - - OCL2.0 - if ownedReferenceSubsetting = null then null -else ownedReferenceSubsetting.referencedFeature.featureTarget -endif - - - - - - - - - <p>The Definition that owns the <code>ownedState</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedState</code> is nested.</p> - - - - - - - - - <p>The Usage in which the <code>nestedConstraint</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedTransition</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedConstraint</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedTransition</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedRequirement</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedRequirement</code> is nested.</p> - - - - - - - - <p>A <code>ReferenceUsage</code> is a <code>Usage</code> that specifies a non-compositional (<code>isComposite = false</code>) reference to something. The <code>definition</code> of a <code>ReferenceUsage</code> can be any kind of <code>Classifier</code>, with the default being the top-level <code>Classifier</code> <code><em>Base::Anything</em></code> from the Kernel Semantic Library. This allows the specification of a generic reference without distinguishing if the thing referenced is an attribute value, item, action, etc.</p> - - - - <p>A <code>ReferenceUsage</code> is always referential.</p> - - - OCL2.0 - isReference - - - - - - <p>Always <code>true</code> for a <code>ReferenceUsage</code>.</code> - - - - - - - <p>If this <code>ReferenceUsage</code> is the <em><code>payload</code></em> <code>parameter</code> of a <code>TransitionUsage</code>, then its naming <code>Feature</code> is the <code>payloadParameter</code> of the <code>triggerAction</code> of that <code>TransitionUsage</code> (if any).</p> - - - - OCL2.0 - if owningType <> null and owningType.oclIsKindOf(TransitionUsage) and - owningType.oclAsType(TransitionUsage).inputParameter(2) = self then - owningType.oclAsType(TransitionUsage).triggerPayloadParameter() -else self.oclAsType(Usage).namingFeature() -endif - - - - - - - - - - - - <p>The owning Definition of this VariantMembership, which must have <code>isVariation</code> = true.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedItem</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedInterface</code> is nested.</p> - - - - - - - - - <p>The Usage that owns the <code>nestedReference</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedAnalysisCase</code>.</p> - - - - - - - - - <p>The Usages that feature a certain Usage.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedPart</code>.</p> - - - - - - - - - <p>The Usages that have a certain Usage as a <code>flow</code>.</p> - - - - - - - - - - - - <p>The Usage in which the <code>nestedAnalysisCase</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedInterface</code>.</p> - - - - - - - - - <p>The variation point Definition that for which this Usage represents a variant, derived as the <code>owningVariationDefinition</code> of the <code>owningVariantMembership</code> of the Usage.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedReference</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedItem</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedAction</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedPart</code> is nested.</p> - - - - - - - - - <p>The Usage in which the <code>nestedUsage</code> is nested.</p> - - - - - - - - - <p>The variation point Usage that for which this Usage represents a variant, derived as the <code>owningVariationUsage</code> of the <code>owningVariantMembership</code> of the Usage.</p> - - - - - - - - - <p>The Usage in which the <code>nestedAttribute</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedAttribute</code>.</p> - - - - - - - - - <p>The Usages that have a certain Classifier as a <code>definition</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedConnection</code>.</p> - - - - - - - - <p>The Definition that owns this CaseUsage (if any).</p> - - - - <p>The Definition that owns the <code>ownedCase</code>.</p> - - - - - - - - <p>A <code>VariantMembership</code> is a <code>Membership</code> between a variation point <code>Definition</code> or <code>Usage</code> and a <code>Usage</code> that represents a variant in the context of that variation. The <code>membershipOwningNamespace</code> for the <code>VariantMembership</code> must be either a Definition or a <code>Usage</code> with <code>isVariation = true</code>.</p> - - - - <p>The <code>membershipOwningNamespace</code> of a <code>VariantMembership</code> must be a variation-point <code>Definition</code> or <code>Usage</code>.</p> - - - OCL2.0 - membershipOwningNamespace.oclIsKindOf(Definition) and - membershipOwningNamespace.oclAsType(Definition).isVariation or -membershipOwningNamespace.oclIsKindOf(Usage) and - membershipOwningNamespace.oclAsType(Usage).isVariation - - - - - - - <p>The <code>Usage</code> that represents a variant in the context of the <code>owningVariationDefinition</code> or <code>owningVariationUsage</code>.</p> - - - - - - - - - <p>The VariantMembership that owns this Usage, if the Usage represents a variant in the context of some variation point Definition or Usage.</p> - - - - - - - - - <p>The owning Definition of this VariantMembership, which must have <code>isVariation</code> = true.</p> - - - - - - - - - <p>The Usage that owns a certain <code>nestedVerificationCase</code>.</p> - - - - - - - - - <p>The Usage that owns a certain <code>nestedViewpoint</code>.</p> - - - - - - - - - <p>The Definition that owns a certain <code>ownedView</code>.</p> - - - - - - - - - <p>The Definition that owns a certain <code>ownedRendering</code>.</p> - - - - - - - - - <p>The Definition that owns a certain <code>ownedViewpoint</code>.</p> - - - - - - - - - <p>The Usage that owns a certain <code>nestedRendering</code>.</p> - - - - - - - - - <p>The Definition that owns a certain <code>ownedVerificationCase</code>.</p> - - - - - - - - - <p>The Usage that owns a certain <code>nestedView</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedEnumeration</code>.</p> - - - - - - - - - <p>The Usage that owns the <code>nestedEnumeration</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedAllocation</code>.</p> - - - - - - - - - <p>The Usage that owns the <code>nestedAllocation</code>.</p> - - - - - - - - - <p>The Usage that owns the <code>nestedConcern</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedConcern</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedOccurrence</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedOccurrence</code> is nested.</p> - - - - - - - - - <p>The <code>Usage</code> that owns the <code>nestedFlow</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedUseCase</code> is nested.</p> - - - - - - - - - <p>The <code>Definition</code> that owns the <code>ownedFlow</code>.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedUseCase</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedMetadata</code> is nested.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedMetadata</code>.</p> - - - - - - - - - - <p>A <code>PartDefinition</code> is an <code>ItemDefinition</code> of a <code>Class</code> of systems or parts of systems. Note that all parts may be considered items for certain purposes, but not all items are parts that can perform actions within a system.</p> - - - - - </p>A <code>PartDefinition</code> must directly or indirectly specialize the base <code>PartDefinition</code> <em><code>Parts::Part</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Parts::Part') - - - - - - - <p>A <code>PartUsage</code> is a usage of a <code>PartDefinition</code> to represent a system or a part of a system. At least one of the <code>itemDefinitions</code> of the <code>PartUsage</code> must be a <code>PartDefinition</code>.</p> - -<p>A <code>PartUsage</code> must subset, directly or indirectly, the base <code>PartUsage</code> <em><code>parts</code></em> from the Systems Model Library.</p> - - - - <p>The <code>partDefinitions</code> of an <code>PartUsage</code> are those <code>itemDefinitions</code> that are <code>PartDefinitions</code>.</p> - - - OCL2.0 - itemDefinition->selectByKind(PartDefinition) - - - - - <p>At least one of the <code>itemDefinitions</code> of a <code>PartUsage</code> must be a <code>PartDefinition</code>.</p> - - - OCL2.0 - partDefinition->notEmpty() - - - - - <p>A <code>PartUsage</code> must directly or indirectly specialize the <code>PartUsage</code> <em><code>Parts::parts</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Parts::parts') - - - - - <p>A composite <code>PartUsage</code> whose <code>owningType</code> is a <code>ItemDefinition</code> or <code>ItemUsage</code> must directly or indirectly specialize the <code>PartUsage</code> <em><code>Items::Item::subparts</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::subparts') - - - - - <p>If a <code>PartUsage</code> is owned via an <code>ActorMembership</code>, then it must directly or indirectly specialize either <code><em>Requirements::RequirementCheck::actors</em></code> (if its <code>owningType</code> is a <code>RequirementDefinition</code> or <code>RequirementUsage</code> or <code><em>Cases::Case::actors</em></code> (otherwise).</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(ActorMembership) implies - if owningType.oclIsKindOf(RequirementDefinition) or - owningType.oclIsKindOf(RequirementUsage) - then specializesFromLibrary('Requirements::RequirementCheck::actors') - else specializesFromLibrary('Cases::Case::actors') - - - - - <p>If a <code>PartUsage</code> is owned via a <code>StakeholderMembership</code>, then it must directly or indirectly specialize either <code><em>Requirements::RequirementCheck::stakeholders</em></code>.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(StakeholderMembership) implies - specializesFromLibrary('Requirements::RequirementCheck::stakeholders') - - - - - - <p>The <code>itemDefinitions</code> of this PartUsage that are PartDefinitions.</p> - - - - - - - - - <p>The PartUsages typed by a certain PartDefinition.</p> - - - - - - - - - - - <p>The InterfaceDefinitions that have a certain PortUsage as an <code>interfaceEnd</code>.</p> - - - - - - - - <p>An <code>InterfaceUsage</code> is a Usage of an <code>InterfaceDefinition</code> to represent an interface connecting parts of a system through specific ports.</p> - - - - <p>A binary <code>InterfaceUsage</code> must directly or indirectly specialize the <code>InterfaceUsage</code> <em><code>Interfaces::binaryInterfaces</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeature->size() = 2 implies - specializesFromLibrary('Interfaces::binaryInterfaces') - - - - - <p>An <code>InterfaceUsage</code> must directly or indirectly specialize the <code>InterfaceUsage</code> <em><code>Interfaces::interfaces</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Interfaces::interfaces') - - - - - - <p>The <code>InterfaceDefinitions</code> that type this <code>InterfaceUsage</code>.</p> - - - - - - - - - <p>The InterfaceUsages typed by a certain InterfaceDefinition.</p> - - - - - - - - <p>An <code>InterfaceDefinition</code> is a <code>ConnectionDefinition</code> all of whose ends are <code>PortUsages</code>, defining an interface between elements that interact through such ports.</p> - - - - <p>An <code>InterfaceDefinition</code> must directly or indirectly specialize the <code>InterfaceDefinition</code> <em><code>Interfaces::Interface</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Interfaces::Interface') - - - - - <p>A binary <code>InterfaceDefinition</code> must directly or indirectly specialize the <code>InterfaceDefinition</code> <em><code>Interfaces::BinaryInterface</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeature->size() = 2 implies - specializesFromLibrary('Interfaces::BinaryInterface') - - - - - - <p>The <code>PortUsages</code> that are the <code>connectionEnds</code> of this <code>InterfaceDefinition</code>. - - - - - - - - - - - - - - - - - <p>A <code>StateUsage</code> is an <code>ActionUsage</code> that is nominally the <code>Usage</code> of a <code>StateDefinition</code>. However, other kinds of kernel <code>Behaviors</code> are also allowed as <code>types</code>, to permit use of <code>Behaviors</code from the Kernel Model Libraries.</p> - -<p>A <code>StateUsage</code> may be related to up to three of its <code>ownedFeatures</code> by <code>StateSubactionMembership</code> <code>Relationships</code>, all of different <code>kinds</code>, corresponding to the entry, do and exit actions of the <code>StateUsage</code>.</p> - - - - - <p>The <code>doAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> - - - OCL2.0 - doAction = - let doMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::do) in - if doMemberships->isEmpty() then null - else doMemberships->at(1) - endif - - - - - <p>The <code>entryAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> - - - OCL2.0 - entryAction = - let entryMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::entry) in - if entryMemberships->isEmpty() then null - else entryMemberships->at(1) - endif - - - - - <p>If a <code>StateUsage</code> is parallel, then its <code>nestedActions</code> (which includes <code>nestedStates</code>) must not have any <code>incomingTransitions</code> or <code>outgoingTransitions</code>.</p> - - - OCL2.0 - isParallel implies - nestedAction.incomingTransition->isEmpty() and - nestedAction.outgoingTransition->isEmpty() - - - - - <p>A <code>StateUsage</code> that is a substate usage with a non-parallel owning <code>StateDefinition</code> or <code>StateUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::StateAction::exclusiveStates</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubstateUsage(false) implies - specializesFromLibrary('States::StateAction::exclusiveStates') - - - - - <p>The <code>exitAction</code> of a <code>StateUsage</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = exit -</code>.</p> - - - OCL2.0 - exitAction = - let exitMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::exit) in - if exitMemberships->isEmpty() then null - else exitMemberships->at(1) - endif - - - - - <p>A <code>StateUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::stateActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('States::stateActions') - - - - - <p>A <code>StateUsage</code> must not have more than one owned <code>StateSubactionMembership</code> of each <code>kind</code>.</p> - - - OCL2.0 - ownedMembership-> - selectByKind(StateSubactionMembership)-> - isUnique(kind) - - - - - <p>A <code>StateUsage</code> that is a substate usage with a owning <code>StateDefinition</code> or <code>StateUsage</code> that is parallel must directly or indirectly specialize the <code>StateUsage</code> <em><code>States::StateAction::substates</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isSubstateUsage(true) implies - specializesFromLibrary('States::StateAction::substates') - - - - - <p>A composite <code>StateUsage</code> whose <code>owningType</code> is a <code>PartDefinition</code> or <code>PartUsage</code> must directly or indirectly specialize the <code>StateUsage</code> <em><code>Parts::Part::ownedStates</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::ownedStates') - - - - - - <p>The <code>Behaviors</code> that are the <code>types</code> of this <code>StateUsage</code>. Nominally, these would be <code>StateDefinitions</code>, but kernel <code>Behaviors</code> are also allowed, to permit use of <code>Behaviors</code> from the Kernel Model Libraries.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed on entry to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed while in the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateUsage</code> to be performed on exit to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateUsage</code> by a <code>StateSubactionMembership</code> with <code>kind = exit</code>.</p> - - - - - - - <p>Whether the <code>nestedStates</code> of this <code>StateUsage</code> are to all be performed in parallel. If true, none of the <code>nestedActions</code> (which include <code>nestedStates</code>) may have any incoming or outgoing <code>Transitions</code>. If false, only one <code>nestedState</code> may be performed at a time.</p> - - - - - - - - <p>Check if this <code>StateUsage</code> is composite and has an <code>owningType</code> that is a <code>StateDefinition</code> or <code>StateUsage</code> with the given value of <code>isParallel</code>, but is <em>not</em> an <code>entryAction</code>, <code>doAction</code>, or <code>exitAction</code>. If so, then it represents a <code><em>StateAction</em></code> that is a <code><em>substate</em></code> or <code><em>exclusiveState</em></code> (for <code>isParallel = false</code>) of another <code><em>StateAction</em></code>.</p> - - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(StateDefinition) and - owningType.oclAsType(StateDefinition).isParallel = isParallel or - owningType.oclIsKindOf(StateUsage) and - owningType.oclAsType(StateUsage).isParallel = isParallel) and -not owningFeatureMembership.oclIsKindOf(StateSubactionMembership) - - - - - - - - - - - - - - <p>The StateDefinitions featuring a certain StateUsage.</p> - - - - - - - - <p>A <code>StateSubactionKind</code> indicates whether the <code>action</code> of a StateSubactionMembership is an entry, do or exit action.</p> - - - - <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is an <code>entryAction</code>.</p> - - - - - <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is a <code>doAction</code>.</p> - - - - - <p>Indicates that the <code>action</code> of a <code>StateSubactionMembership</code> is an <code>exitAction</code>.</p> - - - - - - <p>A <code>StateSubactionMembership</code> is a <code>FeatureMembership</code> for an entry, do or exit <code>ActionUsage<code> of a <code>StateDefinition</code> or <code>StateUsage</code>.</p> - - - - <p>The <code>owningType</code> of a <code>StateSubactionMembership</code> must be a <code>StateDefinition</code> or a <code>StateUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(StateDefinition) or -owningType.oclIsKindOf(StateUsage) - - - - - - <p>Whether this <code>StateSubactionMembership</code> is for an <code>entry<code>, <code>do</code> or <code>exit</code> <code>ActionUsage</code>.</p> - - - - - <p>The <code>ActionUsage</code> that is the <code>ownedMemberFeature</code> of this <code>StateSubactionMembership</code>.</p> - - - - - - - - <p>A <code>StateDefinition</code> is the <code>Definition</code> of the </code>Behavior</code> of a system or part of a system in a certain state condition.</p> - -<p>A <code>StateDefinition</code> may be related to up to three of its <code>ownedFeatures</code> by <code>StateBehaviorMembership</code> <code>Relationships</code>, all of different <code>kinds</code>, corresponding to the entry, do and exit actions of the <code>StateDefinition</code>.</p> - - - - <p>A <code>StateDefinition</code> must directly or indirectly specialize the <code>StateDefinition</code> <em><code>States::StateAction</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('States::StateAction') - - - - - <p>A <code>StateDefinition</code> must not have more than one owned <code>StateSubactionMembership</code> of each <code>kind</code>.</p> - - - OCL2.0 - ownedMembership-> - selectByKind(StateSubactionMembership)-> - isUnique(kind) - - - - - <p>The <code>states</code> of a <code>StateDefinition</code> are those of its <code>actions</code> that are <code>StateUsages</code>.</p> - - - OCL2.0 - state = action->selectByKind(StateUsage) - - - - - <p>The <code>doAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> - - - OCL2.0 - doAction = - let doMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::do) in - if doMemberships->isEmpty() then null - else doMemberships->at(1) - endif - - - - - <p>The <code>entryAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> - - - OCL2.0 - entryAction = - let entryMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::entry) in - if entryMemberships->isEmpty() then null - else entryMemberships->at(1) - endif - - - - - <p>If a <code>StateDefinition</code> is parallel, then its <code>ownedActions</code> (which includes its <code>ownedStates</code>) must not have any <code>incomingTransitions</code> or <code>outgoingTransitions</code>.</p> - - - OCL2.0 - isParallel implies - ownedAction.incomingTransition->isEmpty() and - ownedAction.outgoingTransition->isEmpty() - - - - - <p>The <code>exitAction</code> of a <code>StateDefinition</code> is the <code>action</code> of the owned <code>StateSubactionMembership</code> with <code>kind = exit -</code>.</p> - - - OCL2.0 - exitAction = - let exitMemberships : Sequence(StateSubactionMembership) = - ownedMembership-> - selectByKind(StateSubactionMembership)-> - select(kind = StateSubactionKind::exit) in - if exitMemberships->isEmpty() then null - else exitMemberships->at(1) - endif - - - - - - <p>The <code>StateUsages</code>, which are <code>actions</code> in the <code>StateDefinition</code>, that specify the discrete states in the behavior defined by the <code>StateDefinition</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed on entry to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = entry</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed while in the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = do</code>.</p> - - - - - - - <p>The <code>ActionUsage</code> of this <code>StateDefinition</code> to be performed on exit to the state defined by the <code>StateDefinition</code>. It is the owned <code>ActionUsage</code> related to the <code>StateDefinition</code> by a <code>StateSubactionMembership</code> with <code>kind = exit</code>.</p> - - - - - - - <p>Whether the <code>ownedStates</code> of this <code>StateDefinition</code> are to all be performed in parallel. If true, none of the <code>ownedActions</code> (which includes <code>ownedStates</code>) may have any incoming or outgoing <code>Transitions</code>. If false, only one <code>ownedState</code> may be performed at a time.</p> - - - - - - - - - - <p>The Behaviors that are the types of this StateUsage. Nominally, these would be StateDefinition, but non-StateDefinition Behaviors are also allowed, to permit use of Behaviors from the Kernel Library.</p> - - - - - - - - <p>A <code>TransitionUsage</code> is an <code>ActionUsage</code> representing a triggered transition between <code>ActionUsages</code> or <code>StateUsages</code>. When triggered by a <code>triggerAction</code>, when its <code>guardExpression</code> is true, the <code>TransitionUsage</code> asserts that its <code>source</code> is exited, then its <code>effectAction</code> (if any) is performed, and then its <code>target</code> is entered.</p> - -<p>A <code>TransitionUsage</code> can be related to some of its <code>ownedFeatures</code> using <code>TransitionFeatureMembership</code> <code>Relationships</code>, corresponding to the <code>triggerAction</code>, <code>guardExpression</code> and <code>effectAction</code> of the <code>TransitionUsage</code>.</p> - - - - <p>A composite <code>TransitionUsage</code> whose <code>owningType</code> is an <code>ActionDefinition</code> or <code>ActionUsage</code> and whose <code>source</code> is <em>not</em> a <code>StateUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::Action::decisionTransitions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ActionDefinition) or - owningType.oclIsKindOf(ActionUsage)) and -source <> null and not source.oclIsKindOf(StateUsage) implies - specializesFromLibrary('Actions::Action::decisionTransitions') - - - - - <p>A composite <code>TransitionUsage</code> whose <code>owningType</code> is a <code>StateDefinition</code> or <code>StateUsage</code> and whose <code>source</code> is a <code>StateUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>States::StateAction::stateTransitions</code></em> from the Systems Model Library</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(StateDefinition) or - owningType.oclIsKindOf(StateUsage)) and -source <> null and source.oclIsKindOf(StateUsage) implies - specializesFromLibrary('States::StateAction::stateTransitions') - - - - - - <p>A <code>TransitionUsage</code> must directly or indirectly specialize the <code>ActionUsage</code> <em><code>Actions::transitionActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Actions::transitionActions') - - - - - <p>The <code>source</code> of a <code>TransitionUsage</code> is <code>featureTarget</code> of the result of <code>sourceFeature()</code>, which must be an <code>ActionUsage</code>.</p> - - - OCL2.0 - source = - let sourceFeature : Feature = sourceFeature() in - if sourceFeature = null then null - else sourceFeature.featureTarget.oclAsType(ActionUsage) - - - - - <p>The <code>target</code> of a <code>TransitionUsage</code> is given by the <code>featureTarget</code> of the <code>targetFeature</code> of its <code>succession</code>, which must be an <code>ActionUsage</code>.</p> - - - OCL2.0 - target = - if succession.targetFeature->isEmpty() then null - else - let targetFeature : Feature = - succession.targetFeature->first().featureTarget in - if not targetFeature.oclIsKindOf(ActionUsage) then null - else targetFeature.oclAsType(ActionUsage) - endif - endif - - - - - - <p>The <code>triggerActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = trigger</code>, which must all be <code>AcceptActionUsages</code>.</p> - - - OCL2.0 - triggerAction = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeature-> - selectByKind(AcceptActionUsage) - - - - - <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>Succession</code> with an <code>ActionUsage</code> as the <code>featureTarget</code> of its <code>targetFeature</code>.</p> - - - OCL2.0 - let successions : Sequence(Successions) = - ownedMember->selectByKind(Succession) in -successions->notEmpty() and -successions->at(1).targetFeature.featureTarget-> - forAll(oclIsKindOf(ActionUsage)) - - - - - <p>The <code>triggerActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = trigger</code>, which must all be <code>Expressions</code>.</p> - - - OCL2.0 - guardExpression = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeature-> - selectByKind(Expression) - - - - - <p>The <code>triggerActions</code>, <code>guardExpressions</code>, and <code>effectActions</code> of a <code>TransitionUsage</code> must specialize, respectively, the <em><code>accepter</code></em>, <em><code>guard</code></em>, and <em><code>effect</code></em> <code>features</code> of the <code>ActionUsage</code> <em><code>Actions::TransitionActions</code></em> from the Systems Model Library.</p> - - - OCL2.0 - triggerAction->forAll(specializesFromLibrary('Actions::TransitionAction::accepter') and -guardExpression->forAll(specializesFromLibrary('Actions::TransitionAction::guard') and -effectAction->forAll(specializesFromLibrary('Actions::TransitionAction::effect')) - - - - - <p>The <code>effectActions</code> of a <code>TransitionUsage</code> are the <code>transitionFeatures</code> of the <code>ownedFeatureMemberships</code> of the <code>TransitionUsage</code> with <code>kind = effect</code>, which must all be <code>ActionUsages</code>.</p> - - - OCL2.0 - triggerAction = ownedFeatureMembership-> - selectByKind(TransitionFeatureMembership)-> - select(kind = TransitionFeatureKind::trigger).transitionFeatures-> - selectByKind(AcceptActionUsage) - - - - - <p>The <code>sourceFeature</code> of the <code>succession</code> of a <code>TransitionUsage</code> must be the <code>source</code> of the <code>TransitionUsage</code> (i.e., the first <code>connectorEnd</code> of the <code>succession</code> must have a <code>ReferenceSubsetting</code> <code>Relationship</code> with the <code>source</code>).</p> - - - OCL2.0 - succession.sourceFeature = source - - - - - <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>source</code> and its first input <code>parameter</code> (which redefines <code><em>Actions::TransitionAction::transitionLinkSource</em></code>).</p> - - - OCL2.0 - ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(source) and - b.relatedFeatures->includes(inputParameter(1))) - - - - - <p>If a <code>TransitionUsage</code> has a <code>triggerAction</code>, then the <em><code>payload</code></em> <code>parameter</code> of the <code>TransitionUsage</code> subsets the <code>Feature</code> chain of the <code>triggerAction</code> and its <code>payloadParameter</code>.</p> - - - OCL2.0 - triggerAction->notEmpty() implies - let payloadParameter : Feature = inputParameter(2) in - payloadParameter <> null and - payloadParameter.subsetsChain(triggerAction->at(1), triggerPayloadParameter()) - - - - - <p>A <code>TransitionUsage</code> must have an <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>succession</code> and the inherited <code>Feature</code> <code><em>TransitionPerformances::TransitionPerformance::transitionLink</em></code>.</p> - - - OCL2.0 - ownedMember->selectByKind(BindingConnector)->exists(b | - b.relatedFeatures->includes(succession) and - b.relatedFeatures->includes(resolveGlobal( - 'TransitionPerformances::TransitionPerformance::transitionLink'))) - - - - - <p>A <code>TransitionUsage</code> must have at least one owned input <code>parameter</code> and, if it has a <code>triggerAction</code>, it must have at least two.</p> - - - OCL2.0 - if triggerAction->isEmpty() then - inputParameters()->size() >= 1 -else - inputParameters()->size() >= 2 -endif - - - - - - <p>The <code>succession</code> of a <code>TransitionUsage</code> is its first <code>ownedMember</code> that is a <code>Succession</code>.</p> - - - OCL2.0 - succession = ownedMember->selectByKind(Succession)->at(1) - - - - - <p>If the <code>source</code> of a <code>TransitionUsage</code> is <em>not</em> a <code>StateUsage</code>, then the <code>TransitionUsage</code> must not have any <code>triggerActions</code>.</p> - - - OCL2.0 - source <> null and not source.oclIsKindOf(StateUsage) implies - triggerAction->isEmpty() - - - - - - <p>The source <code>ActionUsage</code> of this <code>TransitionUsage</code>, which becomes the <code>source</code> of the <code>succession</code> for the <code>TransitionUsage</code>.</p> - - - - - - - <p>The target <code>ActionUsage</code> of this <code>TransitionUsage<code>, which is the <code>targetFeature</code> of the <code>succession</code> for the <code>TransitionUsage</code>.</p> - - - - - - - <p>The <code>AcceptActionUsages</code> that define the triggers of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = trigger</code>, which must all be <code>AcceptActionUsages</code>.</p> - - - - - - - <p>The <code>Expressions</code> that define the guards of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = guard</code>, which must all be <code>Expressions</code>.</p> - - - - - - - <p>The <code>ActionUsages</code> that define the effects of this <code>TransitionUsage</code>, which are the <code>ownedFeatures</code> of the <code>TransitionUsage</code> related to it by <code>TransitionFeatureMemberships</code> with <code>kind = effect</code>, which must all be <code>ActionUsages</code>.</p> - - - - - - - <p>The <code>Succession</code> that is the <code>ownedFeature</code> of this <code>TransitionUsage</code>, which, if the <code>TransitionUsage</code> is triggered, asserts the temporal ordering of the <code>source</code> and <code>target</code>.</p> - - - - - - - <p>Return the <code>payloadParameter</code> of the <code>triggerAction</code> of this <code>TransitionUsage</code>, if it has one.</p> - - - - OCL2.0 - if triggerAction->isEmpty() then null -else triggerAction->first().payloadParameter -endif - - - - - - - - - - <p>Return the <code>Feature</code> to be used as the <code>source</code> of the <code>succession</code> of this <code>TransitionUsage</code>, which is the first <code>member</code> of the <code>TransitionUsage</code> that is a <code>Feature</code>, that is owned by the <code>TransitionUsage</code> via a <code>Membership</code> that is <em>not</em> a <code>FeatureMembership</code>, and whose <code>featureTarget</code> is an <code>ActionUsage</code>.</p> - - - - OCL2.0 - let features : Sequence(Feature) = ownedMembership-> - reject(oclIsKindOf(FeatureMembership)).memberElement-> - selectByKind(Feature)-> - select(featureTarget.oclIsKindOf(ActionUsage)) in -if features->isEmpty() then null -else features->first() -endif - - - - - - - - - - - <p>A <code>TransitionFeatureMembership</code> is a <code>FeatureMembership</code> for a trigger, guard or effect of a <code>TransitionUsage</code>, whose <code>transitionFeature</code> is a <code>AcceptActionUsage</code>, <em><code>Boolean</code></em>-valued <code>Expression</code> or <code>ActionUsage</code>, depending on its <code>kind</code>. </p> - - - - <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>trigger</code>, then its <code>transitionFeature</code> must be a kind of <code>AcceptActionUsage</code>.</p> - - - OCL2.0 - kind = TransitionFeatureKind::trigger implies - transitionFeature.oclIsKindOf(AcceptActionUsage) - - - - - <p>The <code>owningType</code> of a <code>TransitionFeatureMembership</code> must be a <code>TransitionUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(TransitionUsage) - - - - - <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>guard</code>, then its <code>transitionFeature</code> must be a kind of <code>Expression</code> whose result is a <em><code>Boolean</code></em> value.</p> - - - OCL2.0 - kind = TransitionFeatureKind::guard implies - transitionFeature.oclIsKindOf(Expression) and - let guard : Expression = transitionFeature.oclIsKindOf(Expression) in - guard.result.specializesFromLibrary('ScalarValues::Boolean') and - guard.result.multiplicity <> null and - guard.result.multiplicity.hasBounds(1,1) - - - - - <p>If the <code>kind</code> of a <code>TransitionUsage</code> is <code>effect</code>, then its <code>transitionFeature</code> must be a kind of <code>ActionUsage</code>.</p> - - - OCL2.0 - kind = TransitionFeatureKind::effect implies - transitionFeature.oclIsKindOf(ActionUsage) - - - - - - <p>Whether this <code>TransitionFeatureMembership </code> is for a <code>trigger</code>, <code>guard</code> or <code>effect</code>.</p> - - - - - <p>The <code>Step</code> that is the <code>ownedMemberFeature</code> of this <code>TransitionFeatureMembership</code>.</p> - - - - - - - - <p>An <code>ExhibitStateUsage</code> is a <code>StateUsage</code> that represents the exhibiting of a <code>StateUsage</code>. Unless it is the <code>StateUsage</code> itself, the <code>StateUsage</code> to be exhibited is related to the <code>ExhibitStateUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>. An <code>ExhibitStateUsage</code> is also a <code>PerformActionUsage</code>, with its <code>exhibitedState</code> as the <code>performedAction</code>.</p> - - - - - <p>If an <code>ExhibitStateUsage</code> has an <code>owningType</code> that is a <code>PartDefinition</code> or <code>PartUsage</code>, then it must directly or indirectly specialize the <code>StateUsage</code> <code><em>Parts::Part::exhibitedStates</em></code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(PartDefinition) or - owningType.oclIsKindOf(PartUsage)) implies - specializesFromLibrary('Parts::Part::exhibitedStates') - - - - - <p>If an <code>ExhibitStateUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be a <code>StateUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(StateUsage) - - - - - - - <p>The <code>StateUsage</code> to be exhibited by the <code>ExhibitStateUsage</code>. It is the <code>performedAction</code> of the <code>ExhibitStateUsage</code> considered as a <code>PerformActionUsage</code>, which must be a <code>StateUsage</code>.</p> - - - - - - - - <p>A <code>TransitionActionKind</code> indicates whether the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a trigger, guard or effect.</p> - - - - <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a <code>triggerAction</code>.</p> - - - - - <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is a <code>guardExpression</code>.</p> - - - - - <p>Indicates that the <code>transitionFeature</code> of a <code>TransitionFeatureMembership</code> is an <code>effectAction</code>.</p> - - - - - - - <p>The ExhibitStateUsages that have a certain StateUsage as their <tt>exhibitedState</tt>.</p> - - - - - - - - - <p>The Transition that owns a certain Succession.</p> - - - - - - - - - <p>The TransitionUsage that has a certain <tt>effectAction</tt>.</p> - - - - - - - - - <p>The TransitionUsage incoming to a certain target <tt>ActionUsage</tt>.</p> - - - - - - - - - <p>The TransitionUsage that is triggered by a certain AcceptActionUsage.</p> - - - - - - - - - <p>The TransitionUsage that is guarded by a certain Expression.</p> - - - - - - - - - <p>The TransitionUsage outgoing from a certain source <tt>ActionUsage</tt>.</p> - - - - - - - - - <p>The StateDefinitions with a certain <tt>exitAction</tt>.</p> - - - - - - - - - <p>The StateDefinitions with a certain <tt>doAction</tt>.</p> - - - - - - - - - <p>The StateUsages with a certain <tt>entryAction</tt>.</p> - - - - - - - - - <p>The StateDefinitions with a certain <tt>entryAction</tt>.</p> - - - - - - - - - <p>The TransitionFeatureMembership that owns a certain Step (if any).</p> - - - - - - - - - <p>The StateUsages with a certain <tt>exitAction</tt>.</p> - - - - - - - - - <p>The StateUsages with a certain <tt>doAction</tt>.</p> - - - - - - - - - <p>The StateSubactionMembership that is the owner of a certain ActionUsage (if any).</p> - - - - - - - - - - <p>A <code>ConstraintUsage</code> is an <code>OccurrenceUsage</code> that is also a <code>BooleanExpression</code>, and, so, is typed by a <code>Predicate</code>. Nominally, if the type is a <code>ConstraintDefinition</code>, a <code>ConstraintUsage</code> is a <code>Usage</code> of that <code>ConstraintDefinition</code>. However, other kinds of kernel <code>Predicates</code> are also allowed, to permit use of <code>Predicates</code> from the Kernel Model Libraries.</p> - - - - <p>A <code>ConstraintUsage</code> whose <code>owningFeatureMembership</code> is a <code>RequirementConstraintMembership</code> must directly or indirectly specialize on the <code>ConstraintUsages</code> <code><em>assumptions</em></code> or <code><em>constraints</em></code> from the <code>ConstraintDefinition</code> <code><em>Requirements::RequirementCheck</em></code> in the Systems Model Library, depending on whether the <code>kind</code> of the <code>RequirementConstraintMembership</code> is <code>assumption</code> or <code>requirement</code>, respectively.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies - if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind = - RequirementConstraintKind::assumption then - specializesFromLibrary('Requirements::RequirementCheck::assumptions') - else - specializesFromLibrary('Requirements::RequirementCheck::constraints') - endif - - - - - <p>A <code>ConstraintUsage</code> must directly or indirectly specialize the base <code>ConstraintUsage</code> <em><code>Constraints::constraintChecks</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Constraints::constraintChecks') - - - - - <p>A <code>ConstraintUsage</code> whose <code>owningType</code> is an <code>ItemDefinition</code> or <code>ItemUsage</code> must directly or indirectly specialize the <code>ConstraintUsage</code> <em><code>Items::Item::checkedConstraints</code></em>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::checkedConstraints') - - - - - - - <p>The (single) <code>Predicate</code> that is the type of this <code>ConstraintUsage</code>. Nominally, this will be a <code>ConstraintDefinition</code>, but other kinds of <code>Predicates</code> are also allowed, to permit use of <code>Predicates</code> from the Kernel Model Libraries.</p> - - - - - - - <p>The naming <code>Feature</code> of a <code>ConstraintUsage</code> that is owned by a <code>RequirementConstraintMembership</code> and has an <code>ownedReferenceSubsetting</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of that <code>ownedReferenceSubsetting</code>.</p> - - - - OCL2.0 - if owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) and -ownedReferenceSubsetting <> null then - ownedReferenceSubsetting.referencedFeature.featureTarget -else - self.oclAsType(OccurrenceUsage).namingFeature() -endif - - - - - - - - - - <p>A <code>ConstraintUsage</code> is not model-level evaluable.</p> - - - - OCL2.0 - false - - - - - - - - - - - - - - <p>A <code>ConstraintDefinition</code> is an <code>OccurrenceDefinition</code> that is also a <code>Predicate</code> that defines a constraint that may be asserted to hold on a system or part of a system.</p> - - - - - - <p>A <code>ConstraintDefinition</code> must directly or indirectly specialize the base <code>ConstraintDefinition</code> <em><code>Constraints::ConstraintCheck</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Constraints::ConstraintCheck') - - - - - - - - - <p>The ConstraintUsages typed by a certain Predicate.</p> - - - - - - - - - <p>The AssertConstraintUsages that have a certain ConstraintUsage as their <tt>assertedConstraint</tt>.</p> - - - - - - - - <p>An <code>AssertConstraintUsage</code> is a <code>ConstraintUsage</code> that is also an <code>Invariant</code> and, so, is asserted to be true (by default). Unless it is the <code>AssertConstraintUsage</code> itself, the asserted <code>ConstraintUsage</code> is related to the <code>AssertConstraintUsage</code> by a ReferenceSubsetting <code>Relationship</code>.</p> - - - - <p>If an <code>AssertConstraintUsage</code> has no <code>ownedReferenceSubsetting</code>, then its <code>assertedConstraint</code> is the <code>AssertConstraintUsage</code> itself. Otherwise, the <code>assertedConstraint</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code>, which must be a <code>ConstraintUsage</code>.</p> - - - OCL2.0 - assertedConstraint = - if referencedFeatureTarget() = null then self - else if referencedFeatureTarget().oclIsKindOf(ConstraintUsage) then - referencedFeatureTarget().oclAsType(ConstraintUsage) - else null - endif endif - - - - - <p>If a <code>AssertConstraintUsage</code> is negated, then it must directly or indirectly specialize the <code>ConstraintUsage</code> <code><em>Constraints::negatedConstraintChecks</em></code>. Otherwise, it must directly or indirectly specialize the <code>ConstraintUsage</code> <code><em>Constraints::assertedConstraintChecks</em></code>.</p> - - - OCL2.0 - if isNegated then - specializesFromLibrary('Constraints::negatedConstraintChecks') -else - specializesFromLibrary('Constraints::assertedConstraintChecks') -endif - - - - - <p>If an <code>AssertConstraintUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of its <code>referencedFeature</code> must be a </code>ConstraintUsage</code>.</p> - - - OCL2.0 - referencedFeaureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(ConstraintUsage) - - - - - - - <p>The <code>ConstraintUsage</code> to be performed by the <code>AssertConstraintUsage</code>. It is the <code>referenceFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>AssertConstraintUsage</code>, if there is one, and, otherwise, the <code>AssertConstraintUsage</code> itself.</p> - - - - - - - - - - - <p>The RequirementUsage that has a certain ConstraintUsage as a <code>requiredConstraint</code> (if any).</p> - - - - - - - - - <p>The RequirementUsage that has a certain ConstraintUsage as an <cod>assumedConstraint</code> (if any).</p> - - - - - - - - - <p>The SatifyRequirementUsages that have a certain RequirementUsage as their <tt>satisfiedRequirement</tt>.</p> - - - - - - - - <p>A <code>RequirementDefinition</code> is a <code>ConstraintDefinition</code> that defines a requirement used in the context of a specification as a constraint that a valid solution must satisfy. The specification is relative to a specified subject, possibly in collaboration with one or more external actors.</p> - - - - <p>The <code>texts</code> of a<code>RequirementDefinition</code> are the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementDefinition</code>.</p> - - - OCL2.0 - text = documentation.body - - - - - <p>The <code>assumedConstraints</code> of a <code>RequirementDefinition</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> - - - OCL2.0 - assumedConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::assumption). - ownedConstraint - - - - - <p>The <code>requiredConstraints</code> of a <code>RequirementDefinition</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = requirement</code>.</p> - - - OCL2.0 - requiredConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::requirement). - ownedConstraint - - - - - <p>The <code>subjectParameter</code> of a <code>RequirementDefinition</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> - - - OCL2.0 - subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif - - - - - <p>The <code>framedConcerns</code> of a <code>RequirementDefinition</code> are the <code>ownedConcerns</code> of the <code>FramedConcernMemberships</code> of the <code>RequirementDefinition</code>.</p> - - - OCL2.0 - framedConcern = featureMembership-> - selectByKind(FramedConcernMembership). - ownedConcern - - - - - <p>The <code>actorParameters</code> of a <code>RequirementDefinition</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>RequirementDefinition</code>.</p> - - - OCL2.0 - actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter - - - - - <p>The <code>stakeHolderParameters</code> of a <code>RequirementDefinition</code> are the <code>ownedStakeholderParameters</code> of the <code>StakeholderMemberships</code> of the <code>RequirementDefinition</code>.</p> - - - OCL2.0 - stakeholderParameter = featureMembership-> - selectByKind(StakholderMembership). - ownedStakeholderParameter - - - - - <p>A <code>RequirementDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 - - - - - <p>The <code>subjectParameter</code> of a <code>RequirementDefinition</code> must be its first <code>input</code>.</p> - - - OCL2.0 - input->notEmpty() and input->first() = subjectParameter - - - - - <p>A <code>RequirementDefinition</code> must directly or indirectly specialize the base <code>RequirementDefinition</code> <code><em>Requirements::RequirementCheck</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Requirements::RequirementCheck') - - - - - - <p>An optional modeler-specified identifier for this <code>RequirementDefinition</code> (used, e.g., to link it to an original requirement text in some source document), which is the <code>declaredShortName</code> for the <code>RequirementDefinition</code>.</p> - - - - - - - - <p>An optional textual statement of the requirement represented by this <code>RequirementDefinition</code>, derived from the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementDefinition</code>.</p> - - - - - - - - - <p>The <code>parameter</code> of this <code>RequirementDefinition</code> that represents its subject.</p> - - - - - - - <p>The <code>parameters</code> of this <code>RequirementDefinition</code> that represent actors involved in the requirement.</p> - - - - - - - <p>The <code>parameters</code> of this <code>RequirementDefinition</code> that represent stakeholders for th requirement.</p> - - - - - - - <p>The owned <code>ConstraintUsages</code> that represent assumptions of this <code>RequirementDefinition</code>, which are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> - - - - - - - <p>The owned <code>ConstraintUsages</code> that represent requirements of this <code>RequirementDefinition</code>, derived as the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind</code> = <code>requirement</code>.</p> - - - - - - - <p>The <code>ConcernUsages</code> framed by this <code>RequirementDefinition</code>, which are the <code>ownedConcerns</code> of all <code>FramedConcernMemberships</code> of the <code>RequirementDefinition</code>.</p> - - - - - - - - - <p>The SatisfyRequirementUsages that have a certain Feature as their <tt>satisfyingFeature</tt>.</p> - - - - - - - - - <p>The RequirementUsages typed by a certain RequirementDefinition.</p> - - - - - - - - - <p>The RequirementDefinition that has a certain ConstraintUsage as an <code>assumedConstraint</code> (if any).</p> - - - - - - - - <p>A <code>SatisfyRequirementUsage</code> is an <code>AssertConstraintUsage</code> that asserts, by default, that a satisfied <code>RequirementUsage</code> is true for a specific <code>satisfyingFeature</code>, or, if <code>isNegated = true</code>, that the <code>RequirementUsage</code> is false. The satisfied <code>RequirementUsage</code> is related to the <code>SatisfyRequirementUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>.</p> - - - - <p>The <code>satisfyingFeature</code> of a <code>SatisfyRequirementUsage</code> is the <code>Feature</code> to which the <code>subjectParameter</code> is bound.</p> - - - OCL2.0 - satisfyingFeature = - let bindings: BindingConnector = ownedMember-> - selectByKind(BindingConnector)-> - select(b | b.relatedElement->includes(subjectParameter)) in - if bindings->isEmpty() or - bindings->first().relatedElement->exits(r | r <> subjectParameter) - then null - else bindings->first().relatedElement->any(r | r <> subjectParameter) - endif - - - - - <p>A <code>SatisfyRequirementUsage</code> must have exactly one <code>ownedMember</code> that is a <code>BindingConnector</code> between its <code>subjectParameter</code> and some <code>Feature</code> other than the <code>subjectParameter</code>.</p> - - - OCL2.0 - ownedMember->selectByKind(BindingConnector)-> - select(b | - b.relatedElement->includes(subjectParameter) and - b.relatedElement->exists(r | r <> subjectParameter))-> - size() = 1 - - - - - <p>If a <code>SatisfyRequirementUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of its <code>referencedFeature</code> must be a <code>RequirementUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(RequirementUsage) - - - - - <p>If a <code>SatisfyRequirementUsage</code> is negated, then it must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::notSatisfiedRequirementChecks</code></em>. Otherwise, it must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::satisfiedRequirementChecks</code></em>.</p> - - - OCL2.0 - if isNegated then - specializesFromLibrary('Requirements::notSatisfiedRequirementChecks') -else - specializesFromLibrary('Requirements::satisfiedRequirementChecks') -endif - - - - - - - <p>The <code>RequirementUsage</code> that is satisfied by the <code>satisfyingSubject</code> of this <code>SatisfyRequirementUsage</code>. It is the <code>assertedConstraint</code> of the <code>SatisfyRequirementUsage</code> considered as an <code>AssertConstraintUsage</code>, which must be a <code>RequirementUsage</code>.</p> - - - - - - - <p>The <code>Feature</code> that represents the actual subject that is asserted to satisfy the <code>satisfiedRequirement</code>. The <code>satisfyingFeature</code> is bound to the <code>subjectParameter</code> of the <code>SatisfyRequirementUsage</code>.</p> - - - - - - - - <p>A <code>RequirementUsage</code> is a <code>Usage</code> of a <code>RequirementDefinition</code>.</p> - - - - <p>The <code>actorParameters</code> of a <code>RequirementUsage</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter - - - - - <p>The <code>assumedConstraints</code> of a <code>RequirementUsage</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementDefinition</code> with <code>kind = assumption</code>.</p> - - - OCL2.0 - assumedConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::assumption). - ownedConstraint - - - - - <p>The <code>framedConcerns</code> of a <code>RequirementUsage</code> are the <code>ownedConcerns</code> of the <code>FramedConcernMemberships</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - framedConcern = featureMembership-> - selectByKind(FramedConcernMembership). - ownedConcern - - - - - <p>The <code>requiredConstraints</code> of a <code>RequirementUsage</code> are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind = requirement</code>.</p> - - - OCL2.0 - requiredConstraint = ownedFeatureMembership-> - selectByKind(RequirementConstraintMembership)-> - select(kind = RequirementConstraintKind::requirement). - ownedConstraint - - - - - <p>The <code>stakeHolderParameters</code> of a <code>RequirementUsage</code> are the <code>ownedStakeholderParameters</code> of the <code>StakeholderMemberships</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - stakeholderParameter = featureMembership-> - selectByKind(AStakholderMembership). - ownedStakeholderParameter - - - - - <p>The <code>subjectParameter</code> of a <code>RequirementUsage</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> - - - OCL2.0 - subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif - - - - - <p>The <code>texts</code> of a<code>RequirementUsage</code> are the <code>bodies</code> of the <code>documentation</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - text = documentation.body - - - - - <p>A <code>RequirementDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 - - - - - <p>The <code>subjectParameter</code> of a <code>RequirementUsage</code> must be its first <code>input</code>.</p> - - - OCL2.0 - input->notEmpty() and input->first() = subjectParameter - - - - - <p>A <code>RequirementUsage</code> must directly or indirectly specialize the base <code>RequirementUsage</code> <em><code>Requirements::requirementChecks</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Requirements::requirementChecks') - - - - - <p>A composite <code>RequirementUsage</code> whose <code>owningType</code> is a <code>RequirementDefinition</code> or ,code>RequirementUsage</code> must directly or indirectly specialize the <code>RequirementUsage</code> <em><code>Requirements::RequirementCheck::subrequirements</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and - (owningType.oclIsKindOf(RequirementDefinition) or - owningType.oclIsKindOf(RequirementUsage)) implies - specializesFromLibrary('Requirements::RequirementCheck::subrequirements') - - - - - <p>A <code>RequirementUsage</code> whose <code>owningFeatureMembership</code> is a <code>ObjectiveMembership</code> must redefine the <code>objectiveRequirement</code> of each <code>CaseDefinition</code> or <code>CaseUsage</code> that is specialized by the <code>owningType</code> of the <code>RequirementUsage</code>.</p> - - - OCL2.0 - owningfeatureMembership <> null and -owningfeatureMembership.oclIsKindOf(ObjectiveMembership) implies - owningType.ownedSpecialization.general->forAll(gen | - (gen.oclIsKindOf(CaseDefinition) implies - redefines(gen.oclAsType(CaseDefinition).objectiveRequirement)) and - (gen.oclIsKindOf(CaseUsage) implies - redefines(gen.oclAsType(CaseUsage).objectiveRequirement)) - - - - - <p>A <code>RequirementUsage</code> whose <code>owningFeatureMembership</code> is a <code>RequirementVerificationMembership</code> must directly or indirectly specialize the <code>RequirementUsage</code> <code><em>VerificationCases::VerificationCase::obj::requirementVerifications</em></code>.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(RequirementVerificationMembership) implies - specializesFromLibrary('VerificationCases::VerificationCase::obj::requirementVerifications') - - - - - - <p>The <code>RequirementDefinition</code> that is the single <code>definition</code> of this <code>RequirementUsage</code>.</p> - - - - - - - <p>An optional modeler-specified identifier for this <code>RequirementUsage</code> (used, e.g., to link it to an original requirement text in some source document), which is the <code>declaredShortName</code> for the <code>RequirementUsage</code>.</p> - - - - - - - - <p>An optional textual statement of the requirement represented by this <code>RequirementUsage</code>, derived from the <code>bodies<code> of the <code>documentation</code> of the <code>RequirementUsage</code>.</p> - - - - - - - - <p>The owned <code>ConstraintUsages</code> that represent requirements of this <code>RequirementUsage</code>, which are the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind</code> = <code>requirement</code>.</p> - - - - - - - <p>The owned <code>ConstraintUsages</code> that represent assumptions of this <code>RequirementUsage</code>, derived as the <code>ownedConstraints</code> of the <code>RequirementConstraintMemberships</code> of the <code>RequirementUsage</code> with <code>kind</code> = <code>assumption</code>.</p> - - - - - - - <p>The <code>parameter</code> of this <code>RequirementUsage</code> that represents its subject.</p> - - - - - - - <p>The <code>ConcernUsages</code> framed by this <code>RequirementUsage</code>, which are the <code>ownedConcerns</code> of all <code>FramedConcernMemberships</code> of the <code>RequirementUsage</code>.</p> - - - - - - - <p>The <code>parameters</code> of this <code>RequirementUsage</code> that represent actors involved in the requirement.</p> - - - - - - - <p>The <code>parameters</code> of this <code>RequirementUsage</code> that represent stakeholders for the requirement.</p> - - - - - - - - - <p>The RequirementDefinition that has a certain ConstraintUsage as a <code>requiredConstraint</code> (if any).</p> - - - - - - - - - <p>The RequirementConstraintMembership that owns a certain ConstraintUsage as its <code>ownedConstraint</code>.</p> - - - - - - - - <p>A <code>RequirementConstraintMembership</code> is a <code>FeatureMembership</code> for an assumed or required <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage<code>.</p> - - - - <p>The <code>referencedConstraint</code> of a <code>RequirementConstraintMembership</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> of the <code>ownedConstraint</code>, if there is one, and, otherwise, the <code>ownedConstraint</code> itself.</p> - - - OCL2.0 - referencedConstraint = - let referencedFeature : Feature = - ownedConstraint.referencedFeatureTarget() in - if referencedFeature = null then ownedConstraint - else if referencedFeature.oclIsKindOf(ConstraintUsage) then - refrencedFeature.oclAsType(ConstraintUsage) - else null - endif endif - - - - - <p>The <code>owningType</code> of a <code>RequirementConstraintMembership</code> must be a <code>RequirementDefinition</code> or a <code>RequirementUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(RequirementDefinition) or -owningType.oclIsKindOf(RequirementUsage) - - - - - <p>The <code>ownedConstraint</code> of a <code>RequirementConstraintMembership</code> must be composite.</p> - - - OCL2.0 - ownedConstraint.isComposite - - - - - - <p>Whether the <code>RequirementConstraintMembership</code> is for an assumed or required <code>ConstraintUsage</code>.</p> - - - - - <p>The <code>ConstraintUsage</code> that is the <code>ownedMemberFeature</code> of this <code>RequirementConstraintMembership</code>.</p> - - - - - - - <p> The <code>ConstraintUsage</code> that is referenced through this <code>RequirementConstraintMembership</code>. It is the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> of the <code>ownedConstraint</code>, if there is one, and, otherwise, the <code>ownedConstraint</code> itself.</p> - - - - - - - - <p>A <code>RequirementConstraintKind</code> indicates whether a <code>ConstraintUsage</code> is an assumption or a requirement in a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> - - - - <p>Indicates that a member <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code> represents an assumption.</p> - - - - - <p>Indicates that a member <code>ConstraintUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>represents an requirement.</p> - - - - - - - <p>The RequirementDefinitions that have a certain Usage as their <code>subjectParameter</code>.</p> - - - - - - - - - <p>The RequirementUsages that have a certain Usage as their <code>subjectParameter</code>.</p> - - - - - - - - <p>A <code>SubjectMembership</code> is a <code>ParameterMembership</code> that indicates that its <code>ownedSubjectParameter</code> is the subject of its <code>owningType</code>. The <code>owningType</code> of a <code>SubjectMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> - - - - <p>The <code>owningType</code> of a <code>SubjectMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> - - - OCL2.0 - owningType.oclIsType(RequirementDefinition) or -owningType.oclIsType(RequiremenCaseRequirementDefinition) or -owningType.oclIsType(CaseDefinition) or -owningType.oclIsType(CaseUsage) - - - - - - - <p>The <code>Usage</code< that is the <code>ownedMemberParameter</code> of this <code>SubjectMembership</code>.</p> - - - - - - - - - <p>The SubjectMembership that owns a particular Parameter as its <code>ownedSubjectParameter</code>.</p> - - - - - - - - - <p>The RequirementDefinition that addresses a certain <code>addressedConcern</code>.</p> - - - - - - - - - <p>The ConcernUsages that are typed by a certain <code>concernDefinition</code>.</p> - - - - - - - - - <p>The AddressedConcernMembership that has a certain ConcernUsage as its <code>addressedConcern</code>.</p> - - - - - - - - <p>A <code>FramedConcernMembership</code> is a <code>RequirementConstraintMembership</code> for a framed <code>ConcernUsage</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> - - - - <p>A <code>FramedConcernMembership</code> must have <code>kind = requirement</code>.</p> - - - OCL2.0 - kind = RequirementConstraintKind::requirement - - - - - - <p>The <code>kind</code> of an <code>FramedConcernMembership</code> must be <code>requirement</code>.</p> - - - - - - <p>The <code>ConcernUsage</code> that is the <code>ownedConstraint</code> of this <code>FramedConcernMembership</code>.</p> - - - - - - - <p> The <code>ConcernUsage</code> that is referenced through this <code>FramedConcernMembership</code>. It is the <code>referencedConstraint</code> of the <code>FramedConcernMembership</code> considered as a <code>RequirementConstraintMembership</code>, which must be a <code>ConcernUsage</code>.</p> - - - - - - - - <p>A <code>ConcernDefinition</code> is a <code>RequirementDefinition</code> that one or more stakeholders may be interested in having addressed. These stakeholders are identified by the <code>ownedStakeholders</code>of the <code>ConcernDefinition</code>.</p> - - - - - <p>A <code>ConcernDefinition</code> must directly or indirectly specialize the base <code>ConcernDefinition</code> <em><code>Requirements::ConcernCheck</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Requirements::ConcernCheck') - - - - - - - - <p>The RequirementConstraintMembership that has a certain ConstraintUsage as its <code>referencedConstraint</code>.</p> - - - - - - - - - <p>The AddressedConcernMembership that owns a certain ConcernUsage as its <code>ownedConcern</code>.</p> - - - - - - - - <p>A <code>ConcernUsage</code> is a <code>Usage</code> of a <code>ConcernDefinition</code>.</p> - - The <code>ownedStakeholder</code> features of the ConcernUsage shall all subset the <em><code>ConcernCheck::concernedStakeholders</code> </em>feature. If the ConcernUsage is an <code>ownedFeature</code> of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an <code>ownedStakeholder</code> feature that is bound to the <em><code>self</code></em> feature of its owner.</p> - - - - - <p>A <code>ConcernUsage</code> must directly or indirectly specialize the base <code>ConcernUsage</code> <em><code>Requirements::concernChecks</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Requirements::concernChecks') - - - - - <p>If a <code>ConcernUsage</code> is owned via a <code>FramedConcernMembership</code>, then it must directly or indirectly specialize the <code>ConcernUsage</code> <code><em>Requirements::RequirementCheck::concerns</em></code> from the Systems Model Library.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(FramedConcernMembership) implies - specializesFromLibrary('Requirements::RequirementCheck::concerns') - - - - - - <p>The ConcernDefinition that is the single type of this ConcernUsage.</p> - - - - - - - - - <p>The RequirementUsage that addresses a certain <code>addressedConcern</code>.</p> - - - - - - - - - - - - - - - <p>The RequirementUsages that have a certain PartUsage as an <code>actorParameter</code>.</p> - - - - - - - - - <p>The RequirementDefinitions that have a certain PartUsage as an <code>actorParameter</code>.</p> - - - - - - - - - <p>TheStakehplderMembership that has a certain PartUsage as its <code>ownedStakeholderParameter</code>.</p> - - - - - - - - <p>A <code>StakeholderMembership</code> is a <code>ParameterMembership</code> that identifies a <code>PartUsage</code> as a <code>stakeholderParameter</code> of a <code>RequirementDefinition</code> or <code>RequirementUsage</code>, which specifies a role played by an entity with concerns framed by the <code>owningType</code>.</p> - - - - <p>The <code>owningType</code> of a <code>StakeholderMembership</code> must be a <code>RequirementDefinition</code> or <code>RequirementUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(RequirementUsage) or -owningType.oclIsKindOf(RequirementDefinition) - - - - - - <p>The <code>PartUsage</code> specifying the stakeholder.</p> - - - - - - - - - - - - - - - <p>The ActorMembership that has a certain PartUsage as its <code>ownedActorParameter</code>.</p> - - - - - - - - <p>An <code>ActorMembership</code> is a <code>ParameterMembership</code> that identifies a <code>PartUsage</code> as an <em>actor</em> <code>parameter</code>, which specifies a role played by an external entity in interaction with the <code>owningType</code> of the <code>ActorMembership</code>.</p> - - - - <p>The <code>owningType</code> of an <code>ActorMembership</code> must be a <code>RequirementDefinition</code>, <code>RequirementUsage</code>, <code>CaseDefinition</code>, or <code>CaseUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(RequirementUsage) or -owningType.oclIsKindOf(RequirementDefinition) or -owningType.oclIsKindOf(CaseDefinition) or -owningType.oclIsKindOf(CaseUsage) - - - - - - - <p>The <code>PartUsage</code> specifying the actor.</p> - - - - - - - - - - <p>A <code>CalculationDefinition</code> is an <coed>ActionDefinition</code> that also defines a <code>Function</code> producing a <code>result</code>.</p> - - - - <p>A <code>CalculationDefinition</code> must directly or indirectly specialize the <code>CalculationDefinition</code> <em><code>Calculations::Calculation</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Calculations::Calculation') - - - - - <p>The <code>calculations</code> of a <code>CalculationDefinition</code> are those of its <code>actions</code> that are <code>CalculationUsages</code>.</p> - - - OCL2.0 - calculation = action->selectByKind(CalculationUsage) - - - - - - - <p>The <code>actions</code> of this <code>CalculationDefinition</code> that are <code>CalculationUsages</code>.</p> - - - - - - - - - <p>The CalculationUsage being typed by a certain Function.</p> - - - - - - - - <p>A <code>CalculationUsage</code> is an <code>ActionUsage</code> that is also an <code>Expression</code>, and, so, is typed by a <code>Function</code>. Nominally, if the <code>type</code> is a <code>CalculationDefinition</code>, a <code>CalculationUsage</code> is a <code>Usage</code> of that <code>CalculationDefinition</code> within a system. However, other kinds of kernel <code>Functions</code> are also allowed, to permit use of <code>Functions</code> from the Kernel Model Libraries.</p> - - - - <p>A <code>CalculationUsage</code> must specialize directly or indirectly the <code>CalculationUsage</code> <em><code>Calculations::calculations</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Calculations::calculations') - - - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(CalculationDefinition) or - owningType.oclIsKindOf(CalculationUsage)) implies - specializesFromLibrary('Calculations::Calculation::subcalculations') - - - - - - - <p>The <ode>Function</code> that is the <code>type</code> of this <code>CalculationUsage</code>. Nominally, this would be a <code>CalculationDefinition</code>, but a kernel <code>Function</code> is also allowed, to permit use of <code>Functions</code> from the Kernel Model Libraries.</p> - - - - - - - <p>A <code>CalculationUsage</code> is not model-level evaluable.</p> - - - - OCL2.0 - false - - - - - - - - - - - - - - - <p>The CalculationDefinitions that feature a certain CalculationUsage.</p> - - - - - - - - - <p>The Definition that owns the <code>ownedCalculation</code>.</p> - - - - - - - - - <p>The Usage in which the <code>nestedCalculation<code> is nested.</p> - - - - - - - - - - - <p>The ConnectionDefinitions that have a certain Usage as an <code>connectionEnd</code>.</p> - - - - - - - - <p>A <code>ConnectionDefinition</code> is a <code>PartDefinition</code> that is also an <code>AssociationStructure</code>. The end <code>Features</code> of a <code>ConnectionDefinition</code> must be <code>Usages</code>.</p> - - - - <p>A <code>ConnectionDefinition</code> must directly or indirectly specialize the <code>ConnectionDefinition</code> <em><code>Connections::Connection</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Connections::Connection') - - - - - <p>A binary <code>ConnectionDefinition</code> must directly or indirectly specialize the <code>ConnectionDefinition</code> <em><code>Connections::BinaryConnection</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeature->size() = 2 implies - specializesFromLibrary('Connections::BinaryConnections') - - - - - <p>A <code>ConnectionDefinition</code> must have <code>isSufficient = true</code>.</p> - - - OCL2.0 - isSufficient - - - - - - - <p>The <code>Usages</code> that define the things related by the <code>ConnectionDefinition</code>.</p> - - - - - - - <p>A <code>ConnectionDefinition</code> always has <code>isSufficient = true</code>.</p> - - - - - - - - <p>A <code>ConnectionUsage</code> is a <code>ConnectorAsUsage</code> that is also a <code>PartUsage</code>. Nominally, if its type is a <code>ConnectionDefinition</code>, then a <code>ConnectionUsage</code> is a Usage of that <code>ConnectionDefinition</code>, representing a connection between parts of a system. However, other kinds of kernel <code>AssociationStructures</code> are also allowed, to permit use of <code>AssociationStructures</code> from the Kernel Model Libraries.</p> - - - - <p>A <code>ConnectionUsage</code> must directly or indirectly specialize the <code>ConnectionUsage</code> <em><code>Connections::connections</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Connections::connections') - - - - - <p>A binary <code>ConnectionUsage</code> must directly or indirectly specialize the <code>ConnectionUsage</code> <em><code>Connections::binaryConnections</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeature->size() = 2 implies - specializesFromLibrary('Connections::binaryConnections') - - - - - - - <p>The <code>AssociationStructures</code> that are the types of this <code>ConnectionUsage</code>. Nominally, these are , but other kinds of Kernel <code>AssociationStructures</code> are also allowed, to permit use of <code>AssociationStructures</code> from the Kernel Model Libraries</p> - - - - - - - - - <p>The ConnectionUsages that have a certain AssociationStructure as their <code>connectionDefinition</code>.</p> - - - - - - - - <p>A <code>SuccessionAsUsage</code> is both a <code>ConnectorAsUsage</code> and a <code>Succession</code>.<p> - - - - - - - <p>A <code>ConnectorAsUsage</code> is both a <code>Connector</code> and a <code>Usage</code>. <code>ConnectorAsUsage</code> cannot itself be instantiated in a SysML model, but it is a base class for the concrete classes <code>BindingConnectorAsUsage</code>, <code>SuccessionAsUsage</code>, <code>ConnectionUsage</code> and <code>FlowConnectionUsage</code>.</p> - - - - - - - <p>A <code>BindingConnectorAsUsage</code> is both a <code>BindingConnector</code> and a <code>ConnectorAsUsage</code>.</p> - - - - - - - - - <p>A <code>CaseUsage</code> is a <code>Usage</code> of a <code>CaseDefinition</code>.</p> - - - - <p>The <code>objectiveRequirement</code> of a <code>CaseUsage</code> is the <code>RequirementUsage</code> it owns via an <case>ObjectiveMembership</code>, if any.</p> - - - OCL2.0 - objectiveRequirement = - let objectives: OrderedSet(RequirementUsage) = - featureMembership-> - selectByKind(ObjectiveMembership). - ownedRequirement in - if objectives->isEmpty() then null - else objectives->first().ownedObjectiveRequirement - endif - - - - - <p>A <code>CaseUsage</code> must have at most one <code>featureMembership</code> that is a <code>ObjectiveMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ObjectiveMembership)-> - size() <= 1 - - - - - <p>A <code>CaseUsage</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(SubjectMembership)-> - size() <= 1 - - - - - <p>The <code>actorParameters</code> of a <code>CaseUsage</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>CaseUsage</code>.</p> - - - OCL2.0 - actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter - - - - - <p>The <code>subjectParameter</code> of a <code>CaseUsage</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> - - - OCL2.0 - subjectParameter = - let subjects : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjects->isEmpty() then null - else subjects->first().ownedSubjectParameter - endif - - - - - <p>The <code>subjectParameter</code> of a <code>CaseUsage</code> must be its first <code>input</code>.</p> - - - OCL2.0 - input->notEmpty() and input->first() = subjectParameter - - - - - <p>A <code>CaseUsage</code> must directly or indirectly specialize the base <code>CaseUsage</code> <em><code>Cases::cases</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Cases::cases') - - - - - <p>A composite <code>CaseUsage</code> whose <code>owningType</code> is a <code>CaseDefinition</code> or <code>CaseUsage</code> must directly or indirectly specialize the <code>CaseUsage</code> <em><code>Cases::Case::subcases</code></em>.</p> - - - OCL2.0 - isComposite and owningType <> null and - (owningType.oclIsKindOf(CaseDefinition) or - owningType.oclIsKindOf(CaseUsage)) implies - specializesFromLibrary('Cases::Case::subcases') - - - - - - <p>The <code>RequirementUsage</code> representing the objective of this <code>CaseUsage</code>.</p> - - - - - - - - <p>The CaseDefinition that is the type of this CaseUsage.</p> - - - - - - - <p>The <code>parameter</code> of this <code>CaseUsage</code> that represents its subject.</p> - - - - - - - - <p>The <code>parameters</code> of this <code>CaseUsage</code> that represent actors involved in the case.</p> - - - - - - - - - <p>The Usage in which the <code>nestedCase</code> is nested.</p> - - - - - - - - - <p>The CaseUsages being typed by a certain CaseDefinition.</p> - - - - - - - - <p>A <code>CaseDefinition</code> is a <code>CalculationDefinition</code> for a process, often involving collecting evidence or data, relative to a subject, possibly involving the collaboration of one or more other actors, producing a result that meets an objective.</p> - - - - <p>The <code>objectiveRequirement</code> of a <code>CaseDefinition</code> is the <code>ownedObjectiveRequirement</code> of its <case>ObjectiveMembership</code>, if any.</p> - - - OCL2.0 - objectiveRequirement = - let objectives: OrderedSet(RequirementUsage) = - featureMembership-> - selectByKind(ObjectiveMembership). - ownedRequirement in - if objectives->isEmpty() then null - else objectives->first().ownedObjectiveRequirement - endif - - - - - <p>A <code>CaseDefinition</code> must have at most one <code>featureMembership</code> that is a <code>ObjectiveMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ObjectiveMembership)-> - size() <= 1 - - - - - <p>The <code>subjectParameter</code> of a <code>CaseDefinition</code> is the <code>ownedSubjectParameter</code> of its <code>SubjectMembership</code> (if any).</p> - - - OCL2.0 - subjectParameter = - let subjectMems : OrderedSet(SubjectMembership) = - featureMembership->selectByKind(SubjectMembership) in - if subjectMems->isEmpty() then null - else subjectMems->first().ownedSubjectParameter - endif - - - - - <p>The <code>actorParameters</code> of a <code>CaseDefinition</code> are the <code>ownedActorParameters</code> of the <code>ActorMemberships</code> of the <code>CaseDefinition</code>.</p> - - - OCL2.0 - actorParameter = featureMembership-> - selectByKind(ActorMembership). - ownedActorParameter - - - - - <p>A <code>CaseDefinition</code> must have at most one <code>featureMembership</code> that is a <code>SubjectMembership</code>.</p> - - - English - featureMembership->selectByKind(SubjectMembership)->size() <= 1 - - - - - <p>The <code>subjectParameter</code> of a <code>CaaseDefinition</code> must be its first <code>input</code>.</p> - - - OCL2.0 - input->notEmpty() and input->first() = subjectParameter - - - - - <p>A <code>CaseDefinition</code> must directly or indirectly specialize the base <code>CaseDefinition</code> <em><code>Cases::Case></code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Cases::Case') - - - - - - <p>The <code>RequirementUsage</code> representing the objective of this <code>CaseDefinition</code>.</p> - - - - - - - - <p>The <code>parameter</code> of this <code>CaseDefinition</code> that represents its subject.</p> - - - - - - - <p>The <code>parameters</code> of this <code>CaseDefinition</code> that represent actors involved in the case.</p> - - - - - - - - <p>An <code>ObjectiveMembership</code> is a <code>FeatureMembership</code> that indicates that its <code>ownedObjectiveRequirement</code> is the objective <code>RequirementUsage</code> for its <code>owningType</code>, which must be a <code>CaseDefinition</code> or <code>CaseUsage</code>.</p> - - - - <p>The <code>owningType</code> of an <code>ObjectiveMembership</code> must be a <code>CaseDefinition</code> or <code>CaseUsage</code>.</p> - - - OCL2.0 - owningType.oclIsType(CaseDefinition) or -owningType.oclIsType(CaseUsage) - - - - - - <p>The <code>ownedObjectiveRequirement</code> of an <code>ObjectiveMembership</code> must be composite.</p> - - - OCL2.0 - ownedObjectiveRequirement.isComposite - - - - - - <p>The RequirementUsage that is the <code>ownedMemberFeature</code> of this RequirementUsage.</p> - - - - - - - - - - - - - - - - <p>The CaseDefinitions that have a certain RequirementUsage as their <code>objectiveRequirement</code>.</p> - - - - - - - - - <p>The ObjectMembership that owns a particular RequirementUsage as its <code>ownedObjectiveRequirement</code>.</p> - - - - - - - - - <p>The CaseDefinitions that have a certain Usage as their <code>subjectParameter</code>.</p> - - - - - - - - - <p>The CaseUsages that have a certain Usage as their <code>subjectParameter</code>.</p> - - - - - - - - - <p>The CaseDefinitions that have a certain PartUsage as an <code>actorParameter</code>.</p> - - - - - - - - - <p>The CaseUsages that have a certain PartUsage as an <code>actorParameter</code>.</p> - - - - - - - - - - - <p>The AnalysisCaseDefinitions that have a certain Expression as their <code>resultExpression</code>.</p> - - - - - - - - - <p>The AnalysisCaseUsages being typed by a certain AnalysisCaseDefinition.</p> - - - - - - - - <p>An <code>AnalysisCaseUsage</code> is a <code>Usage</code> of an <code>AnalysisCaseDefinition</code>.</p> - - - - <p>The <code>resultExpression</code> of a <code>AnalysisCaseUsage</code> is the <code>ownedResultExpression</code> of its <code>ResultExpressionMembership</code>, if any.</p> - - - OCL2.0 - resultExpression = - let results : OrderedSet(ResultExpressionMembership) = - featureMembersip-> - selectByKind(ResultExpressionMembership) in - if results->isEmpty() then null - else results->first().ownedResultExpression - endif - - - - - <p>An <code>AnalysisCaseUsage</code> must directly or indirectly specialize the base <code>AnalysisCaseUsage</code> <code><em>AnalysisCases::analysisCases</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('AnalysisCases::analysisCases') - - - - - <p>A composite <code>AnalysisCaseUsage</code> whose <code>owningType</code> is an <code>AnalysisCaseDefinition</code> or <code>AnalysisCaseUsage</code> must specialize the <code>AnalysisCaseUsage</code> <code><em>AnalysisCases::AnalysisCase::subAnalysisCases</code> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and - (owningType.oclIsKindOf(AnalysisCaseDefinition) or - owningType.oclIsKindOf(AnalysisCaseUsage)) implies - specializesFromLibrary('AnalysisCases::AnalysisCase::subAnalysisCases') - - - - - - <p>The <code>AnalysisCaseDefinition</code> that is the <code>definition</code> of this <code>AnalysisCaseUsage</code>.</p> - - - - - - - <p>An <code>Expression</code> used to compute the <code>result</code> of the <code>AnalysisCaseUsage</code>, owned via a <code>ResultExpressionMembership</code>.</p> - - - - - - - - - <p>The AnalysisCaseUsages that have a certain Expression as their <code>resultExpression</code>.</p> - - - - - - - - <p>An <code>AnalysisCaseDefinition</code> is a <code>CaseDefinition</code> for the case of carrying out an analysis.</p> - - - - <p>The <code>resultExpression</code> of a <code>AnalysisCaseDefinition</code> is the <code>ownedResultExpression</code> of its <code>ResultExpressionMembership</code>, if any.</p> - - - OCL2.0 - resultExpression = - let results : OrderedSet(ResultExpressionMembership) = - featureMembersip-> - selectByKind(ResultExpressionMembership) in - if results->isEmpty() then null - else results->first().ownedResultExpression - endif - - - - - <p>An <code>AnalysisCaseDefinition</code> must directly or indirectly specialize the base <code>AnalysisCaseDefinition</code> <code><em>AnalysisCases::AnalysisCase</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('AnalysisCases::AnalysisCase') - - - - - - <p>An <code>Expression</code> used to compute the <code>result</code> of the <code>AnalysisCaseDefinition</code>, owned via a <code>ResultExpressionMembership</code>.</p> - - - - - - - - - - - <p>An <code>ItemUsage</code> is a <code>ItemUsage</code> whose <code>definition</code> is a <code>Structure</code>. Nominally, if the <code>definition</code> is an <code>ItemDefinition</code>, an <code>ItemUsage</code> is a <code>ItemUsage</code> of that <code>ItemDefinition</code> within a system. However, other kinds of Kernel <code>Structures</code> are also allowed, to permit use of <code>Structures</code> from the Kernel Model Libraries.</p> - - - - <p>The <code>itemDefinitions</code> of an <code>ItemUsage</code> are those <code>occurrenceDefinitions</code> that are <code>Structures</code>.</p> - - - OCL2.0 - itemDefinition = occurrenceDefinition->selectByKind(Structure) - - - - - <p>An <code>ItemUsage</code> must directly or indirectly specialize the Systems Model Library <code>ItemUsage</code> <em><code>items</code></em>.</p> - - - OCL2.0 - specializesFromLibrary('Items::items') - - - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ItemDefinition) or - owningType.oclIsKindOf(ItemUsage)) implies - specializesFromLibrary('Items::Item::subitem') - - - - - - <p>The Structures that are the <code>definitions</code> of this ItemUsage. Nominally, these are ItemDefinitions, but other kinds of Kernel Structures are also allowed, to permit use of Structures from the Kernel Library.</p> - - - - - - - - <p>An <code>ItemDefinition</code> is an <code>OccurrenceDefinition</code> of the <code>Structure</code> of things that may themselves be systems or parts of systems, but may also be things that are acted on by a system or parts of a system, but which do not necessarily perform actions themselves. This includes items that can be exchanged between parts of a system, such as water or electrical signals.</p> - - - - - <p>An <code>ItemDefinition</code> must directly or indirectly specialize the Systems Library Model <code>ItemDefinition</code> <em><code>Items::Item</code>.</p> - - - OCL2.0 - specializesFromLibrary('Items::Item') - - - - - - - - - - <p>A <code>ViewpointDefinition</code> is a <code>RequirementDefinition</code> that specifies one or more stakeholder concerns that are to be satisfied by creating a view of a model.</p> - - - - <p>The <code>viewpointStakeholders</code> of a <code>ViewpointDefinition</code> are the <code>ownedStakeholderParameters</code> of all <code>featureMemberships</code> that are <code>StakeholderMemberships</code>.</p> - - - OCL2.0 - viewpointStakeholder = framedConcern.featureMemberhsip-> - selectByKind(StakeholderMembership). - ownedStakeholderParameter - - - - - <p>A <code>ViewpointDefinition</code> must directly or indirectly specialize the base <code>ViewpointDefinition</code> <code><em>Views::Viewpoint</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::Viewpoint') - - - - - - <p>The <code>PartUsages</code> that identify the stakeholders with concerns framed by this <code>ViewpointDefinition</code>, which are the owned and inherited <code>stakeholderParameters</code> of the <code>framedConcerns</code> of this <code>ViewpointDefinition</code>.</p> - - - - - - - - - <p>A ViewUsage exposing a certain <code>exposedElement</code>.</p> - - - - - - - - - <p>The RenderingUsages defined by a certain <code>renderingDefinition</code>.</p> - - - - - - - - <p>A <code>ViewUsage</code> is a usage of a <code>ViewDefinition</code> to specify the generation of a view of the <code>members</code> of a collection of <code>exposedNamespaces</code>. The <code>ViewUsage</code> can satisfy more <code>viewpoints</code> than its definition, and it can specialize the <code>viewRendering</code> specified by its definition.<p> - - - - <p>The <code>exposedElements</code> of a <code>ViewUsage</code> are those <code>memberElements</code> of the imported <code>Memberships</code> from all the <code>Expose</code> <code>Relationships</code> for which the <code>includeAsExposed</code> operation returns true.</p> - - - OCL2.0 - exposedElement = ownedImport->selectByKind(Expose). - importedMemberships(Set{}).memberElement-> - select(elm | includeAsExposed(elm))-> - asOrderedSet() - - - - - <p>The <code>satisfiedViewpoints</code> of a <code>ViewUsage</code> are its <code>ownedRequirements</code> that are composite <code>ViewpointUsages</code>. - - - OCL2.0 - satisfiedViewpoint = ownedRequirement-> - selectByKind(ViewpointUsage)-> - select(isComposite) - - - - - <p>The <code>viewConditions</code> of a <code>ViewUsage</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> - - - OCL2.0 - viewCondition = ownedMembership-> - selectByKind(ElementFilterMembership). - condition - - - - - <p>The <code>viewRendering</code> of a <code>ViewUsage</code> is the <code>referencedRendering</code> of its owned <code>ViewRenderingMembership<code>, if any.</p> - - - OCL2.0 - viewRendering = - let renderings: OrderedSet(ViewRenderingMembership) = - featureMembership->selectByKind(ViewRenderingMembership) in - if renderings->isEmpty() then null - else renderings->first().referencedRendering - endif - - - - - <p>A <code>ViewUsage</code> must have at most one <code>ViewRenderingMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ViewRenderingMembership)-> - size() <= 1 - - - - - <p>A <code>ViewUsage</code> must directly or indirectly specialize the base <code>ViewUsage</code> <code><em>Views::views</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::views') - - - - - <p>A <code>ViewUsage</code> whose <code>owningType</code> is a <code>ViewDefinition</code> or <code>ViewUsage</code> must specialize the <code>ViewUsage</code> <code><em>Views::View::subviews</em></code> from the Systems Library Model.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(ViewDefinition) or - owningType.oclIsKindOf(ViewUsage)) implies - specializesFromLibrary('Views::View::subviews') - - - - - - <p>The <code>ViewDefinition</code> that is the <code>definition</code> of this <code>ViewUsage</code>.</p> - - - - - - - <p>The <code>nestedRequirements</code> of this <code>ViewUsage</code> that are <code>ViewpointUsages</code> for (additional) viewpoints satisfied by the <code>ViewUsage</code>.</p> - - - - - - - <p>The <code>Elements</code> that are exposed by this <code>ViewUsage</code>, which are those <code>memberElements</code> of the imported <code>Memberships</code> from all the <code>Expose</code> <code>Relationships</code> that meet all the owned and inherited <code>viewConditions</code>.</p> - - - - - - - <p>The <code>RenderingUsage</code> to be used to render views defined by this <code>ViewUsage</code>, which is the <code>referencedRendering</code> of the <code>ViewRenderingMembership</code> of the <code>ViewUsage</code>.<p> - - - - - - - <p>The <code>Expressions</code> related to this <code>ViewUsage</code> by <code>ElementFilterMemberships</code>, which specify conditions on <code>Elements</code> to be rendered in a view.</p> - - - - - - - <p>Determine whether the given <code>element</code> meets all the owned and inherited <code>viewConditions</code>.</p> - - - - OCL2.0 - let metadataFeatures: Sequence(AnnotatingElement) = - element.ownedAnnotation.annotatingElement-> - select(oclIsKindOf(MetadataFeature)) in -self.membership->selectByKind(ElementFilterMembership). - condition->forAll(cond | - metadataFeatures->exists(elem | - cond.checkCondition(elem))) - - - - - - - - - - - - <p>The ViewUsage that owns a certain <code>rendering</code>.</p> - - - - - - - - - <p>The ViewDefinition that owns a certain <code>rendering</code>.</p> - - - - - - - - - p>The ViewUsage that owns a certain <code>satisfiedViewpoint</code>.</p> - - - - - - - - - <p>The ViewDefinition that owns a certain <code>satisfiedViewpoint</code>.</p> - - - - - - - - - <p>The ViewDefinitions that feature a certain ViewUsage.</p> - - - - - - - - <p>A <code>RenderingDefinition</code> is a <code>PartDefinition</code> that defines a specific rendering of the content of a model view (e.g., symbols, style, layout, etc.).</p> - - - - <p>The <code>renderings</code> of a <code>RenderingDefinition</code> are all its <code>usages</code> that are <code>RenderingUsages</code>.</p> - - - OCL2.0 - rendering = usages->selectByKind(RenderingUsage) - - - - - <p>A <code>RenderingDefinition</code> must directly or indirectly specialize the base <code>RenderingDefinition</code> <code><em>Views::Rendering</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::Rendering') - - - - - - <p>The <code>usages</code> of a <code>RenderingDefinition</code> that are <code>RenderingUsages</code>.</p> - - - - - - - - <p>A <code>ViewpointUsage</code> is a <code>Usage</code> of a <code>ViewpointDefinition</code>.</p> - - - - - - <p>The <code>viewpointStakeholders</code> of a <code>ViewpointUsage</code> are the <code>ownedStakeholderParameters</code> of all <code>featureMemberships</code> that are <code>StakeholderMemberships</code>.</p> - - - OCL2.0 - viewpointStakeholder = framedConcern.featureMemberhsip-> - selectByKind(StakeholderMembership). - ownedStakeholderParameter - - - - - <p>A <code>ViewpointUsage</code> must directly or indirectly specialize the base <code>ViewpointUsage</code> <code><em>Views::viewpoints</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::viewpoints') - - - - - <p>A composite <code>ViewpointUsage</code> whose <code>owningType</code> is a <code>ViewDefinition</code> or <code>ViewUsage</code> must directly or indirectly specialize the <code>ViewpointUsage</code> <code><em>Views::View::viewpointSatisfactions</em></code> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(ViewDefinition) or - owningType.oclIsKindOf(ViewUsage)) implies - specializesFromLibrary('Views::View::viewpointSatisfactions') - - - - - - <p>The <code>ViewpointDefinition</code> that is the <code>definition</code> of this <code>ViewpointUsage<code>.</p> - - - - - - - <p>The <code>PartUsages</code> that identify the stakeholders with concerns framed by this <code>ViewpointUsage</code>, which are the owned and inherited <code>stakeholderParameters</code> of the <code>framedConcerns</code> of this <code>ViewpointUsage</code>.</p> - - - - - - - - - <p>The ViewUsages that have a certain <code>ViewDefinition</code>.</p> - - - - - - - - - - - - - - <p>A <code>ViewDefinition</code> is a <code>PartDefinition</code> that specifies how a view artifact is constructed to satisfy a <code>viewpoint</code>. It specifies a <code>viewConditions</code> to define the model content to be presented and a <code>viewRendering</code> to define how the model content is presented.</p> - - - - <p>The <code>views</code> of a <code>ViewDefinition</code> are all its <code>usages</code> that are <code>ViewUsages</code>.</p> - - - OCL2.0 - view = usage->selectByKind(ViewUsage) - - - - - <p>The <code>satisfiedViewpoints</code> of a <code>ViewDefinition</code> are its <code>ownedRequirements</code> that are composite <code>ViewpointUsages</code>. - - - OCL2.0 - satisfiedViewpoint = ownedRequirement-> - selectByKind(ViewpointUsage)-> - select(isComposite) - - - - - <p>The <code>viewRendering</code> of a <code>ViewDefinition</code> is the <code>referencedRendering</code> of its owned <code>ViewRenderingMembership<code>, if any.</p> - - - OCL2.0 - viewRendering = - let renderings: OrderedSet(ViewRenderingMembership) = - featureMembership->selectByKind(ViewRenderingMembership) in - if renderings->isEmpty() then null - else renderings->first().referencedRendering - endif - - - - - <p>The <code>viewConditions</code> of a <code>ViewDefinition</code> are the <code>conditions</code> of its owned <code>ElementFilterMemberships</code>.</p> - - - OCL2.0 - viewCondition = ownedMembership-> - selectByKind(ElementFilterMembership). - condition - - - - - <p>A <code>ViewDefinition</code> must have at most one <code>ViewRenderingMembership</code>.</p> - - - OCL2.0 - featureMembership-> - selectByKind(ViewRenderingMembership)-> - size() <= 1 - - - - - </p>A <code>ViewDefinition</code> must directly or indirectly specialize the base <code>ViewDefinition</code> <code><em>Views::View</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::View') - - - - - - <p>The <code>usages</code> of this <code>ViewDefinition</code> that are <code>ViewUsages</code>.</p> - - - - - - - <p>The composite <code>ownedRequirements</code> of this <code>ViewDefinition</code> that are <code>ViewpointUsages</code> for viewpoints satisfied by the <code>ViewDefinition</code>.</p> - - - - - - - <p>The <code>RenderingUsage</code> to be used to render views defined by this <code>ViewDefinition</code>, which is the <code>referencedRendering</code> of the <code>ViewRenderingMembership</code> of the <code>ViewDefinition</code>.<p> - - - - - - - <p>The <code>Expressions</code> related to this <code>ViewDefinition</code> by <code>ElementFilterMemberships</code>, which specify conditions on <code>Elements</code> to be rendered in a view.</p> - - - - - - - - <p>An <code>Expose</code> is an <code>Import</code> of <code>Memberships</code> into a <code>ViewUsage</code> that provide the <code>Elements</code> to be included in a view. Visibility is always ignored for an <code>Expose</code> (i.e., <code>isImportAll = true</code>).</p> - - - - <p>An <code>Expose</code> always imports all <code>Elements</code>, regardless of visibility.</p> - - - OCL2.0 - isImportAll - - - - - <p>The <code>importOwningNamespace</code> of an <code>Expose</code> must be a <code>ViewUsage</code>.</p> - - - OCL2.0 - importOwningNamespace.oclIsType(ViewUsage) - - - - - <p>An <code>Expose</code> always has <code>protected</code> visibility.</p> - - - OCL2.0 - visibility = VisibilityKind::protected - - - - - - <p>An <code>Expose</code> always has <code>protected</code> visibility.</p> - - - - - - <p>An <code>Expose</code> always imports all <code>Elements</code>, regardless of visibility (<code>isImportAll = true</code>).</p> - - - - - - - - - <p>The RenderingDefinitions that feature a certain <code>rendering</code>.</p> - - - - - - - - <p>A <code>RenderingUsage</code> is the usage of a <code>RenderingDefinition</code> to specify the rendering of a specific model view to produce a physical view artifact.</p> - - - - - - <p>A <code>RenderingUsage</code> must directly or indirectly specialize the base <code>RenderingUsage</code> <code><em>Views::renderings</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Views::renderings') - - - - - <p>A <code>RenderingUsage</code> whose <code>owningType</code> is a <code>RenderingDefinition</code> or <code>RenderingUsage</code> must directly or indirectly specialize the <code>RenderingUsage</code> <code><em>Views::Rendering::subrenderings</em></code> from the Systems Model Library.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(RenderingDefinition) or - owningType.oclIsKindOf(RenderingUsage)) implies - specializesFromLibrary('Views::Rendering::subrenderings') - - - - - <p>A <code>RenderingUsage</code> whose <code>owningFeatureMembership</code> is a <code>ViewRenderingMembership</code> must redefine the <code>RenderingUsage</code> <code><em>Views::View::viewRendering</em></code>.</p> - - - OCL2.0 - owningFeatureMembership <> null and -owningFeatureMembership.oclIsKindOf(ViewRenderingMembership) implies - redefinesFromLibrary('Views::View::viewRendering') - - - - - - <p>The <code>RenderingDefinition</code> that is the <code>definition</code> of this <code>RenderingUsage</code>.</p> - - - - - - - - - <p>The ViewUsage that owns a certain <code>viewCondition</code>.</p> - - - - - - - - - <p>The ViewDefinition that owns a certain <code>viewCondition</code>.</p> - - - - - - - - - <p>The ViewpointDefinition that has a certain <code>viewpointStakeholder</code>.</p> - - - - - - - - - - - - - - <p>A <code>ViewRenderingMembership</code> is a <coed>FeatureMembership</code> that identifies the <code>viewRendering</code> of a <code>ViewDefinition</code> or <code>ViewUsage</code>.</p> - - - - <p>The <code>referencedRendering</code> of a <code>ViewRenderingMembership</code> is the the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> (which must be a <code>RenderingUsage</code>) of the <code>ownedRendering</code>, if there is one, and, otherwise, the <code>ownedRendering</code> itself.</p> - - - OCL2.0 - referencedRendering = - let referencedFeature : Feature = - ownedRendering.referencedFeatureTarget() in - if referencedFeature = null then ownedRendering - else if referencedFeature.oclIsKindOf(RenderingUsage) then - refrencedFeature.oclAsType(RenderingUsage) - else null - endif endif - - - - - <p>The <code>owningType</code> of a <code>ViewRenderingMembership</code> must be a <code>ViewDefinition</code> or a <code>ViewUsage</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(ViewDefinition) or -owningType.oclIsKindOf(ViewUsage) - - - - - - <p>The owned <code>RenderingUsage</code> that is either itself the <code>referencedRendering</code> or subsets the <code>referencedRendering</code>. - - - - - - - <p> The <code>RenderingUsage</code> that is referenced through this <code>ViewRenderingMembership</code>. It is the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>ownedRendering</code>, if there is one, and, otherwise, the <code>ownedRendering</code> itself.</p> - - - - - - - - - <p>The ViewpointUsage that has a certain <code>viewpointStakeholder</code>.</p> - - - - - - - - - - - - - - <p>A <code>NamespaceExpose</code> is an <code>Expose</code> <code>Relationship</code> that exposes the <code>Memberships</code> of a specific <code>importedNamespace</code> and, if <code>isRecursive = true</code>, additional <code>Memberships</code> recursively.</p> - - - - - - - <p>A <code>MembershipExpose</code> is an <code>Expose</code> <code.Relationship</code> that exposes a specific <code>importedMembership</code> and, if <code>isRecursive = true</code>, additional <code>Memberships</code> recursively.</p> - - - - - - - - - <p>A <code>VerificationCaseDefinition</code> is a <code>CaseDefinition</code> for the purpose of verification of the subject of the case against its requirements.</p> - - - - <p>The <code>verifiedRequirements</code> of a <code>VerificationCaseDefinition</code> are the <code>verifiedRequirements</code> of its <code>RequirementVerificationMemberships</code>.</p> - - - OCL2.0 - verifiedRequirement = - if objectiveRequirement = null then OrderedSet{} - else - objectiveRequirement.featureMembership-> - selectByKind(RequirementVerificationMembership). - verifiedRequirement->asOrderedSet() - endif - - - - - <p>A <code>VerificationCaseDefinition</code> must directly or indirectly specialize the base <code>VerificationCaseDefinition</code> <em><code>VerificationCases::VerificationCase</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('VerificationCases::VerificationCase') - - - - - - <p>The <code>RequirementUsages</code> verified by this <code>VerificationCaseDefinition</code>, which are the <code>verifiedRequirements</code> of all <code>RequirementVerificationMemberships</code> of the <code>objectiveRequirement</code>.</p> - - - - - - - - - <p>The VerificationUsages that are defined by a certain <code>verificationCaseDefinition</code>.</p> - - - - - - - - <p>A <code>VerificationCaseUsage</code> is a </code>Usage</code> of a <code>VerificationCaseDefinition</code>.</p> - - - - <p>The <code>verifiedRequirements</code> of a <code>VerificationCaseUsage</code> are the <code>verifiedRequirements</code> of its <code>RequirementVerificationMemberships</code>.</p> - - - OCL2.0 - verifiedRequirement = - if objectiveRequirement = null then OrderedSet{} - else - objectiveRequirement.featureMembership-> - selectByKind(RequirementVerificationMembership). - verifiedRequirement->asOrderedSet() - endif - - - - - <p>A <code>VerificationCaseUsage</code> must subset, directly or indirectly, the base <code>VerificationCaseUsage</code> <code><em>VerificationCases::verificationCases</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('VerificationCases::verificationCases') - - - - - If it is composite and owned by a <code>VerificationCaseDefinition</code> or <code>VerificationCaseUsage</code>, then it must specialize <code>VerificationCaseUsage</code> <code><em>VerificationCases::VerificationCase::subVerificationCases</code>.</p> - - - OCL2.0 - isComposite and owningType <> null and - (owningType.oclIsKindOf(VerificationCaseDefinition) or - owningType.oclIsKindOf(VerificationCaseUsage)) implies - specializesFromLibrary('VerificationCases::VerificationCase::subVerificationCases') - - - - - - <p>The <code>VerificationCase</code> that is the <code>definition</code> of this <code>VerificationCaseUsage</code>.</p> - - - - - - - <p>The <code>RequirementUsages</code> verified by this <code>VerificationCaseUsage</code>, which are the <code>verifiedRequirements</code> of all <code>RequirementVerificationMemberships</code> of the <code>objectiveRequirement</code>.</p> - - - - - - - - - <p>The RequirementVerificationMembership that owns a certain RequirementUsage as its <code>ownedRequirement</code>.</p> - - - - - - - - <p>A <code>RequirementVerificationMembership</code> is a <code>RequirementConstraintMembership </code> used in the objective of a <code>VerificationCase</code> to identify a <code>RequirementUsage</code> that is verified by the <code>VerificationCase</code>.</p> - - - - <p>A <code>RequirementVerificationMembership</code> must have <code>kind = requirement</code>.</p> - - - OCL2.0 - kind = RequirementConstraintKind::requirement - - - - - <p>The <code>owningType</code> of a <code>RequirementVerificationMembership</code> must a <code>RequirementUsage</code> that is owned by an <code>ObjectiveMembership</code>.</p> - - - OCL2.0 - owningType.oclIsKindOf(RequirementUsage) and -owningType.owningFeatureMembership <> null and -owningType.owningFeatureMembership.oclIsKindOf(ObjectiveMembership) - - - - - - <p>The owned <code>RequirementUsage</code> that acts as the <code>ownedConstraint</code> for this <code>RequirementVerificationMembership</code>. This will either be the <code>verifiedRequirement</code>, or it will subset the <code>verifiedRequirement</code>.</p> - - - - - - - <p>The <code>kind</code> of a <code>RequirementVerificationMembership</code> must be <code>requirement</code>.</p> - - - - - - <p> The <code>RequirementUsage</code> that is identified as being verified. It is the <code>referencedConstraint</code> of the <code>RequirementVerificationMembership</code> considered as a <code>RequirementConstraintMembership</code>, which must be a <code>RequirementUsage</code>.</p> - - - - - - - - - <p>The VerificationCaseUsages that verify a certain <code>verifiedRequirement</code>.</p> - - - - - - - - - <p>The VerificationCaseDefinitions that verify a certain <code>verifiedRequirement</code>.</p> - - - - - - - - - <p>The RequirementVerificationMembership that has a certain RequirementUsage as its <code>verifiedRequirement</code>.</p> - - - - - - - - - - <p>An <code>EnumerationDefinition</code> is an <code>AttributeDefinition</code> all of whose instances are given by an explicit list of <code>enumeratedValues</code>. This is realized by requiring that the <code>EnumerationDefinition</code> have <code>isVariation = true</code>, with the <code>enumeratedValues</code> being its <code>variants</code>.</p> - - - - <p>An <code>EnumerationDefinition</code> must be a variation.</p> - - - OCL2.0 - isVariation - - - - - - <p><code>EnumerationUsages</code> of this <code>EnumerationDefinition</code>that have distinct, fixed values. Each <code>enumeratedValue</code> specifies one of the allowed instances of the <code>EnumerationDefinition</code>.</p> - - - - - - - <p>An EnumerationDefinition is considered semantically to be a variation whose allowed variants are its <code>enumerationValues</code>.</p> - - - - - - - - <p>An <code>EnumerationUsage</code> is an <code>AttributeUsage</code> whose <code>attributeDefinition</code> is an <code>EnumerationDefinition</code>.</p> - - - - - <p>The single EnumerationDefinition that is the type of this EnumerationUsage.</p> - - - - - - - - - <p>The EnumerationDefinition that owns a certain <code>enumeratedValue</code>.</p> - - - - - - - - - <p>The EnumerationUsages that are typed by a certain EnumerationDefinition.</p> - - - - - - - - - - - <p>The AllocationUsages that have a certain AllocationDefinition as their <code>allocationDefinition</code>.</p> - - - - - - - - <p>An <code>AllocationDefinition</code> is a <code>ConnectionDefinition</code> that specifies that some or all of the responsibility to realize the intent of the <code>source</code> is allocated to the <code>target</code> instances. Such allocations define mappings across the various structures and hierarchies of a system model, perhaps as a precursor to more rigorous specifications and implementations. An <code>AllocationDefinition</code> can itself be refined using nested <code>allocations</code> that give a finer-grained decomposition of the containing allocation mapping.</p> - - - - <p> The <code>allocations</code> of an <code>AllocationDefinition</code> are all its <code>usages</code> that are <code>AllocationUsages</code>.</p> - - - OCL2.0 - allocation = usage->selectAsKind(AllocationUsage) - - - - - <p>An <code>AllocationDefinition</code> must directly or indirectly specialize the <code>AllocationDefinition</code> <em><code>Allocations::Allocation</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Allocations::Allocation') - - - - - - <p>The <code>AllocationUsages</code> that refine the allocation mapping defined by this <code>AllocationDefinition</code>.</p> - - - - - - - - <p>An <code>AllocationUsage</code> is a usage of an <code>AllocationDefinition</code> asserting the allocation of the <code>source</code> feature to the <code>target</code> feature.</p> - - - - <p>An <code>AllocationUsage</code> must directly or indirectly specialize the <code>AllocationUsage</code> <em><code>Allocations::allocations</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Allocations::allocations') - - - - - - <p>The <code>AllocationDefinitions</code> that are the types of this <code>AllocationUsage</code>.</p> - - - - - - - - - <p>The AllocationDefinitions that feature a certain <code>allocation</code>.</p> - - - - - - - - - - - <p>The <code>OccurrenceUsage</code> that has a certain <code>individualDefinition</code>.</p> - - - - - - - - <p><code>PortionKind</code> is an enumeration of the specific kinds of <code><em>Occurrence</em></code> portions that can be represented by an <code>OccurrenceUsage</code>.</p> - - - - <p>A time slice of an <code>Occurrence</code> (a portion over time).</p> - - - - - <p>A snapshot of an <code>Occurrence</code> (a time slice with zero duration).</p> - - - - - - <p>An <code>OccurrenceUsage</code> is a <code>Usage</code> whose <code>types</code> are all <code>Classes</code>. Nominally, if a <code>type</code> is an <code>OccurrenceDefinition</code>, an <code>OccurrenceUsage</code> is a <code>Usage</code> of that <code>OccurrenceDefinition</code> within a system. However, other types of Kernel <code>Classes</code> are also allowed, to permit use of <code>Classes</code> from the Kernel Model Libraries.</p> - - - - - <p>The <code>individualDefinition</code> of an <code>OccurrenceUsage</code> is the <code>occurrenceDefinition</code> that is an <code>OccurrenceDefinition</code> with <code>isIndividual = true</code>, if any.</p> - - - OCL2.0 - individualDefinition = - let individualDefinitions : OrderedSet(OccurrenceDefinition) = - occurrenceDefinition-> - selectByKind(OccurrenceDefinition)-> - select(isIndividual) in - if individualDefinitions->isEmpty() then null - else individualDefinitions->first() endif - - - - - <p>If an <code>OccurrenceUsage</code> has <code>isIndividual = true</code>, then it must have an <code>individualDefinition</code>.</p> - - - OCL2.0 - isIndividual implies individualDefinition <> null - - - - - <p>An <code>OccurrenceUsage</code> must directly or indirectly specialize <code><em>Occurrences::occurrences</em></code> from the Kernel Semantic Library.</p> - - - OCL2.0 - specializesFromLibrary('Occurrences::occurrences') - - - - - <p>A composite <code>OccurrenceUsage</code>, whose <code>ownedType</code> is a <code>Class</code>, another <code>OccurrenceUsage</code>, or any kind of <code>Feature</code> typed by a <code>Class</code>, must directly or indirectly specialize <em><code>Occurrences::Occurrence::suboccurrences</code></em>. - - - OCL2.0 - isComposite and -owningType <> null and -(owningType.oclIsKindOf(Class) or - owningType.oclIsKindOf(OccurrenceUsage) or - owningType.oclIsKindOf(Feature) and - owningType.oclAsType(Feature).type-> - exists(oclIsKind(Class))) implies - specializesFromLibrary('Occurrences::Occurrence::suboccurrences') - - - - - <p>An <code>OccurrenceUsage</code> must have at most one <code>occurrenceDefinition</code> with <code>isIndividual = true</code>.</p> - - - OCL2.0 - occurrenceDefinition-> - selectByKind(OccurrenceDefinition)-> - select(isIndividual).size() <= 1 - - - - - <p>If an <code>OccurrenceUsage</code> has <code>portionKind = snapshot</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::snapshots</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - portionKind = PortionKind::snapshot implies - specializesFromLibrary('Occurrences::Occurrence::snapshots') - - - - - <p>If an <code>OccurrenceUsage</code> has <code>portionKind = timeslice</code>, then it must directly or indirectly specialize <em><code>Occurrences::Occurrence::timeSlices</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - portionKind = PortionKind::timeslice implies - specializesFromLibrary('Occurrences::Occurrence::timeSlices') - - - - - <p>If an <code>OccurrenceUsage</code> has a non-null <code>portionKind</code>, then its <code>owningType</code> must be an <code>OccurrenceDefinition</code> or an <code>OccurrenceUsage</code>.</p> - - - OCL2.0 - portionKind <> null implies - owningType <> null and - (owningType.oclIsKindOf(OccurrenceDefinition) or - owningType.oclIsKindOf(OccurrenceUsage)) - - - - - <p>If an <code>OccurrenceUsage</code> has a non-null <code>portionKind</code>, then it must have <code>isPortion = true</code>.</p> - - - OCL2.0 - portionKind <> null implies isPortion - - - - - - <p>The <code>Classes</code> that are the types of this <code>OccurrenceUsage</code>. Nominally, these are <code>OccurrenceDefinitions</code>, but other kinds of kernel <code>Classes</code> are also allowed, to permit use of <code>Classes</code> from the Kernel Model Libraries.</p> - - - - - - - <p>The at most one <code>occurrenceDefinition</code> that has <code>isIndividual = true</code>.</p> - - - - - - - <p>Whether this <code>OccurrenceUsage</code> represents the usage of the specific individual represented by its <code>individualDefinition</code>.</p> - - - - - - - <p>The kind of temporal portion (time slice or snapshot) is represented by this <code>OccurrenceUsage</code>. If <code>portionKind</code> is not null, then the <code>owningType</code> of the <code>OccurrenceUsage</code> must be non-null, and the <code>OccurrenceUsage</code> represents portions of the featuring instance of the <code>owningType</code>.</p> - - - - - - - - - <p>The EventOccurrenceUsages that reference a certain <code>eventOccurrence</code>.</p> - - - - - - - - <p>An <code>OccurrenceDefinition</code> is a <code>Definition</code> of a <code>Class</code> of individuals that have an independent life over time and potentially an extent over space. This includes both structural things and behaviors that act on such structures. If <code>isIndividual</code> is true, then the <code>OccurrenceDefinition</code> is constrained to have (at most) a single instance that is the entire life of a single individual.</p> - - - - <p>An <code>OccurrenceDefinition</code> with <code>isIndividual = true</code> must directly or indirectly specialize <em><code>Occurrences::Life</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - isIndividual implies specializesFromLibrary('Occurrences::Life') - - - - - <p>An <code>OccurrenceDefinition</code> with <code>isIndividual = true</code> must have a <code>multiplicity</code> that specializes <em><code>Base::zeroOrOne</code></em> from the Kernel Semantic Library.</p> - - - OCL2.0 - isIndividual implies - multiplicity <> null and - multiplicity.specializesFromLibrary('Base::zeroOrOne') - - - - - - - <p>Whether this <code>OccurrenceDefinition</code> is constrained to represent at most one thing.</p> - - - - - - - - - <p>The <code>OccurrenceUsages</code> being typed by a certain <code>Class</code>.</p> - - - - - - - - <p>An <code>EventOccurrenceUsage</code> is an <code>OccurrenceUsage</code> that represents another <code>OccurrenceUsage</code> occurring as a <code><em>suboccurrence</em></code> of the containing occurrence of the <code>EventOccurrenceUsage</code>. Unless it is the <code>EventOccurrenceUsage</code> itself, the referenced <code>OccurrenceUsage</code> is related to the <code>EventOccurrenceUsage</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>.</p> - -<p>If the <code>EventOccurrenceUsage</code> is owned by an <code>OccurrenceDefinition</code> or <code>OccurrenceUsage</code>, then it also subsets the <em><code>timeEnclosedOccurrences</code></em> property of the <code>Class</code> <em><code>Occurrence</code></em> from the Kernel Semantic Library model <em><code>Occurrences</code></em>.</p> - - - - <p>If an <code>EventOccurrenceUsage</code> has no <code>ownedReferenceSubsetting</code>, then its <code>eventOccurrence</code> is the <code>EventOccurrenceUsage</code> itself. Otherwise, the <code>eventOccurrence</code> is the <code>featureTarget</code> of the <code>referencedFeature</code> of the <code>ownedReferenceSubsetting</code> (which must be an <code>OccurrenceUsage</code>).</p> - - - OCL2.0 - eventOccurrence = - if referencedFeatureTarget() = null then self - else if referencedFeatureTarget().oclIsKindOf(OccurrenceUsage) then - referencedFeatureTarget().oclAsType(OccurrenceUsage) - else null - endif endif - - - - - <p>If an <code>EventOccurrenceUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be an <code>OccurrenceUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(OccurrenceUsage) - - - - - <p>If an <code>EventOccurrenceUsage</code> has an <code>owningType</code> that is an <code>OccurrenceDefinition</code> or <code>OccurrenceUsage</code>, then it must directly or indirectly specialize the <code>Feature</code> <code><em>Occurrences::Occurrence::timeEnclosedOccurrences</em></code>.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(OccurrenceDefinition) or - owningType.oclIsKindOf(OccurrenceUsage)) implies - specializesFromLibrary('Occurrences::Occurrence::timeEnclosedOccurrences') - - - - - <p>An <code>EventOccurrenceUsage</code> must be referential.</p> - - - OCL2.0 - isReference - - - - - - <p>The <code>OccurrenceUsage</code> referenced as an event by this <code>EventOccurrenceUsage</code>. It is the <code>referenceFeature</code> of the <code>ownedReferenceSubsetting</code> for the <code>EventOccurrenceUsage</code>, if there is one, and, otherwise, the <code>EventOccurrenceUsage</code> itself.</p> - - - - - - - <p>Always true for an <code>EventOccurrenceUsage</code>.</p> - - - - - - - - - - - <p>The UseCaseDefinition that includes a certain <code>includedUseCase</code>.</p> - - - - - - - - - <p>The UseCaseUsage that includes a certain <code>includedUseCase</code>.</p> - - - - - - - - <p>An <code>IncludeUseCaseUsage</code> is a <code>UseCaseUsage</code> that represents the inclusion of a <code>UseCaseUsage</code> by a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code>. Unless it is the <code>IncludeUseCaseUsage</code> itself, the <code>UseCaseUsage</code> to be included is related to the <code>includedUseCase</code> by a <code>ReferenceSubsetting</code> <code>Relationship</code>. An <code>IncludeUseCaseUsage</code> is also a PerformActionUsage, with its <code>useCaseIncluded</code> as the <code>performedAction</code>.</p> - - - - - <p>A <code>IncludeUseCaseUsage</code> whose <code>owningType</code> is a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code> must directly or indirectly specialize the <code>UseCaseUsage</code> <em><code>UseCases::UseCase::includedUseCases</code></em> from the Systems Model Library.</p> - - - OCL2.0 - owningType <> null and -(owningType.oclIsKindOf(UseCaseDefinition) or - owningType.oclIsKindOf(UseCaseUsage) implies - specializesFromLibrary('UseCases::UseCase::includedUseCases') - - - - - <p>If an <code>IncludeUseCaseUsage</code> has an <code>ownedReferenceSubsetting</code>, then the <code>featureTarget</code> of the <code>referencedFeature</code> must be a <code>UseCaseUsage</code>.</p> - - - OCL2.0 - referencedFeatureTarget() <> null implies - referencedFeatureTarget().oclIsKindOf(UseCaseUsage) - - - - - - - <p>The <code>UseCaseUsage</code> to be included by this <code>IncludeUseCaseUsage</code>. It is the <code>performedAction</code> of the <code>IncludeUseCaseUsage</code> considered as a <code>PerformActionUsage</code>, which must be a <code>UseCaseUsage</code>.</p> - - - - - - - - - - <p>The IncludeUseCaseUsages that have a certain UseCaseUsage as their <code>includedUseCase</code>.</p> - - - - - - - - - <p>The UseCaseUsages being typed by a certain UseCaseDefinition.</p> - - - - - - - - <p>A <code>UseCaseUsage</code> is a <code>Usage</code> of a <code>UseCaseDefinition</code>.</p> - - - - <p>The <code>includedUseCases<code> of a <code>UseCaseUsage</code> are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by the <code>UseCaseUsage<code>.</p> - - - OCL2.0 - includedUseCase = ownedUseCase-> - selectByKind(IncludeUseCaseUsage). - useCaseIncluded - - - - - <p>A <code>UseCaseUsage</code> must directly or indirectly specializes the base <code>UseCaseUsage</code> <em><code>UseCases::useCases</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('UseCases::useCases') - - - - - <p>A composite <code>UseCaseUsage</code> whose <code>owningType</code> is a <code>UseCaseDefinition</code> or <code>UseCaseUsage</code> must specialize the <code>UseCaseUsage</code> <em><code>UseCases::UseCase::subUseCases</code></em> from the Systems Model Library.</p> - - - OCL2.0 - isComposite and owningType <> null and -(owningType.oclIsKindOf(UseCaseDefinition) or - owningType.oclIsKindOf(UseCaseUsage)) implies - specializesFromLibrary('UseCases::UseCase::subUseCases') - - - - - - <p>The <code>UseCaseDefinition</code> that is the <code>definition</code> of this <code>UseCaseUsage</code>.</p> - - - - - - - <p>The <code>UseCaseUsages</code> that are included by this <code>UseCaseUse</code>, which are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by this <code>UseCaseUsage<code>.</p> - - - - - - - - <p>A <code>UseCaseDefinition</code> is a <code>CaseDefinition</code> that specifies a set of actions performed by its subject, in interaction with one or more actors external to the subject. The objective is to yield an observable result that is of value to one or more of the actors.</p> - - - - - <p>The <code>includedUseCases<code> of a <code>UseCaseDefinition</code> are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by the <code>UseCaseDefinition<code>.</p> - - - OCL2.0 - includedUseCase = ownedUseCase-> - selectByKind(IncludeUseCaseUsage). - useCaseIncluded - - - - - <p>A <code>UseCaseDefinition</code> must directly or indirectly specializes the base <code>UseCaseDefinition</code> <code><em>UseCases::UseCase</em></code> from the Systems Model Library.</p> - - - - - - OCL2.0 - specializesFromLibrary('UseCases::UseCase') - - - - - - <p>The <code>UseCaseUsages</code> that are included by this <code>UseCaseDefinition</code>, which are the <code>useCaseIncludeds</code> of the <code>IncludeUseCaseUsages</code> owned by this <code>UseCaseDefinition<code>.</p> - - - - - - - - - - - - - - - - <p>A <code>MetadataDefinition</code> is an <code>ItemDefinition</code> that is also a <code>Metaclass</code>.</p> - - - - <p>A <code>MetadataDefinition</code> must directly or indirectly specialize the base <code>MetadataDefinition</code> <code><em>Metadata::MetadataItem</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Metadata::MetadataItem') - - - - - - - - <p>A <code>MetadataUsage</code> is a <code>Usage</code> and a <code>MetadataFeature</code>, used to annotate other <code>Elements</code> in a system model with metadata. As a <code>MetadataFeature</code>, its type must be a <code>Metaclass</code>, which will nominally be a <code>MetadataDefinition</code>. However, any kernel <code>Metaclass</code> is also allowed, to permit use of <code>Metaclasses</code> from the Kernel Model Libraries.</p> - - - - <p>A <code>MetadataUsage</code> must directly or indirectly specialize the base <code>MetadataUsage</code> <code><em>Metadata::metadataItems</em></code> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Metadata::metadataItems') - - - - - - - <p>The <code>MetadataDefinition</code> that is the <code>definition</code> of this <code>MetadataUsage</code>.</p> - - - - - - - - - - <p>A <code>FlowUsage</code> is an <code>ActionUsage</code> that is also a <code>ConnectorAsUsage</code> and a KerML <code>Flow</code>.</p> - - - - <p>A <code>FlowUsage</code> must directly or indirectly specialize the base <code>FlowUsage</code> <em><code>Flows::messages</code></em> from the Systems Library model.</p> - - - OCL2.0 - specializesFromLibrary('Flows::messages') - - - - - <p>If a <code>FlowUsage</code> has <code>ownedEndFeatures</code>, it must directly or indirectly specialize the <code>FlowUsage</code> <em><code>Flows::flows</code></em> from the Systems Model Library.</p> - - - OCL2.0 - ownedEndFeatures->notEmpty() implies - specializesFromLibrary('Flows::flows') - - - - - - - - <p>The <code>Interactions</code> that are the <code>types</code> of this <code>FlowUsage</code>. Nominally, these are <code>FlowDefinitions</code>, but other kinds of Kernel <code>Interactions</code> are also allowed, to permit use of Interactions from the Kernel Model Libraries.</p> - - - - - - - - <p>A <code>FlowDefinition</code> is an <code>ActionDefinition</code> that is also an <code>Interaction</code> (which is both a KerML <code>Behavior</code> and <code>Association</code>), representing flows between <code>Usages</code>.</p> - - - - <p>A <code>FlowDefinition</code> must directly or indirectly specialize the base <code>FlowDefinition</code> <em><code>Flows::MessageAction</code></em> from the Systems Model Library.</p> - - - OCL2.0 - specializesFromLibrary('Flows::MessageAction') - - - - - <p>A binary <code>FlowDefinition</code> must directly or indirectly specialize the base <code>FlowDefinition<code> <em><code>Flows::Message</code></em> from the Systems Model Library.</p> - - - OCL2.0 - flowEnd->size() = 2 implies - specializesFromLibrary('Flows::Message') - - - - - <p>A <code>FlowDefinition</code> may not have more than two <code>flowEnds</code>.</p> - - - OCL2.0 - flowEnd->size() <= 2 - - - - - - - <p>The <code>Usages</code> that define the things related by the <code>FlowDefinition</code>.</p> - - - - - - - - - <p>The <code>FlowDefinitions<code> that have a certain Usage as <code>flowEnd</code>.</p> - - - - - - - - - <p>The <code>FlowUsages<code> that have a certain <code>Interaction</code> as their <code>flowDefinition</code>.</p> - - - - - - - - <p>A <code>SuccessionFlowUsage</code> is a <code>FlowUsage</code> that is also a KerML <code>SuccessionFlow</code>.</p> - - - - <p>A <code>SuccessionFlowUsage</code> must directly or indirectly specialize the base <code>FlowUsage</code> <em><code>Flows::successionFlows</code></em> from the Systems Library model.</p> - - - OCL2.0 - specializesFromLibrary('Flows::successionFlows') - - - - - - - - diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/AnnotatingElementDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/AnnotatingElementDeSerializer.cs index 67998a82..0e943d89 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/AnnotatingElementDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/AnnotatingElementDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/AssociationDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/AssociationDeSerializer.cs index 1796bf29..d91f1390 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/AssociationDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/AssociationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/DependencyDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/DependencyDeSerializer.cs index d3ed6f76..6438a957 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/DependencyDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/DependencyDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/EnumerationDefinitionDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/EnumerationDefinitionDeSerializer.cs index f0bc57b7..72d1a73e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/EnumerationDefinitionDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/EnumerationDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FeatureDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FeatureDeSerializer.cs index 728a9e05..82e40e6c 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FeatureDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FeatureDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FeatureTypingDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FeatureTypingDeSerializer.cs index 497a5431..72aeb27b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FeatureTypingDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FeatureTypingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FlowDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FlowDeSerializer.cs index 08a0df40..5402cd39 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FlowDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FlowDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FramedConcernMembershipDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FramedConcernMembershipDeSerializer.cs index 13c3b7cc..14333553 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FramedConcernMembershipDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/FramedConcernMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/LiteralIntegerDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/LiteralIntegerDeSerializer.cs index 739e06ad..ad986a06 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/LiteralIntegerDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/LiteralIntegerDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/LiteralRationalDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/LiteralRationalDeSerializer.cs index d8eff5ac..384941b8 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/LiteralRationalDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/LiteralRationalDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/MembershipDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/MembershipDeSerializer.cs index 137edaca..741e8aa4 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/MembershipDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/MembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/MultiplicityRangeDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/MultiplicityRangeDeSerializer.cs index e8913806..f1d6a5e2 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/MultiplicityRangeDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/MultiplicityRangeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/OwningMembershipDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/OwningMembershipDeSerializer.cs index 1a5f810a..608e6791 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/OwningMembershipDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/OwningMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/ReferenceSubsettingDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/ReferenceSubsettingDeSerializer.cs index c70f929a..c02029ed 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/ReferenceSubsettingDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/ReferenceSubsettingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/RequirementUsageDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/RequirementUsageDeSerializer.cs index c0a6a250..8db6344f 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/RequirementUsageDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/RequirementUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/SelectExpressionDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/SelectExpressionDeSerializer.cs index 0190c692..2ea8b83d 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/SelectExpressionDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/SelectExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/SubclassificationDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/SubclassificationDeSerializer.cs index 58d3012d..91df7425 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/SubclassificationDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/SubclassificationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/TextualRepresentationDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/TextualRepresentationDeSerializer.cs index 73b7f5ea..67cd1faf 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/TextualRepresentationDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/TextualRepresentationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/UsageDeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/UsageDeSerializer.cs index 98d8977c..a8e756ea 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/UsageDeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDeSerializer/UsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/AnnotatingElement.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/AnnotatingElement.cs index 4bbf43d3..a7d9b1d5 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/AnnotatingElement.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/AnnotatingElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Association.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Association.cs index b62458f2..0591208e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Association.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Association.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -235,11 +235,11 @@ public partial class Association : IAssociation /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Dependency.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Dependency.cs index 6fc59c13..8e5c3a9e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Dependency.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Dependency.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,8 +34,9 @@ namespace SysML2.NET.Core.DTO.Root.Dependencies /// /// A Dependency is a Relationship that indicates that one or more client Elements require one more /// supplier Elements for their complete specification. In general, this means that a change to one of - /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note - /// that a Dependency is entirely a model-level Relationship, without instance-level semantics. + /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements. + /// Note that a Dependency is entirely a model-level Relationship, without + /// instance-level semantics. /// [Class(xmiId: "_19_0_2_12e503d9_1594006219028_628649_74", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/EnumerationDefinition.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/EnumerationDefinition.cs index 9eb01776..f510f290 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/EnumerationDefinition.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/EnumerationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -97,7 +97,6 @@ public partial class EnumerationDefinition : IEnumerationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -233,11 +232,11 @@ public partial class EnumerationDefinition : IEnumerationDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -644,7 +643,6 @@ bool Systems.DefinitionAndUsage.IDefinition.IsVariation /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Feature.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Feature.cs index 90329563..ee6fb8c6 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Feature.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Feature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,18 +36,19 @@ namespace SysML2.NET.Core.DTO.Core.Features /// A Feature is a Type that classifies relations between multiple things (in the universe). The domain /// of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature /// with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic - /// Library.) The co-domain of the relation is the intersection of the types of the Feature.In the - /// simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one - /// from the domain and one from the range. Examples include cars paired with wheels, people paired with - /// other people, and cars paired with numbers representing the car length.Since Features are Types, - /// their featuringTypes and types can be Features. In this case, the Feature effectively classifies - /// relations between relations, which can be interpreted as the sequence of things related by the - /// domain Feature concatenated with the sequence of things related by the co-domain Feature.The values - /// of a Feature for a given instance of its domain are all the instances of its co-domain that are - /// related to that domain instance by the Feature. The values of a Feature with chainingFeatures are - /// the same as values of the last Feature in the chain, which can be found by starting with values of - /// the first Feature, then using those values as domain instances to obtain valus of the second - /// Feature, and so on, to values of the last Feature. + /// Library.) The co-domain of the relation is the intersection of the types of the Feature. + /// In the simplest cases, the featuringTypes and types are Classifiers and the Feature + /// relates two things, one from the domain and one from the range. Examples include cars paired with + /// wheels, people paired with other people, and cars paired with numbers representing the car length. + /// Since Features are Types, their featuringTypes and types can be Features. In + /// this case, the Feature effectively classifies relations between relations, which can be interpreted + /// as the sequence of things related by the domain Feature concatenated with the sequence of things + /// related by the co-domain Feature. The values of a Feature for a given + /// instance of its domain are all the instances of its co-domain that are related to that domain + /// instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the + /// last Feature in the chain, which can be found by starting with values of the first Feature, then + /// using those values as domain instances to obtain valus of the second Feature, and so on, to values + /// of the last Feature. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651684_893483_42160", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -338,11 +339,11 @@ public partial class Feature : IFeature /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/FeatureTyping.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/FeatureTyping.cs index ffa0795f..0a9bc560 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/FeatureTyping.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/FeatureTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Flow.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Flow.cs index d45b44be..291fb075 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Flow.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Flow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -391,11 +391,11 @@ public partial class Flow : IFlow /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/FramedConcernMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/FramedConcernMembership.cs index fdf66bc9..8a8fa750 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/FramedConcernMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/FramedConcernMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IAnnotatingElement.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IAnnotatingElement.cs index 6c86eadf..626377a1 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IAnnotatingElement.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IAnnotatingElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IAssociation.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IAssociation.cs index eb072d32..283bf03d 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IAssociation.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IAssociation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IDependency.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IDependency.cs index 1f73ed0f..8b39fda3 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IDependency.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IDependency.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,8 +34,9 @@ namespace SysML2.NET.Core.DTO.Root.Dependencies /// /// A Dependency is a Relationship that indicates that one or more client Elements require one more /// supplier Elements for their complete specification. In general, this means that a change to one of - /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note - /// that a Dependency is entirely a model-level Relationship, without instance-level semantics. + /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements. + /// Note that a Dependency is entirely a model-level Relationship, without + /// instance-level semantics. /// [Class(xmiId: "_19_0_2_12e503d9_1594006219028_628649_74", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IElement.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IElement.cs index fe2792cc..5015db54 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IElement.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IEnumerationDefinition.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IEnumerationDefinition.cs index d92a8148..5e4a215d 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IEnumerationDefinition.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IEnumerationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFeature.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFeature.cs index 3f881d40..e9d27138 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFeature.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,18 +36,19 @@ namespace SysML2.NET.Core.DTO.Core.Features /// A Feature is a Type that classifies relations between multiple things (in the universe). The domain /// of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature /// with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic - /// Library.) The co-domain of the relation is the intersection of the types of the Feature.In the - /// simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one - /// from the domain and one from the range. Examples include cars paired with wheels, people paired with - /// other people, and cars paired with numbers representing the car length.Since Features are Types, - /// their featuringTypes and types can be Features. In this case, the Feature effectively classifies - /// relations between relations, which can be interpreted as the sequence of things related by the - /// domain Feature concatenated with the sequence of things related by the co-domain Feature.The values - /// of a Feature for a given instance of its domain are all the instances of its co-domain that are - /// related to that domain instance by the Feature. The values of a Feature with chainingFeatures are - /// the same as values of the last Feature in the chain, which can be found by starting with values of - /// the first Feature, then using those values as domain instances to obtain valus of the second - /// Feature, and so on, to values of the last Feature. + /// Library.) The co-domain of the relation is the intersection of the types of the Feature. + /// In the simplest cases, the featuringTypes and types are Classifiers and the Feature + /// relates two things, one from the domain and one from the range. Examples include cars paired with + /// wheels, people paired with other people, and cars paired with numbers representing the car length. + /// Since Features are Types, their featuringTypes and types can be Features. In + /// this case, the Feature effectively classifies relations between relations, which can be interpreted + /// as the sequence of things related by the domain Feature concatenated with the sequence of things + /// related by the co-domain Feature. The values of a Feature for a given + /// instance of its domain are all the instances of its co-domain that are related to that domain + /// instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the + /// last Feature in the chain, which can be found by starting with values of the first Feature, then + /// using those values as domain instances to obtain valus of the second Feature, and so on, to values + /// of the last Feature. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651684_893483_42160", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFeatureTyping.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFeatureTyping.cs index e4b3415f..da113ebd 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFeatureTyping.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFeatureTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFlow.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFlow.cs index eb6ba8ae..cfdd7aa2 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFlow.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFlow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFramedConcernMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFramedConcernMembership.cs index 75b68861..dffe1583 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFramedConcernMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IFramedConcernMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ILiteralInteger.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ILiteralInteger.cs index 509e7d09..b1cfb05f 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ILiteralInteger.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ILiteralInteger.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ILiteralRational.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ILiteralRational.cs index 6264c8fe..30aa90ae 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ILiteralRational.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ILiteralRational.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IMembership.cs index cd31dbfc..4767743b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,10 +36,11 @@ namespace SysML2.NET.Core.DTO.Root.Namespaces /// A Membership is a Relationship between a Namespace and an Element that indicates the Element is a /// member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is /// identified in the Namespace and the visibility specifies whether or not the memberElement is - /// publicly visible from outside the Namespace.If a Membership is an OwningMembership, then it owns its - /// memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the - /// memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an - /// Element with a separate OwningMembership in the same or a different Namespace. + /// publicly visible from outside the Namespace. If a Membership is an + /// OwningMembership, then it owns its memberElement, which becomes an ownedMember of the + /// membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within + /// the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a + /// different Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651680_888716_42152", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IMultiplicityRange.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IMultiplicityRange.cs index 5db88b13..427b66de 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IMultiplicityRange.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IMultiplicityRange.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IOwningMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IOwningMembership.cs index 6246fae2..b31225e2 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IOwningMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IOwningMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IReferenceSubsetting.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IReferenceSubsetting.cs index 9ecb44c5..4fc07e3c 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IReferenceSubsetting.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IReferenceSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,8 +35,8 @@ namespace SysML2.NET.Core.DTO.Core.Features /// distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the /// same semantics as Subsetting, but the referencedFeature may have a special purpose relative to the /// referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a - /// Connector.ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature - /// can have at most one ownedReferenceSubsetting. + /// Connector. ReferenceSubsetting is always an ownedRelationship of its + /// referencingFeature. A Feature can have at most one ownedReferenceSubsetting. /// [Class(xmiId: "_19_0_4_12e503d9_1661554793960_500657_60", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IRelationship.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IRelationship.cs index e8d5a9ec..10380dee 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IRelationship.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IRelationship.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,14 +35,14 @@ namespace SysML2.NET.Core.DTO.Root.Elements /// in which case those ownedRelatedElements will be deleted from a model if their owningRelationship /// is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of /// the Relationship are also considered to be transitively owned by the owningRelatedElement of the - /// Relationship.The relatedElements of a Relationship are divided into source and target Elements. The - /// Relationship is considered to be directed from the source to the target Elements. An undirected - /// Relationship may have either all source or all target Elements.A "relationship Element" in - /// the abstract syntax is generically any Element that is an instance of either Relationship or a - /// direct or indirect specialization of Relationship. Any other kind of Element is a - /// "non-relationship Element". It is a convention of that non-relationship Elements are only - /// related via reified relationship Elements. Any meta-associations directly between non-relationship - /// Elements must be derived from underlying reified Relationship. + /// Relationship. The relatedElements of a Relationship are divided into source + /// and target Elements. The Relationship is considered to be directed from the source to the target + /// Elements. An undirected Relationship may have either all source or all target Elements. + /// A "relationship Element" in the abstract syntax is generically any Element that + /// is an instance of either Relationship or a direct or indirect specialization of Relationship. Any + /// other kind of Element is a "non-relationship Element". It is a convention of that + /// non-relationship Elements are only related via reified relationship Elements. Any meta-associations + /// directly between non-relationship Elements must be derived from underlying reified Relationship. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651700_869737_42192", isAbstract: true, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IRequirementUsage.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IRequirementUsage.cs index d7ff1ae5..7191dfe2 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IRequirementUsage.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IRequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -45,7 +45,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List actorParameter { get; } /// @@ -95,7 +94,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List stakeholderParameter { get; } /// @@ -103,7 +101,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] Guid subjectParameter { get; } /// diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ISelectExpression.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ISelectExpression.cs index e7b1f99d..79a5c53e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ISelectExpression.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ISelectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ISubclassification.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ISubclassification.cs index aeb84941..9f2b5f63 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ISubclassification.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ISubclassification.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ITextualRepresentation.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ITextualRepresentation.cs index 58e630bb..9605a169 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ITextualRepresentation.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ITextualRepresentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,26 +35,30 @@ namespace SysML2.NET.Core.DTO.Root.Annotations /// given language. The representedElement must be the owner of the TextualRepresentation. The named /// language can be a natural language, in which case the body is an informal representation, or an /// artificial language, in which case the body is expected to be a formal, machine-parsable - /// representation.If the named language of a TextualRepresentation is machine-parsable, then the body - /// text should be legal input text as defined for that language. The interpretation of the named - /// language string shall be case insensitive. The following language names are defined to correspond to - /// the given standard languages:
kerml Kernel Modeling Language
ocl Object Constraint - /// Language
alf Action Language for fUML
Other specifications may - /// define specific language strings, other than those shown above, to be used to indicate the use of - /// languages from those specifications in KerML TextualRepresentation.If the language of a - /// TextualRepresentation is "kerml", then the body text shall be a legal representation of - /// the representedElement in the KerML textual concrete syntax. A conforming tool can use such a - /// TextualRepresentation Annotation to record the original KerML concrete syntax text from which an - /// Element was parsed. In this case, it is a tool responsibility to ensure that the body of the - /// TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element - /// changes other than by re-parsing the body text.An Element with a TextualRepresentation in a language - /// other than KerML is essentially a semantically "opaque" Element specified in the other - /// language. However, a conforming KerML tool may interpret such an element consistently with the - /// specification of the named language. + /// representation. If the named language of a TextualRepresentation is + /// machine-parsable, then the body text should be legal input text as defined for that language. The + /// interpretation of the named language string shall be case insensitive. The following language names + /// are defined to correspond to the given standard languages: + /// + /// + /// + /// + ///
kerml Kernel Modeling Language
ocl Object Constraint Language
alfAction Language for fUML
Other + /// specifications may define specific language strings, other than those shown above, to be used to + /// indicate the use of languages from those specifications in KerML TextualRepresentation. + /// If the language of a TextualRepresentation is "kerml", then the body text shall + /// be a legal representation of the representedElement in the KerML textual concrete syntax. A + /// conforming tool can use such a TextualRepresentation Annotation to record the original KerML + /// concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to + /// ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if + /// the annotated Element changes other than by re-parsing the body text. An + /// Element with a TextualRepresentation in a language other than KerML is essentially a semantically + /// "opaque" Element specified in the other language. However, a conforming KerML tool may + /// interpret such an element consistently with the specification of the named language. ///
[Class(xmiId: "_19_0_2_12e503d9_1594152214531_455349_2448", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IUsage.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IUsage.cs index 8066841a..85a4a124 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IUsage.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/IUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,13 +33,14 @@ namespace SysML2.NET.Core.DTO.Systems.DefinitionAndUsage using SysML2.NET.Decorators; /// - /// A Usage is a usage of a Definition.A Usage may have nestedUsages that model features that apply in - /// the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no - /// semantic significance, other than the nested scoping resulting from the Usage being considered as a - /// Namespace for any nested Definitions.However, if a Usage has isVariation = true, then it represents - /// a variation point Usage. In this case, all of its members must be variant Usages, related to the - /// Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages - /// model different concrete alternatives that can be chosen to fill in for the variation point Usage. + /// A Usage is a usage of a Definition. A Usage may have nestedUsages that model + /// features that apply in the context of the owningUsage. A Usage may also have Definitions nested in + /// it, but this has no semantic significance, other than the nested scoping resulting from the Usage + /// being considered as a Namespace for any nested Definitions. However, if a + /// Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its + /// members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than + /// being features of the Usage, variant Usages model different concrete alternatives that can be chosen + /// to fill in for the variation point Usage. /// [Class(xmiId: "_18_5_3_12e503d9_1565469997820_598571_19982", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -59,7 +60,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List directedUsage { get; } /// @@ -79,9 +79,9 @@ public partial interface IUsage : IFeature /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -248,7 +248,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List nestedUsage { get; } /// @@ -284,7 +283,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] Guid? owningDefinition { get; } /// diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/LiteralInteger.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/LiteralInteger.cs index 717555db..57ee46ff 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/LiteralInteger.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/LiteralInteger.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class LiteralInteger : ILiteralInteger /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/LiteralRational.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/LiteralRational.cs index 9affbd27..e25e7f09 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/LiteralRational.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/LiteralRational.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class LiteralRational : ILiteralRational /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Membership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Membership.cs index 6dc6ae7a..cb4cb6b5 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Membership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Membership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,10 +36,11 @@ namespace SysML2.NET.Core.DTO.Root.Namespaces /// A Membership is a Relationship between a Namespace and an Element that indicates the Element is a /// member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is /// identified in the Namespace and the visibility specifies whether or not the memberElement is - /// publicly visible from outside the Namespace.If a Membership is an OwningMembership, then it owns its - /// memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the - /// memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an - /// Element with a separate OwningMembership in the same or a different Namespace. + /// publicly visible from outside the Namespace. If a Membership is an + /// OwningMembership, then it owns its memberElement, which becomes an ownedMember of the + /// membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within + /// the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a + /// different Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651680_888716_42152", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/MultiplicityRange.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/MultiplicityRange.cs index 3c07b9a2..3e0efd9a 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/MultiplicityRange.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/MultiplicityRange.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -339,11 +339,11 @@ public partial class MultiplicityRange : IMultiplicityRange /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/OwningMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/OwningMembership.cs index 2cd617ba..e982a4b1 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/OwningMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/OwningMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ReferenceSubsetting.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ReferenceSubsetting.cs index f9b0888d..b5b00b4e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ReferenceSubsetting.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/ReferenceSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,8 +35,8 @@ namespace SysML2.NET.Core.DTO.Core.Features /// distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the /// same semantics as Subsetting, but the referencedFeature may have a special purpose relative to the /// referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a - /// Connector.ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature - /// can have at most one ownedReferenceSubsetting. + /// Connector. ReferenceSubsetting is always an ownedRelationship of its + /// referencingFeature. A Feature can have at most one ownedReferenceSubsetting. /// [Class(xmiId: "_19_0_4_12e503d9_1661554793960_500657_60", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/RequirementUsage.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/RequirementUsage.cs index b9673d0e..5986706c 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/RequirementUsage.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/RequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -52,7 +52,6 @@ public partial class RequirementUsage : IRequirementUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -178,7 +177,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -442,11 +440,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -484,9 +482,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -712,7 +710,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -996,7 +993,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1145,7 +1141,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter { get; internal set; } = []; @@ -1154,7 +1149,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/SelectExpression.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/SelectExpression.cs index 67ce8a2d..7b97786f 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/SelectExpression.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/SelectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,8 +56,8 @@ public partial class SelectExpression : ISelectExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -368,11 +368,11 @@ public partial class SelectExpression : ISelectExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Subclassification.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Subclassification.cs index f9e87666..ea313671 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Subclassification.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Subclassification.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/TextualRepresentation.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/TextualRepresentation.cs index 8e31e69b..fb0a72df 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/TextualRepresentation.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/TextualRepresentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,26 +35,30 @@ namespace SysML2.NET.Core.DTO.Root.Annotations /// given language. The representedElement must be the owner of the TextualRepresentation. The named /// language can be a natural language, in which case the body is an informal representation, or an /// artificial language, in which case the body is expected to be a formal, machine-parsable - /// representation.If the named language of a TextualRepresentation is machine-parsable, then the body - /// text should be legal input text as defined for that language. The interpretation of the named - /// language string shall be case insensitive. The following language names are defined to correspond to - /// the given standard languages:
kerml Kernel Modeling Language
ocl Object Constraint - /// Language
alf Action Language for fUML
Other specifications may - /// define specific language strings, other than those shown above, to be used to indicate the use of - /// languages from those specifications in KerML TextualRepresentation.If the language of a - /// TextualRepresentation is "kerml", then the body text shall be a legal representation of - /// the representedElement in the KerML textual concrete syntax. A conforming tool can use such a - /// TextualRepresentation Annotation to record the original KerML concrete syntax text from which an - /// Element was parsed. In this case, it is a tool responsibility to ensure that the body of the - /// TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element - /// changes other than by re-parsing the body text.An Element with a TextualRepresentation in a language - /// other than KerML is essentially a semantically "opaque" Element specified in the other - /// language. However, a conforming KerML tool may interpret such an element consistently with the - /// specification of the named language. + /// representation. If the named language of a TextualRepresentation is + /// machine-parsable, then the body text should be legal input text as defined for that language. The + /// interpretation of the named language string shall be case insensitive. The following language names + /// are defined to correspond to the given standard languages: + /// + /// + /// + /// + ///
kerml Kernel Modeling Language
ocl Object Constraint Language
alfAction Language for fUML
Other + /// specifications may define specific language strings, other than those shown above, to be used to + /// indicate the use of languages from those specifications in KerML TextualRepresentation. + /// If the language of a TextualRepresentation is "kerml", then the body text shall + /// be a legal representation of the representedElement in the KerML textual concrete syntax. A + /// conforming tool can use such a TextualRepresentation Annotation to record the original KerML + /// concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to + /// ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if + /// the annotated Element changes other than by re-parsing the body text. An + /// Element with a TextualRepresentation in a language other than KerML is essentially a semantically + /// "opaque" Element specified in the other language. However, a conforming KerML tool may + /// interpret such an element consistently with the specification of the named language. /// [Class(xmiId: "_19_0_2_12e503d9_1594152214531_455349_2448", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Usage.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Usage.cs index 5b6750c1..00f335fc 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Usage.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenDto/Usage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,13 +33,14 @@ namespace SysML2.NET.Core.DTO.Systems.DefinitionAndUsage using SysML2.NET.Decorators; /// - /// A Usage is a usage of a Definition.A Usage may have nestedUsages that model features that apply in - /// the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no - /// semantic significance, other than the nested scoping resulting from the Usage being considered as a - /// Namespace for any nested Definitions.However, if a Usage has isVariation = true, then it represents - /// a variation point Usage. In this case, all of its members must be variant Usages, related to the - /// Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages - /// model different concrete alternatives that can be chosen to fill in for the variation point Usage. + /// A Usage is a usage of a Definition. A Usage may have nestedUsages that model + /// features that apply in the context of the owningUsage. A Usage may also have Definitions nested in + /// it, but this has no semantic significance, other than the nested scoping resulting from the Usage + /// being considered as a Namespace for any nested Definitions. However, if a + /// Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its + /// members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than + /// being features of the Usage, variant Usages model different concrete alternatives that can be chosen + /// to fill in for the variation point Usage. /// [Class(xmiId: "_18_5_3_12e503d9_1565469997820_598571_19982", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -134,7 +135,6 @@ public partial class Usage : IUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -356,11 +356,11 @@ public partial class Usage : IUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -398,9 +398,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -626,7 +626,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -900,7 +899,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/AnnotatingElementFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/AnnotatingElementFactory.cs index 0a0ec1ca..e88e2eea 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/AnnotatingElementFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/AnnotatingElementFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/AssociationFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/AssociationFactory.cs index d9e039f3..e4e2315a 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/AssociationFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/AssociationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/DependencyFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/DependencyFactory.cs index 4bee4607..0b9c1a35 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/DependencyFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/DependencyFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/EnumerationDefinitionFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/EnumerationDefinitionFactory.cs index 7f993eb0..a0931e7e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/EnumerationDefinitionFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/EnumerationDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FeatureFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FeatureFactory.cs index 56bf9e2d..53d8b175 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FeatureFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FeatureFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FeatureTypingFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FeatureTypingFactory.cs index 08a26cb9..e0290ccc 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FeatureTypingFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FeatureTypingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FlowFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FlowFactory.cs index cc1ef85c..251b6973 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FlowFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FlowFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FramedConcernMembershipFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FramedConcernMembershipFactory.cs index a07d0818..2bb97648 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FramedConcernMembershipFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/FramedConcernMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/LiteralIntegerFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/LiteralIntegerFactory.cs index 207a5c17..f04c9a37 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/LiteralIntegerFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/LiteralIntegerFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/LiteralRationalFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/LiteralRationalFactory.cs index 20fb464b..52fed8ea 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/LiteralRationalFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/LiteralRationalFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/MembershipFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/MembershipFactory.cs index c53a28b8..633df78b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/MembershipFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/MembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/MultiplicityRangeFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/MultiplicityRangeFactory.cs index 298206af..457ac143 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/MultiplicityRangeFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/MultiplicityRangeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/OwningMembershipFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/OwningMembershipFactory.cs index a50e2c57..e21a4137 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/OwningMembershipFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/OwningMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/ReferenceSubsettingFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/ReferenceSubsettingFactory.cs index 5d12d718..43dd0f22 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/ReferenceSubsettingFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/ReferenceSubsettingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/RequirementUsageFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/RequirementUsageFactory.cs index 4b2fd591..7601e323 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/RequirementUsageFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/RequirementUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/SelectExpressionFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/SelectExpressionFactory.cs index 38eb4b72..5a7027e5 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/SelectExpressionFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/SelectExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/SubclassificationFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/SubclassificationFactory.cs index 3276cb3c..623daa1f 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/SubclassificationFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/SubclassificationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/TextualRepresentationFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/TextualRepresentationFactory.cs index 3a286d19..00655d35 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/TextualRepresentationFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/TextualRepresentationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/UsageFactory.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/UsageFactory.cs index a5a1bb8f..c78e9f15 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/UsageFactory.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenElementFactory/UsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnum/TransitionFeatureKind.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnum/TransitionFeatureKind.cs index 11c7a014..8cbeed5a 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnum/TransitionFeatureKind.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnum/TransitionFeatureKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnum/VisibilityKind.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnum/VisibilityKind.cs index e47b71ea..2d7611fa 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnum/VisibilityKind.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnum/VisibilityKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnumProvider/TransitionFeatureKindProvider.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnumProvider/TransitionFeatureKindProvider.cs index 6f2444e8..f5ffa038 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnumProvider/TransitionFeatureKindProvider.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnumProvider/TransitionFeatureKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnumProvider/VisibilityKindProvider.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnumProvider/VisibilityKindProvider.cs index 59a7f681..9868846b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnumProvider/VisibilityKindProvider.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenEnumProvider/VisibilityKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/AnnotatingElement.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/AnnotatingElement.cs index f743d7fd..8da41d1b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/AnnotatingElement.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/AnnotatingElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Association.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Association.cs index 7e843483..8cb750bc 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Association.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Association.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -240,11 +240,11 @@ public partial class Association : IAssociation /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Dependency.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Dependency.cs index ded1b9ed..6dd12804 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Dependency.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Dependency.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,8 +37,9 @@ namespace SysML2.NET.Core.POCO.Root.Dependencies /// /// A Dependency is a Relationship that indicates that one or more client Elements require one more /// supplier Elements for their complete specification. In general, this means that a change to one of - /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note - /// that a Dependency is entirely a model-level Relationship, without instance-level semantics. + /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements. + /// Note that a Dependency is entirely a model-level Relationship, without + /// instance-level semantics. /// [Class(xmiId: "_19_0_2_12e503d9_1594006219028_628649_74", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/EnumerationDefinition.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/EnumerationDefinition.cs index db2e84b9..3182f853 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/EnumerationDefinition.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/EnumerationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -124,7 +124,6 @@ public partial class EnumerationDefinition : IEnumerationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -260,11 +259,11 @@ public partial class EnumerationDefinition : IEnumerationDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -671,7 +670,6 @@ bool Systems.DefinitionAndUsage.IDefinition.IsVariation /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Feature.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Feature.cs index 9c1d526d..19f0a5f6 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Feature.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Feature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,18 +40,19 @@ namespace SysML2.NET.Core.POCO.Core.Features /// A Feature is a Type that classifies relations between multiple things (in the universe). The domain /// of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature /// with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic - /// Library.) The co-domain of the relation is the intersection of the types of the Feature.In the - /// simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one - /// from the domain and one from the range. Examples include cars paired with wheels, people paired with - /// other people, and cars paired with numbers representing the car length.Since Features are Types, - /// their featuringTypes and types can be Features. In this case, the Feature effectively classifies - /// relations between relations, which can be interpreted as the sequence of things related by the - /// domain Feature concatenated with the sequence of things related by the co-domain Feature.The values - /// of a Feature for a given instance of its domain are all the instances of its co-domain that are - /// related to that domain instance by the Feature. The values of a Feature with chainingFeatures are - /// the same as values of the last Feature in the chain, which can be found by starting with values of - /// the first Feature, then using those values as domain instances to obtain valus of the second - /// Feature, and so on, to values of the last Feature. + /// Library.) The co-domain of the relation is the intersection of the types of the Feature. + /// In the simplest cases, the featuringTypes and types are Classifiers and the Feature + /// relates two things, one from the domain and one from the range. Examples include cars paired with + /// wheels, people paired with other people, and cars paired with numbers representing the car length. + /// Since Features are Types, their featuringTypes and types can be Features. In + /// this case, the Feature effectively classifies relations between relations, which can be interpreted + /// as the sequence of things related by the domain Feature concatenated with the sequence of things + /// related by the co-domain Feature. The values of a Feature for a given + /// instance of its domain are all the instances of its co-domain that are related to that domain + /// instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the + /// last Feature in the chain, which can be found by starting with values of the first Feature, then + /// using those values as domain instances to obtain valus of the second Feature, and so on, to values + /// of the last Feature. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651684_893483_42160", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -342,11 +343,11 @@ public partial class Feature : IFeature /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/FeatureTyping.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/FeatureTyping.cs index 9bfc9e11..90b729d5 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/FeatureTyping.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/FeatureTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Flow.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Flow.cs index e1463d10..339a691e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Flow.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Flow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -399,11 +399,11 @@ public partial class Flow : IFlow /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/FramedConcernMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/FramedConcernMembership.cs index 6aea3cc1..c3bb9fd4 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/FramedConcernMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/FramedConcernMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IAnnotatingElement.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IAnnotatingElement.cs index 92e9d897..2646b566 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IAnnotatingElement.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IAnnotatingElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IAssociation.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IAssociation.cs index 7c99bafc..7d9aa226 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IAssociation.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IAssociation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IDependency.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IDependency.cs index 903139fd..3ce8f523 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IDependency.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IDependency.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,8 +36,9 @@ namespace SysML2.NET.Core.POCO.Root.Dependencies /// /// A Dependency is a Relationship that indicates that one or more client Elements require one more /// supplier Elements for their complete specification. In general, this means that a change to one of - /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note - /// that a Dependency is entirely a model-level Relationship, without instance-level semantics. + /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements. + /// Note that a Dependency is entirely a model-level Relationship, without + /// instance-level semantics. /// [Class(xmiId: "_19_0_2_12e503d9_1594006219028_628649_74", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IElement.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IElement.cs index f9db6f50..2756493d 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IElement.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IEnumerationDefinition.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IEnumerationDefinition.cs index 20c55399..1e2c8152 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IEnumerationDefinition.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IEnumerationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFeature.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFeature.cs index 1f2b35be..2767cad7 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFeature.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,18 +39,19 @@ namespace SysML2.NET.Core.POCO.Core.Features /// A Feature is a Type that classifies relations between multiple things (in the universe). The domain /// of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature /// with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic - /// Library.) The co-domain of the relation is the intersection of the types of the Feature.In the - /// simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one - /// from the domain and one from the range. Examples include cars paired with wheels, people paired with - /// other people, and cars paired with numbers representing the car length.Since Features are Types, - /// their featuringTypes and types can be Features. In this case, the Feature effectively classifies - /// relations between relations, which can be interpreted as the sequence of things related by the - /// domain Feature concatenated with the sequence of things related by the co-domain Feature.The values - /// of a Feature for a given instance of its domain are all the instances of its co-domain that are - /// related to that domain instance by the Feature. The values of a Feature with chainingFeatures are - /// the same as values of the last Feature in the chain, which can be found by starting with values of - /// the first Feature, then using those values as domain instances to obtain valus of the second - /// Feature, and so on, to values of the last Feature. + /// Library.) The co-domain of the relation is the intersection of the types of the Feature. + /// In the simplest cases, the featuringTypes and types are Classifiers and the Feature + /// relates two things, one from the domain and one from the range. Examples include cars paired with + /// wheels, people paired with other people, and cars paired with numbers representing the car length. + /// Since Features are Types, their featuringTypes and types can be Features. In + /// this case, the Feature effectively classifies relations between relations, which can be interpreted + /// as the sequence of things related by the domain Feature concatenated with the sequence of things + /// related by the co-domain Feature. The values of a Feature for a given + /// instance of its domain are all the instances of its co-domain that are related to that domain + /// instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the + /// last Feature in the chain, which can be found by starting with values of the first Feature, then + /// using those values as domain instances to obtain valus of the second Feature, and so on, to values + /// of the last Feature. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651684_893483_42160", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFeatureTyping.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFeatureTyping.cs index 1dd9607b..346d411f 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFeatureTyping.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFeatureTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFlow.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFlow.cs index 7eeeaf1b..0ce518fc 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFlow.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFlow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFramedConcernMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFramedConcernMembership.cs index 902458f5..321f6bc6 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFramedConcernMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IFramedConcernMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ILiteralInteger.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ILiteralInteger.cs index d206d792..119cb797 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ILiteralInteger.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ILiteralInteger.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ILiteralRational.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ILiteralRational.cs index 2cecf164..50eb96cb 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ILiteralRational.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ILiteralRational.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IMembership.cs index 7fa7e28b..633376fc 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,10 +37,11 @@ namespace SysML2.NET.Core.POCO.Root.Namespaces /// A Membership is a Relationship between a Namespace and an Element that indicates the Element is a /// member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is /// identified in the Namespace and the visibility specifies whether or not the memberElement is - /// publicly visible from outside the Namespace.If a Membership is an OwningMembership, then it owns its - /// memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the - /// memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an - /// Element with a separate OwningMembership in the same or a different Namespace. + /// publicly visible from outside the Namespace. If a Membership is an + /// OwningMembership, then it owns its memberElement, which becomes an ownedMember of the + /// membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within + /// the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a + /// different Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651680_888716_42152", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IMultiplicityRange.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IMultiplicityRange.cs index c51a7671..1a0edf9b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IMultiplicityRange.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IMultiplicityRange.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IOwningMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IOwningMembership.cs index 9d6b471e..34553f84 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IOwningMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IOwningMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IReferenceSubsetting.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IReferenceSubsetting.cs index b1d73052..5cb3dcc9 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IReferenceSubsetting.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IReferenceSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,8 +39,8 @@ namespace SysML2.NET.Core.POCO.Core.Features /// distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the /// same semantics as Subsetting, but the referencedFeature may have a special purpose relative to the /// referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a - /// Connector.ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature - /// can have at most one ownedReferenceSubsetting. + /// Connector. ReferenceSubsetting is always an ownedRelationship of its + /// referencingFeature. A Feature can have at most one ownedReferenceSubsetting. /// [Class(xmiId: "_19_0_4_12e503d9_1661554793960_500657_60", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IRelationship.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IRelationship.cs index 6357e0d5..365bad42 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IRelationship.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IRelationship.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,14 +37,14 @@ namespace SysML2.NET.Core.POCO.Root.Elements /// in which case those ownedRelatedElements will be deleted from a model if their owningRelationship /// is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of /// the Relationship are also considered to be transitively owned by the owningRelatedElement of the - /// Relationship.The relatedElements of a Relationship are divided into source and target Elements. The - /// Relationship is considered to be directed from the source to the target Elements. An undirected - /// Relationship may have either all source or all target Elements.A "relationship Element" in - /// the abstract syntax is generically any Element that is an instance of either Relationship or a - /// direct or indirect specialization of Relationship. Any other kind of Element is a - /// "non-relationship Element". It is a convention of that non-relationship Elements are only - /// related via reified relationship Elements. Any meta-associations directly between non-relationship - /// Elements must be derived from underlying reified Relationship. + /// Relationship. The relatedElements of a Relationship are divided into source + /// and target Elements. The Relationship is considered to be directed from the source to the target + /// Elements. An undirected Relationship may have either all source or all target Elements. + /// A "relationship Element" in the abstract syntax is generically any Element that + /// is an instance of either Relationship or a direct or indirect specialization of Relationship. Any + /// other kind of Element is a "non-relationship Element". It is a convention of that + /// non-relationship Elements are only related via reified relationship Elements. Any meta-associations + /// directly between non-relationship Elements must be derived from underlying reified Relationship. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651700_869737_42192", isAbstract: true, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IRequirementUsage.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IRequirementUsage.cs index 1052b087..4224cff8 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IRequirementUsage.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IRequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -74,7 +74,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List actorParameter { get; } /// @@ -124,7 +123,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List stakeholderParameter { get; } /// @@ -132,7 +130,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] IUsage subjectParameter { get; } /// diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ISelectExpression.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ISelectExpression.cs index 24b9cd22..40abbd0e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ISelectExpression.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ISelectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ISubclassification.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ISubclassification.cs index 5b69ea49..7ee72a40 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ISubclassification.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ISubclassification.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ITextualRepresentation.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ITextualRepresentation.cs index a9764b55..1d1315ad 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ITextualRepresentation.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ITextualRepresentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,26 +37,30 @@ namespace SysML2.NET.Core.POCO.Root.Annotations /// given language. The representedElement must be the owner of the TextualRepresentation. The named /// language can be a natural language, in which case the body is an informal representation, or an /// artificial language, in which case the body is expected to be a formal, machine-parsable - /// representation.If the named language of a TextualRepresentation is machine-parsable, then the body - /// text should be legal input text as defined for that language. The interpretation of the named - /// language string shall be case insensitive. The following language names are defined to correspond to - /// the given standard languages:
kerml Kernel Modeling Language
ocl Object Constraint - /// Language
alf Action Language for fUML
Other specifications may - /// define specific language strings, other than those shown above, to be used to indicate the use of - /// languages from those specifications in KerML TextualRepresentation.If the language of a - /// TextualRepresentation is "kerml", then the body text shall be a legal representation of - /// the representedElement in the KerML textual concrete syntax. A conforming tool can use such a - /// TextualRepresentation Annotation to record the original KerML concrete syntax text from which an - /// Element was parsed. In this case, it is a tool responsibility to ensure that the body of the - /// TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element - /// changes other than by re-parsing the body text.An Element with a TextualRepresentation in a language - /// other than KerML is essentially a semantically "opaque" Element specified in the other - /// language. However, a conforming KerML tool may interpret such an element consistently with the - /// specification of the named language. + /// representation. If the named language of a TextualRepresentation is + /// machine-parsable, then the body text should be legal input text as defined for that language. The + /// interpretation of the named language string shall be case insensitive. The following language names + /// are defined to correspond to the given standard languages: + /// + /// + /// + /// + ///
kerml Kernel Modeling Language
ocl Object Constraint Language
alfAction Language for fUML
Other + /// specifications may define specific language strings, other than those shown above, to be used to + /// indicate the use of languages from those specifications in KerML TextualRepresentation. + /// If the language of a TextualRepresentation is "kerml", then the body text shall + /// be a legal representation of the representedElement in the KerML textual concrete syntax. A + /// conforming tool can use such a TextualRepresentation Annotation to record the original KerML + /// concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to + /// ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if + /// the annotated Element changes other than by re-parsing the body text. An + /// Element with a TextualRepresentation in a language other than KerML is essentially a semantically + /// "opaque" Element specified in the other language. However, a conforming KerML tool may + /// interpret such an element consistently with the specification of the named language. ///
[Class(xmiId: "_19_0_2_12e503d9_1594152214531_455349_2448", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IUsage.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IUsage.cs index 7eea6815..358533ed 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IUsage.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/IUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -59,13 +59,14 @@ namespace SysML2.NET.Core.POCO.Systems.DefinitionAndUsage using SysML2.NET.Decorators; /// - /// A Usage is a usage of a Definition.A Usage may have nestedUsages that model features that apply in - /// the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no - /// semantic significance, other than the nested scoping resulting from the Usage being considered as a - /// Namespace for any nested Definitions.However, if a Usage has isVariation = true, then it represents - /// a variation point Usage. In this case, all of its members must be variant Usages, related to the - /// Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages - /// model different concrete alternatives that can be chosen to fill in for the variation point Usage. + /// A Usage is a usage of a Definition. A Usage may have nestedUsages that model + /// features that apply in the context of the owningUsage. A Usage may also have Definitions nested in + /// it, but this has no semantic significance, other than the nested scoping resulting from the Usage + /// being considered as a Namespace for any nested Definitions. However, if a + /// Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its + /// members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than + /// being features of the Usage, variant Usages model different concrete alternatives that can be chosen + /// to fill in for the variation point Usage. /// [Class(xmiId: "_18_5_3_12e503d9_1565469997820_598571_19982", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -85,7 +86,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List directedUsage { get; } /// @@ -105,9 +105,9 @@ public partial interface IUsage : IFeature /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -274,7 +274,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List nestedUsage { get; } /// @@ -310,7 +309,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] IDefinition owningDefinition { get; } /// diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/LiteralInteger.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/LiteralInteger.cs index 850bab5a..00222b7a 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/LiteralInteger.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/LiteralInteger.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -358,11 +358,11 @@ public partial class LiteralInteger : ILiteralInteger /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/LiteralRational.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/LiteralRational.cs index 43fb70c4..41085923 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/LiteralRational.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/LiteralRational.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -358,11 +358,11 @@ public partial class LiteralRational : ILiteralRational /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Membership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Membership.cs index f078b967..e6639c8a 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Membership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Membership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -38,10 +38,11 @@ namespace SysML2.NET.Core.POCO.Root.Namespaces /// A Membership is a Relationship between a Namespace and an Element that indicates the Element is a /// member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is /// identified in the Namespace and the visibility specifies whether or not the memberElement is - /// publicly visible from outside the Namespace.If a Membership is an OwningMembership, then it owns its - /// memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the - /// memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an - /// Element with a separate OwningMembership in the same or a different Namespace. + /// publicly visible from outside the Namespace. If a Membership is an + /// OwningMembership, then it owns its memberElement, which becomes an ownedMember of the + /// membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within + /// the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a + /// different Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651680_888716_42152", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/MultiplicityRange.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/MultiplicityRange.cs index 40f5bf6f..2d7f3299 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/MultiplicityRange.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/MultiplicityRange.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -345,11 +345,11 @@ public partial class MultiplicityRange : IMultiplicityRange /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/OwningMembership.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/OwningMembership.cs index 5b88987b..5f12071d 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/OwningMembership.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/OwningMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ReferenceSubsetting.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ReferenceSubsetting.cs index 6ca20a99..66c45f59 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ReferenceSubsetting.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/ReferenceSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,8 +40,8 @@ namespace SysML2.NET.Core.POCO.Core.Features /// distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the /// same semantics as Subsetting, but the referencedFeature may have a special purpose relative to the /// referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a - /// Connector.ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature - /// can have at most one ownedReferenceSubsetting. + /// Connector. ReferenceSubsetting is always an ownedRelationship of its + /// referencingFeature. A Feature can have at most one ownedReferenceSubsetting. /// [Class(xmiId: "_19_0_4_12e503d9_1661554793960_500657_60", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/RequirementUsage.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/RequirementUsage.cs index c5d713f2..1ba1ac06 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/RequirementUsage.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/RequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -82,7 +82,6 @@ public partial class RequirementUsage : IRequirementUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -208,7 +207,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -472,11 +470,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -514,9 +512,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -742,7 +740,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1026,7 +1023,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1175,7 +1171,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter => this.ComputeStakeholderParameter(); @@ -1184,7 +1179,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/SelectExpression.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/SelectExpression.cs index 86c207f6..76e170ce 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/SelectExpression.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/SelectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,8 +64,8 @@ public partial class SelectExpression : ISelectExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -376,11 +376,11 @@ public partial class SelectExpression : ISelectExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Subclassification.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Subclassification.cs index 43fe7deb..9f9d4d44 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Subclassification.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Subclassification.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/TextualRepresentation.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/TextualRepresentation.cs index 99f0269d..6b41cac3 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/TextualRepresentation.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/TextualRepresentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -38,26 +38,30 @@ namespace SysML2.NET.Core.POCO.Root.Annotations /// given language. The representedElement must be the owner of the TextualRepresentation. The named /// language can be a natural language, in which case the body is an informal representation, or an /// artificial language, in which case the body is expected to be a formal, machine-parsable - /// representation.If the named language of a TextualRepresentation is machine-parsable, then the body - /// text should be legal input text as defined for that language. The interpretation of the named - /// language string shall be case insensitive. The following language names are defined to correspond to - /// the given standard languages:
kerml Kernel Modeling Language
ocl Object Constraint - /// Language
alf Action Language for fUML
Other specifications may - /// define specific language strings, other than those shown above, to be used to indicate the use of - /// languages from those specifications in KerML TextualRepresentation.If the language of a - /// TextualRepresentation is "kerml", then the body text shall be a legal representation of - /// the representedElement in the KerML textual concrete syntax. A conforming tool can use such a - /// TextualRepresentation Annotation to record the original KerML concrete syntax text from which an - /// Element was parsed. In this case, it is a tool responsibility to ensure that the body of the - /// TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element - /// changes other than by re-parsing the body text.An Element with a TextualRepresentation in a language - /// other than KerML is essentially a semantically "opaque" Element specified in the other - /// language. However, a conforming KerML tool may interpret such an element consistently with the - /// specification of the named language. + /// representation. If the named language of a TextualRepresentation is + /// machine-parsable, then the body text should be legal input text as defined for that language. The + /// interpretation of the named language string shall be case insensitive. The following language names + /// are defined to correspond to the given standard languages: + /// + /// + /// + /// + ///
kerml Kernel Modeling Language
ocl Object Constraint Language
alfAction Language for fUML
Other + /// specifications may define specific language strings, other than those shown above, to be used to + /// indicate the use of languages from those specifications in KerML TextualRepresentation. + /// If the language of a TextualRepresentation is "kerml", then the body text shall + /// be a legal representation of the representedElement in the KerML textual concrete syntax. A + /// conforming tool can use such a TextualRepresentation Annotation to record the original KerML + /// concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to + /// ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if + /// the annotated Element changes other than by re-parsing the body text. An + /// Element with a TextualRepresentation in a language other than KerML is essentially a semantically + /// "opaque" Element specified in the other language. However, a conforming KerML tool may + /// interpret such an element consistently with the specification of the named language. /// [Class(xmiId: "_19_0_2_12e503d9_1594152214531_455349_2448", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Usage.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Usage.cs index bb2f5a02..98f93c39 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Usage.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPoco/Usage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -60,13 +60,14 @@ namespace SysML2.NET.Core.POCO.Systems.DefinitionAndUsage using SysML2.NET.Decorators; /// - /// A Usage is a usage of a Definition.A Usage may have nestedUsages that model features that apply in - /// the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no - /// semantic significance, other than the nested scoping resulting from the Usage being considered as a - /// Namespace for any nested Definitions.However, if a Usage has isVariation = true, then it represents - /// a variation point Usage. In this case, all of its members must be variant Usages, related to the - /// Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages - /// model different concrete alternatives that can be chosen to fill in for the variation point Usage. + /// A Usage is a usage of a Definition. A Usage may have nestedUsages that model + /// features that apply in the context of the owningUsage. A Usage may also have Definitions nested in + /// it, but this has no semantic significance, other than the nested scoping resulting from the Usage + /// being considered as a Namespace for any nested Definitions. However, if a + /// Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its + /// members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than + /// being features of the Usage, variant Usages model different concrete alternatives that can be chosen + /// to fill in for the variation point Usage. /// [Class(xmiId: "_18_5_3_12e503d9_1565469997820_598571_19982", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -161,7 +162,6 @@ public partial class Usage : IUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -383,11 +383,11 @@ public partial class Usage : IUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -425,9 +425,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -653,7 +653,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -927,7 +926,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/AnnotatingElementExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/AnnotatingElementExtensions.cs index cce7eacc..fd7a06cb 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/AnnotatingElementExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/AnnotatingElementExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/AssociationExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/AssociationExtensions.cs index fc0f5e20..0c0600d8 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/AssociationExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/AssociationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/DependencyExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/DependencyExtensions.cs index 2683ef9e..3eea36a6 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/DependencyExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/DependencyExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/ElementExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/ElementExtensions.cs index 67b9d90e..3488bd6a 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/ElementExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/ElementExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/EnumerationDefinitionExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/EnumerationDefinitionExtensions.cs index cd6e4bd4..c6548de8 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/EnumerationDefinitionExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/EnumerationDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FeatureExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FeatureExtensions.cs index ca7cfec0..583c604c 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FeatureExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FeatureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FeatureTypingExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FeatureTypingExtensions.cs index d494dc7a..dc53caed 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FeatureTypingExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FeatureTypingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FlowExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FlowExtensions.cs index 4ce634de..c716d160 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FlowExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FlowExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FramedConcernMembershipExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FramedConcernMembershipExtensions.cs index 7d411ba7..3ff4dce8 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FramedConcernMembershipExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/FramedConcernMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/LiteralIntegerExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/LiteralIntegerExtensions.cs index 9be00c73..453f5e2b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/LiteralIntegerExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/LiteralIntegerExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/LiteralRationalExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/LiteralRationalExtensions.cs index 217f9032..92c7140b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/LiteralRationalExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/LiteralRationalExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/MembershipExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/MembershipExtensions.cs index e48e31ed..759cee38 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/MembershipExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/MembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/MultiplicityRangeExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/MultiplicityRangeExtensions.cs index ff0a6019..657ccfd5 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/MultiplicityRangeExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/MultiplicityRangeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/OwningMembershipExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/OwningMembershipExtensions.cs index b0c3fd6e..a0ec6f48 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/OwningMembershipExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/OwningMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/ReferenceSubsettingExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/ReferenceSubsettingExtensions.cs index 1922d7b6..90e31852 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/ReferenceSubsettingExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/ReferenceSubsettingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/RelationshipExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/RelationshipExtensions.cs index e6998cba..71532379 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/RelationshipExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/RelationshipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/RequirementUsageExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/RequirementUsageExtensions.cs index 0a4b156a..2411aff1 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/RequirementUsageExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/RequirementUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/SelectExpressionExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/SelectExpressionExtensions.cs index 8db412a2..c8687181 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/SelectExpressionExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/SelectExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/SubclassificationExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/SubclassificationExtensions.cs index 497f02da..accc08f5 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/SubclassificationExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/SubclassificationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/TextualRepresentationExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/TextualRepresentationExtensions.cs index 4266f6af..661b33ed 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/TextualRepresentationExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/TextualRepresentationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/UsageExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/UsageExtensions.cs index 61d03c3d..819e78d6 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/UsageExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtend/UsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/AnnotatingElementExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/AnnotatingElementExtensions.cs index a98121c5..5e5b7f70 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/AnnotatingElementExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/AnnotatingElementExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/AssociationExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/AssociationExtensions.cs index 6a4e9573..cecaaaf0 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/AssociationExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/AssociationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/DependencyExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/DependencyExtensions.cs index 19784069..5fe72f8e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/DependencyExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/DependencyExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/EnumerationDefinitionExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/EnumerationDefinitionExtensions.cs index bf1c2cb3..bdb5c4f6 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/EnumerationDefinitionExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/EnumerationDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FeatureExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FeatureExtensions.cs index 157f9192..f76ac9f2 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FeatureExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FeatureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FeatureTypingExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FeatureTypingExtensions.cs index a2aac09c..1d69a332 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FeatureTypingExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FeatureTypingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FlowExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FlowExtensions.cs index 33c6ef80..a396d768 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FlowExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FlowExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FramedConcernMembershipExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FramedConcernMembershipExtensions.cs index 2fed000b..9074bcd3 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FramedConcernMembershipExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/FramedConcernMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/LiteralIntegerExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/LiteralIntegerExtensions.cs index 88d42d01..72963acd 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/LiteralIntegerExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/LiteralIntegerExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/LiteralRationalExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/LiteralRationalExtensions.cs index c56ddab5..bb9c64ed 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/LiteralRationalExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/LiteralRationalExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/MembershipExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/MembershipExtensions.cs index 9970b00f..cb24cbc8 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/MembershipExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/MembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/MultiplicityRangeExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/MultiplicityRangeExtensions.cs index 0a51cea1..08c9c86b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/MultiplicityRangeExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/MultiplicityRangeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/OwningMembershipExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/OwningMembershipExtensions.cs index 2933f945..e853c884 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/OwningMembershipExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/OwningMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/ReferenceSubsettingExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/ReferenceSubsettingExtensions.cs index f52c3a9e..b082fc1c 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/ReferenceSubsettingExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/ReferenceSubsettingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/RequirementUsageExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/RequirementUsageExtensions.cs index de3a863c..48de9b49 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/RequirementUsageExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/RequirementUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/SelectExpressionExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/SelectExpressionExtensions.cs index c8eb6355..d143d866 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/SelectExpressionExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/SelectExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/SubclassificationExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/SubclassificationExtensions.cs index c69ca488..f0c5181d 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/SubclassificationExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/SubclassificationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/TextualRepresentationExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/TextualRepresentationExtensions.cs index e40b797c..305c3b98 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/TextualRepresentationExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/TextualRepresentationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/UsageExtensions.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/UsageExtensions.cs index 2c0e041d..0d0cd01f 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/UsageExtensions.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenPocoExtension/UsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/AnnotatingElementSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/AnnotatingElementSerializer.cs index c91aa4d6..36456325 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/AnnotatingElementSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/AnnotatingElementSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/AssociationSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/AssociationSerializer.cs index 7c994785..c620258e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/AssociationSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/AssociationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/DependencySerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/DependencySerializer.cs index 6209a62f..c7eb496b 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/DependencySerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/DependencySerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/EnumerationDefinitionSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/EnumerationDefinitionSerializer.cs index f5075336..31c81dc5 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/EnumerationDefinitionSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/EnumerationDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FeatureSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FeatureSerializer.cs index 4d443c2f..78f999ad 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FeatureSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FeatureSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FeatureTypingSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FeatureTypingSerializer.cs index 0d2e618b..74686ae1 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FeatureTypingSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FeatureTypingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FlowSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FlowSerializer.cs index 348f2753..f153457e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FlowSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FlowSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FramedConcernMembershipSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FramedConcernMembershipSerializer.cs index dcc15c59..c5e31e21 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FramedConcernMembershipSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/FramedConcernMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/LiteralIntegerSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/LiteralIntegerSerializer.cs index 57fce9ec..93dc49d6 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/LiteralIntegerSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/LiteralIntegerSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/LiteralRationalSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/LiteralRationalSerializer.cs index 0a0427ab..8a501332 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/LiteralRationalSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/LiteralRationalSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/MembershipSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/MembershipSerializer.cs index afd21edc..f26be289 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/MembershipSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/MembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/MultiplicityRangeSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/MultiplicityRangeSerializer.cs index de2f586c..50a7de40 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/MultiplicityRangeSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/MultiplicityRangeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/OwningMembershipSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/OwningMembershipSerializer.cs index 0d664aa7..8ec86075 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/OwningMembershipSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/OwningMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/ReferenceSubsettingSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/ReferenceSubsettingSerializer.cs index d7158143..5ae2cf3e 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/ReferenceSubsettingSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/ReferenceSubsettingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/RequirementUsageSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/RequirementUsageSerializer.cs index 3ae50784..a9a9a0a5 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/RequirementUsageSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/RequirementUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/SelectExpressionSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/SelectExpressionSerializer.cs index 84be29b5..020a7806 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/SelectExpressionSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/SelectExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/SubclassificationSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/SubclassificationSerializer.cs index f627523c..60e2aa45 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/SubclassificationSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/SubclassificationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/TextualRepresentationSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/TextualRepresentationSerializer.cs index 210ba1a2..d33d93a6 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/TextualRepresentationSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/TextualRepresentationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/UsageSerializer.cs b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/UsageSerializer.cs index 0ffb507e..8eb0cde2 100644 --- a/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/UsageSerializer.cs +++ b/SysML2.NET.CodeGenerator.Tests/Expected/UML/Core/AutoGenSerializer/UsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator.Tests/Generators/HtmlReportGeneratorTestFixture.cs b/SysML2.NET.CodeGenerator.Tests/Generators/HtmlReportGeneratorTestFixture.cs index 7114d49a..28617ea7 100644 --- a/SysML2.NET.CodeGenerator.Tests/Generators/HtmlReportGeneratorTestFixture.cs +++ b/SysML2.NET.CodeGenerator.Tests/Generators/HtmlReportGeneratorTestFixture.cs @@ -31,8 +31,6 @@ namespace SysML2.NET.CodeGenerator.Tests.Generators using uml4net.Reporting.Drawing; using uml4net.Reporting.Generators; - using uml4net.xmi; - using uml4net.xmi.Readers; public class HtmlReportGeneratorTestFixture { @@ -75,7 +73,7 @@ public void SetUp() }; this.modelFileInfo = new FileInfo(Path.Combine(TestContext.CurrentContext.TestDirectory, "datamodel", - "SysML_xmi.uml")); + "SysML_only_xmi.uml")); Directory.CreateDirectory(Path.Combine(TestContext.CurrentContext.TestDirectory, "UML", "_SysML2.NET.Core.AutoGenHtmlDocs")); @@ -97,7 +95,7 @@ public void verify_HTML_docs_Are_generated() """; - Assert.That(() => this.htmlReportGenerator.GenerateReport(this.modelFileInfo, this.rootDirectoryInfo, "_h6bQED_xEfCL-qw9_9p9XQ", "SysML", + Assert.That(() => this.htmlReportGenerator.GenerateReport(this.modelFileInfo, this.rootDirectoryInfo, null, "SysML", true, this.pathMaps, this.outputFileInfo, customHtml), Throws.Nothing); } diff --git a/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/GeneratorSetupFixture.cs b/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/GeneratorSetupFixture.cs index 1fc84b69..a3ff9d1f 100644 --- a/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/GeneratorSetupFixture.cs +++ b/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/GeneratorSetupFixture.cs @@ -54,13 +54,16 @@ public void OneTimeSetup() }; var reader = XmiReaderBuilder.Create() - .UsingSettings(x => x.LocalReferenceBasePath = rootPath) - .UsingSettings(x => x.PathMaps = pathMaps) + .UsingSettings(x => + { + x.PathMaps = pathMaps; + x.LocalReferenceBasePath = rootPath; + }) .WithLogger(loggerFactory) .Build(); XmiReaderResult = reader.Read(Path.Combine(TestContext.CurrentContext.TestDirectory, "datamodel", - "SysML_xmi.uml")); + "SysML_only_xmi.uml")); } public static XmiReaderResult XmiReaderResult; diff --git a/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreDtoGeneratorTestFixture.cs b/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreDtoGeneratorTestFixture.cs index 08015070..0ad3d6ce 100644 --- a/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreDtoGeneratorTestFixture.cs +++ b/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreDtoGeneratorTestFixture.cs @@ -21,6 +21,7 @@ namespace SysML2.NET.CodeGenerator.Tests.Generators.UmlHandleBarsGenerators { using System.IO; + using System.Linq; using System.Threading.Tasks; using NUnit.Framework; @@ -28,6 +29,9 @@ namespace SysML2.NET.CodeGenerator.Tests.Generators.UmlHandleBarsGenerators using SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators; using SysML2.NET.CodeGenerator.Tests.Expected.Ecore.Core; + using uml4net.Extensions; + using uml4net.StructuredClassifiers; + [TestFixture] public class UmlCoreDtoGeneratorTestFixture { diff --git a/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreEnumGeneratorTestFixture.cs b/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreEnumGeneratorTestFixture.cs index 12add563..d962ed30 100644 --- a/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreEnumGeneratorTestFixture.cs +++ b/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreEnumGeneratorTestFixture.cs @@ -53,6 +53,7 @@ await Assert.ThatAsync(() => this.coreEnumGenerator.GenerateAsync(GeneratorSetup } [Test] + [Category("Expected")] public async Task Verify_that_expected_enums_are_generated([Values("VisibilityKind", "TransitionFeatureKind")] string enumName) { var generatedCode = await this.coreEnumGenerator.GenerateEnumerationAsync(GeneratorSetupFixture.XmiReaderResult, this.enumerationDirectoryInfo, diff --git a/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreEnumProviderGeneratorTestFixture.cs b/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreEnumProviderGeneratorTestFixture.cs index 08ec37ca..2faf52b0 100644 --- a/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreEnumProviderGeneratorTestFixture.cs +++ b/SysML2.NET.CodeGenerator.Tests/Generators/UmlHandleBarsGenerators/UmlCoreEnumProviderGeneratorTestFixture.cs @@ -55,6 +55,7 @@ await Assert.ThatAsync(() => this.umlCoreEnumProviderGenerator.GenerateAsync(Gen } [Test] + [Category("Expected")] public async Task Verify_that_expected_enums_are_generated([Values("VisibilityKind", "TransitionFeatureKind")] string enumName) { var generatedCode = await this.umlCoreEnumProviderGenerator.GenerateEnumerationProviderAsync(GeneratorSetupFixture.XmiReaderResult, diff --git a/SysML2.NET.CodeGenerator.Tests/Inspector/UmlModelInspectorTestFixture.cs b/SysML2.NET.CodeGenerator.Tests/Inspector/UmlModelInspectorTestFixture.cs index 4c3aa486..73819382 100644 --- a/SysML2.NET.CodeGenerator.Tests/Inspector/UmlModelInspectorTestFixture.cs +++ b/SysML2.NET.CodeGenerator.Tests/Inspector/UmlModelInspectorTestFixture.cs @@ -60,7 +60,7 @@ public void SetUp() { var rootPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "datamodel"); - this.modelPath = Path.Combine(rootPath, "SysML_xmi.uml"); + this.modelPath = Path.Combine(rootPath, "SysML_only_xmi.uml"); this.modelFileInfo = new FileInfo(modelPath); var reportPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "uml-inspection-report.txt"); diff --git a/SysML2.NET.CodeGenerator/Extensions/GenericExtensions.cs b/SysML2.NET.CodeGenerator/Extensions/GenericExtensions.cs index 89921c32..2c666ca1 100644 --- a/SysML2.NET.CodeGenerator/Extensions/GenericExtensions.cs +++ b/SysML2.NET.CodeGenerator/Extensions/GenericExtensions.cs @@ -28,44 +28,6 @@ namespace SysML2.NET.CodeGenerator.Extensions /// public static class GenericExtensions { - /// - /// Capitalize the first letter of a string - /// - /// - /// The subject input string - /// - /// - /// Returns a string - /// - public static string CapitalizeFirstLetter(this string input) - { - if (string.IsNullOrEmpty(input)) - { - throw new ArgumentException("string can't be empty!"); - } - - return string.Concat(input.First().ToString().ToUpper(), input.AsSpan(1)); - } - - /// - /// Lower ccase the first letter of a string - /// - /// - /// The subject input string - /// - /// - /// Returns a string - /// - public static string LowerCaseFirstLetter(this string input) - { - if (string.IsNullOrEmpty(input)) - { - throw new ArgumentException("string can't be empty!"); - } - - return string.Concat(input.First().ToString().ToLower(), input.AsSpan(1)); - } - /// /// Prefixes the input string with another /// diff --git a/SysML2.NET.CodeGenerator/Extensions/XmiReaderResultExtensions.cs b/SysML2.NET.CodeGenerator/Extensions/XmiReaderResultExtensions.cs new file mode 100644 index 00000000..e4a192e8 --- /dev/null +++ b/SysML2.NET.CodeGenerator/Extensions/XmiReaderResultExtensions.cs @@ -0,0 +1,71 @@ +// ------------------------------------------------------------------------------------------------- +// +// +// Copyright 2022-2025 Starion Group S.A. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// +// ------------------------------------------------------------------------------------------------ + +namespace SysML2.NET.CodeGenerator.Extensions +{ + using System; + using System.Collections.Generic; + using System.Linq; + + using uml4net.Extensions; + using uml4net.Packages; + using uml4net.StructuredClassifiers; + using uml4net.xmi.Readers; + + /// + /// Extension methods for the class + /// + public static class XmiReaderResultExtensions + { + /// + /// Queries all contained and imported contained under the root package + /// + /// The that contains all read elements + /// The name of the root package to query + /// A of all contained under the root + public static IReadOnlyList QueryContainedAndImported(this XmiReaderResult xmiReaderResult, string rootName) + { + ArgumentNullException.ThrowIfNull(xmiReaderResult); + + var packages = xmiReaderResult.QueryRoot(null, name: rootName).QueryPackages(); + + var importedPackages = packages.SelectMany(x => x.PackageImport) + .Select(x => x.ImportedPackage).ToList(); + + var allPackages = new List(); + allPackages.AddRange(packages); + + foreach (var importedPackage in importedPackages) + { + if (importedPackage.Possessor is IPackage importedPackagePossessor) + { + allPackages.AddRange(importedPackagePossessor.QueryPackages()); + } + else + { + allPackages.Add(importedPackage); + allPackages.AddRange(importedPackage.QueryPackages()); + } + } + + return [..allPackages.DistinctBy(x => x.XmiId)]; + } + } +} diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDalFactoryGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDalFactoryGenerator.cs index 59d2d1dc..5dcd637e 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDalFactoryGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDalFactoryGenerator.cs @@ -25,6 +25,8 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; + using uml4net.Extensions; using uml4net.HandleBars; using uml4net.StructuredClassifiers; @@ -120,7 +122,7 @@ private async Task GeneratePocoFactoryInternal(XmiReaderResult xmiReaderResult, { var template = this.Templates[PocoFactoryTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .ToList(); @@ -173,7 +175,7 @@ private async Task GenerateDalPocoFactoryInternal(XmiReaderResult xmiRea { var template = this.Templates[PocoFactoryTemplateName]; - var classToGenerate = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classToGenerate = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Single(x => x.Name == className); @@ -219,7 +221,7 @@ private async Task GenerateElementFactoryInternal(XmiReaderResult xmiReaderResul { var template = this.Templates[ElementFactoryTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDalPocoExtensionsGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDalPocoExtensionsGenerator.cs index a731dd06..71da37bc 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDalPocoExtensionsGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDalPocoExtensionsGenerator.cs @@ -25,6 +25,8 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; + using uml4net.Extensions; using uml4net.HandleBars; using uml4net.StructuredClassifiers; @@ -98,7 +100,7 @@ private async Task GeneratePocoExtensionsInternal(XmiReaderResult xmiReaderResul { var template = this.Templates[PocoExtensionsTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .ToList(); @@ -151,7 +153,7 @@ private async Task GenerateDalPocoExtensionInternal(XmiReaderResult xmiR { var template = this.Templates[PocoExtensionsTemplateName]; - var classToGenerate = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classToGenerate = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Single(x => x.Name == className); @@ -220,7 +222,7 @@ private async Task GenerateElementExtensionsInternal(XmiReaderResult xmiReaderRe { var template = this.Templates[ElementExtensionsTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDtoGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDtoGenerator.cs index fa98c045..84729414 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDtoGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreDtoGenerator.cs @@ -25,6 +25,7 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; using SysML2.NET.CodeGenerator.UmlHandleBarHelpers; using uml4net.Extensions; @@ -70,7 +71,6 @@ public override async Task GenerateAsync(XmiReaderResult xmiReaderResult, Direct public Task GenerateDataTransferObjectInterfacesAsync(XmiReaderResult xmiReaderResult, DirectoryInfo outputDirectory) { ArgumentNullException.ThrowIfNull(xmiReaderResult); - ArgumentNullException.ThrowIfNull(outputDirectory); return this.GenerateDataTransferObjectInterfacesInternalAsync(xmiReaderResult, outputDirectory); @@ -94,13 +94,8 @@ public Task GenerateDataTransferObjectInterfacesAsync(XmiReaderResult xmiReaderR public Task GenerateDataTransferObjectInterfaceAsync(XmiReaderResult xmiReaderResult, DirectoryInfo outputDirectory, string name) { ArgumentNullException.ThrowIfNull(xmiReaderResult); - ArgumentNullException.ThrowIfNull(outputDirectory); - - if (string.IsNullOrEmpty(name)) - { - throw new ArgumentException(nameof(name)); - } + ArgumentException.ThrowIfNullOrWhiteSpace(name); return this.GenerateDataTransferObjectInterfaceInternalAsync(xmiReaderResult, outputDirectory, name); } @@ -120,7 +115,6 @@ public Task GenerateDataTransferObjectInterfaceAsync(XmiReaderResult xmi public Task GenerateDataTransferObjectClassesAsync(XmiReaderResult xmiReaderResult, DirectoryInfo outputDirectory) { ArgumentNullException.ThrowIfNull(xmiReaderResult); - ArgumentNullException.ThrowIfNull(outputDirectory); return this.GenerateDataTransferObjectClassesInternalAsync(xmiReaderResult, outputDirectory); @@ -145,11 +139,7 @@ public Task GenerateDataTransferObjectClassAsync(XmiReaderResult xmiRead { ArgumentNullException.ThrowIfNull(xmiReaderResult); ArgumentNullException.ThrowIfNull(outputDirectory); - - if (string.IsNullOrEmpty(name)) - { - throw new ArgumentException(nameof(name)); - } + ArgumentException.ThrowIfNullOrWhiteSpace(name); return this.GenerateDataTransferObjectClassInternalAsync(xmiReaderResult, outputDirectory, name); } @@ -200,10 +190,9 @@ private async Task GenerateDataTransferObjectInterfacesInternalAsync(XmiReaderRe { var template = this.Templates["core-dto-interface-uml-template"]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() - .SelectMany(x => x.PackagedElement.OfType()) - .ToList(); - + var classes = xmiReaderResult.QueryContainedAndImported("SysML") + .SelectMany(x => x.PackagedElement.OfType()); + foreach (var @class in classes) { var generatedDto = template(@class); @@ -235,9 +224,8 @@ private async Task GenerateDataTransferObjectInterfaceInternalAsync(XmiR { var template = this.Templates["core-dto-interface-uml-template"]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() - .SelectMany(x => x.PackagedElement.OfType()) - .ToList(); + var classes = xmiReaderResult.QueryContainedAndImported("SysML") + .SelectMany(x => x.PackagedElement.OfType()); var @class = classes.Single(x => x.Name == name); @@ -268,7 +256,7 @@ private async Task GenerateDataTransferObjectClassesInternalAsync(XmiReaderResul { var template = this.Templates["core-dto-class-uml-template"]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .ToList(); @@ -304,9 +292,8 @@ private async Task GenerateDataTransferObjectClassInternalAsync(XmiReade { var template = this.Templates["core-dto-class-uml-template"]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() - .SelectMany(x => x.PackagedElement.OfType()) - .ToList(); + var classes = xmiReaderResult.QueryContainedAndImported("SysML") + .SelectMany(x => x.PackagedElement.OfType()); var @class = classes.Single(x => x.Name == name); diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreEnumGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreEnumGenerator.cs index 4b9a6dbc..8e797012 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreEnumGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreEnumGenerator.cs @@ -25,6 +25,7 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; using SysML2.NET.CodeGenerator.UmlHandleBarHelpers; using uml4net.Extensions; @@ -142,7 +143,7 @@ private async Task GenerateEnumerationsInternalAsync(XmiReaderResult xmiReaderRe { var template = this.Templates["core-enumeration-uml-template"]; - var enumerations = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var enumerations = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .ToList(); @@ -177,7 +178,7 @@ private async Task GenerateEnumerationInternalAsync(XmiReaderResult xmiR { var template = this.Templates["core-enumeration-uml-template"]; - var enumerations = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var enumerations = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .ToList(); diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreEnumProviderGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreEnumProviderGenerator.cs index d4d18f06..5242f1b3 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreEnumProviderGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreEnumProviderGenerator.cs @@ -25,6 +25,7 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; using SysML2.NET.CodeGenerator.UmlHandleBarHelpers; using uml4net.Extensions; @@ -145,7 +146,7 @@ private async Task GenerateEnumerationProvidersInternalAsync(XmiReaderResult xmi { var template = this.Templates["core-enumprovider-uml-template"]; - var enumerations = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var enumerations = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .ToList(); @@ -180,7 +181,7 @@ private async Task GenerateEnumerationProviderInternalAsync(XmiReaderRes { var template = this.Templates["core-enumprovider-uml-template"]; - var enumerations = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var enumerations = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .ToList(); diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreJsonDtoDeSerializerGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreJsonDtoDeSerializerGenerator.cs index 86697606..848ad9e6 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreJsonDtoDeSerializerGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreJsonDtoDeSerializerGenerator.cs @@ -25,6 +25,7 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; using SysML2.NET.CodeGenerator.HandleBarHelpers; using uml4net.Extensions; @@ -108,7 +109,7 @@ private async Task GenerateEnumJsonDeSerializerInternal(XmiReaderResult xmiReade { var template = this.Templates[EnumDeSerializerTemplateName]; - var enumerations = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var enumerations = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .ToList(); @@ -181,7 +182,7 @@ private async Task GenerateDeSerializationProviderInternal(XmiReaderResult xmiRe { var template = this.Templates[DtoDeSerializerProviderTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) @@ -228,7 +229,7 @@ private async Task GenerateDtoJsonDeSerializerInternal(XmiReaderResult xmiReader { var template = this.Templates[DtoDeSerializerTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .ToList(); @@ -281,7 +282,7 @@ private async Task GenerateDtoDeSerializerClassInternal(XmiReaderResult { var template = this.Templates[DtoDeSerializerTemplateName]; - var classToGenerate = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classToGenerate = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Single(x => x.Name == className); diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreJsonDtoSerializerGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreJsonDtoSerializerGenerator.cs index 67c71ee4..81101ccf 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreJsonDtoSerializerGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCoreJsonDtoSerializerGenerator.cs @@ -25,6 +25,7 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; using SysML2.NET.CodeGenerator.HandleBarHelpers; using uml4net.Extensions; @@ -125,7 +126,7 @@ private async Task GenerateSerializationProviderInternal(XmiReaderResult xmiRead { var template = this.Templates[DtoSerializerProviderTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) @@ -172,7 +173,7 @@ private async Task GenerateDtoJsonSerializerInternal(XmiReaderResult xmiReaderRe { var template = this.Templates[DtoSerializerTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .ToList(); @@ -225,7 +226,7 @@ private async Task GenerateDtoSerializerClassInternal(XmiReaderResult xm { var template = this.Templates[DtoSerializerTemplateName]; - var classToGenerate = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classToGenerate = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Single(x => x.Name == className); diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCorePocoGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCorePocoGenerator.cs index 6c79810e..36881b84 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCorePocoGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlCorePocoGenerator.cs @@ -25,6 +25,7 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; using SysML2.NET.CodeGenerator.UmlHandleBarHelpers; using uml4net.Extensions; @@ -172,8 +173,9 @@ private async Task GeneratePocoClassesInternalAsync(XmiReaderResult xmiReaderRes { var template = this.Templates[ClassTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) + .Where(x => !x.IsAbstract) .ToList(); foreach (var @class in classes) @@ -200,7 +202,7 @@ private async Task GeneratePocoInterfacesInternalAsync(XmiReaderResult xmiReader { var template = this.Templates[InterfaceTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .ToList(); @@ -227,7 +229,7 @@ private async Task GeneratePocoInteraceInternalAsync(XmiReaderResult xmi { var template = this.Templates[InterfaceTemplateName]; - var umlClass = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var umlClass = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Single(x => x.Name == className); @@ -273,7 +275,7 @@ private async Task GenerateDataTransferObjectClassInternalAsync(XmiReade { var template = this.Templates[ClassTemplateName]; - var umlClass = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var umlClass = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Single(x => x.Name == className); diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlMessagePackGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlMessagePackGenerator.cs index 2c33207b..ad1d43a0 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlMessagePackGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlMessagePackGenerator.cs @@ -25,6 +25,8 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; + using uml4net.Extensions; using uml4net.HandleBars; using uml4net.StructuredClassifiers; @@ -96,7 +98,7 @@ public async Task GenerateMessagePackPayloadFactory(XmiReaderResult xmiR { var template = this.Templates[MessagePackPayloadFactoryTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) @@ -129,7 +131,7 @@ public async Task GenerateMessagePackPayload(XmiReaderResult xmiReaderRe { var template = this.Templates[MessagePackPayloadTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) @@ -162,7 +164,7 @@ public async Task GenerateDataResolverGetFormatterHelper(XmiReaderResult { var template = this.Templates[MessagePackDataResolverGetFormatterHelper]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) @@ -195,7 +197,7 @@ public async Task GenerateMessagePackPayloadMessagePackFormatter(XmiRead { var template = this.Templates[PayloadMessagePackFormatterTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) @@ -228,7 +230,7 @@ public async Task GenerateMessagePackFormatters(XmiReaderResult xmiReaderResult, { var template = this.Templates[DtoMessagePackFormatterTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .OrderBy(x => x.Name) @@ -265,7 +267,7 @@ public async Task GenerateMessagePackFormatter(XmiReaderResult xmiReader { var template = this.Templates[DtoMessagePackFormatterTemplateName]; - var @class = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var @class = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => !x.IsAbstract) .Single(x => x.Name == className); diff --git a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlPocoClassExtensionsGenerator.cs b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlPocoClassExtensionsGenerator.cs index 6e24c4f3..103cdd5f 100644 --- a/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlPocoClassExtensionsGenerator.cs +++ b/SysML2.NET.CodeGenerator/Generators/UmlHandleBarsGenerators/UmlPocoClassExtensionsGenerator.cs @@ -25,6 +25,7 @@ namespace SysML2.NET.CodeGenerator.Generators.UmlHandleBarsGenerators using System.Linq; using System.Threading.Tasks; + using SysML2.NET.CodeGenerator.Extensions; using SysML2.NET.CodeGenerator.UmlHandleBarHelpers; using uml4net.Extensions; @@ -92,7 +93,7 @@ private async Task GenerateExtendClassesInternalAsync(XmiReaderResult xmiReaderR { var template = this.Templates[ExtendTemplateName]; - var classes = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var classes = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Where(x => x.OwnedAttribute.Select(y => y.IsDerived || y.IsDerivedUnion).Any()) .ToList(); @@ -141,7 +142,7 @@ private async Task GenerateExtendClassInternalAsync(XmiReaderResult xmiR { var template = this.Templates[ExtendTemplateName]; - var umlClass = xmiReaderResult.QueryRoot(null, name: "SysML").QueryPackages() + var umlClass = xmiReaderResult.QueryContainedAndImported("SysML") .SelectMany(x => x.PackagedElement.OfType()) .Single(x => x.Name == className); diff --git a/SysML2.NET.CodeGenerator/SysML2.NET.CodeGenerator.csproj b/SysML2.NET.CodeGenerator/SysML2.NET.CodeGenerator.csproj index 66324cc4..f7b14396 100644 --- a/SysML2.NET.CodeGenerator/SysML2.NET.CodeGenerator.csproj +++ b/SysML2.NET.CodeGenerator/SysML2.NET.CodeGenerator.csproj @@ -1,211 +1,208 @@  - - net9.0 - 12.0 - 0.16.0 - A Library to generate SysML v2 code. - SysML2.NET - Starion Group S.A. - Copyright © Starion Group S.A. - Apache-2.0 - https://github.com/STARIONGROUP/SysML2.NET.git - Git - Sam Gerene - false - disable - False - false - true - en-US + net9.0 + 12.0 + 0.16.0 + A Library to generate SysML v2 code. + SysML2.NET + Starion Group S.A. + Copyright © Starion Group S.A. + Apache-2.0 + https://github.com/STARIONGROUP/SysML2.NET.git + Git + Sam Gerene + false + disable + False + false + true + en-US - - - - - - - - - - - - - - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - - - - - - - - Always - - - Always - - - - + + + + + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + + + + + + Always + + + Always + + + + + datamodel\KerML_only_xmi.uml + Always + + + \ No newline at end of file diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-dal-element-uml-extensions.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-dal-element-uml-extensions.hbs index 255f9508..99dc903e 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-dal-element-uml-extensions.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-dal-element-uml-extensions.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-dal-poco-uml-extensions.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-dal-poco-uml-extensions.hbs index 58b34af7..9db2f1bb 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-dal-poco-uml-extensions.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-dal-poco-uml-extensions.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-dto-class-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-dto-class-uml-template.hbs index e474b7da..79b7a485 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-dto-class-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-dto-class-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-dto-interface-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-dto-interface-uml-template.hbs index 25b4e7b9..c9d330e3 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-dto-interface-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-dto-interface-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-element-dal-uml-factory.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-element-dal-uml-factory.hbs index 10e7d397..2f39825e 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-element-dal-uml-factory.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-element-dal-uml-factory.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-enumeration-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-enumeration-uml-template.hbs index 00272c3e..ad9ec234 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-enumeration-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-enumeration-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-enumprovider-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-enumprovider-uml-template.hbs index 35a2e688..b67b1e97 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-enumprovider-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-enumprovider-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-deserialization-provider-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-deserialization-provider-uml-template.hbs index be44486a..2c37f084 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-deserialization-provider-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-deserialization-provider-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-deserializer-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-deserializer-uml-template.hbs index 3e67e801..c2b563f6 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-deserializer-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-deserializer-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // - // Copyright 2022-2025 Starion Group S.A. + // Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-serialization-provider-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-serialization-provider-uml-template.hbs index 15ab862b..182f0675 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-serialization-provider-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-serialization-provider-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-serializer-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-serializer-uml-template.hbs index acb05c94..597b494a 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-serializer-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-dto-serializer-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // - // Copyright 2022-2025 Starion Group S.A. + // Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-enum-deserializer-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-enum-deserializer-uml-template.hbs index b92f1583..61495ced 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-json-enum-deserializer-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-json-enum-deserializer-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-class-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-class-uml-template.hbs index abef3916..5bbb8ad4 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-class-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-class-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-dal-uml-factory.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-dal-uml-factory.hbs index 07dfb004..d927545e 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-dal-uml-factory.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-dal-uml-factory.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-extend-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-extend-uml-template.hbs index 8695dfbb..d4ca18dc 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-extend-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-extend-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-interface-uml-template.hbs b/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-interface-uml-template.hbs index 42152fd2..58e21ae2 100644 --- a/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-interface-uml-template.hbs +++ b/SysML2.NET.CodeGenerator/Templates/Uml/core-poco-interface-uml-template.hbs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AcceptActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AcceptActionUsageFactory.cs index e2d45f52..cbbfd7b6 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AcceptActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AcceptActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ActionDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ActionDefinitionFactory.cs index f1ec62bc..cf55b29c 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ActionDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ActionDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ActionUsageFactory.cs index 252d0681..e2747b80 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ActorMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ActorMembershipFactory.cs index 98d4c399..d217f7c1 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ActorMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ActorMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AllocationDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AllocationDefinitionFactory.cs index 5435befb..14ed524e 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AllocationDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AllocationDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AllocationUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AllocationUsageFactory.cs index 18b592eb..5a4e9eeb 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AllocationUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AllocationUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AnalysisCaseDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AnalysisCaseDefinitionFactory.cs index 4b8f9775..4269e7bc 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AnalysisCaseDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AnalysisCaseDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AnalysisCaseUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AnalysisCaseUsageFactory.cs index 18a49d37..dcea11d8 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AnalysisCaseUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AnalysisCaseUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AnnotatingElementFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AnnotatingElementFactory.cs index 7d5634a4..c274e104 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AnnotatingElementFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AnnotatingElementFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AnnotationFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AnnotationFactory.cs index b58969e6..b8189005 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AnnotationFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AnnotationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AssertConstraintUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AssertConstraintUsageFactory.cs index 551df8cd..c7f83e23 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AssertConstraintUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AssertConstraintUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AssignmentActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AssignmentActionUsageFactory.cs index 0bd6e1a6..4996bbd9 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AssignmentActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AssignmentActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AssociationFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AssociationFactory.cs index e2023059..ad954d4d 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AssociationFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AssociationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AssociationStructureFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AssociationStructureFactory.cs index cec327ac..a823a506 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AssociationStructureFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AssociationStructureFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AttributeDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AttributeDefinitionFactory.cs index 48198cc8..61fb38e2 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AttributeDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AttributeDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/AttributeUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/AttributeUsageFactory.cs index f77c8fae..2f9c3067 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/AttributeUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/AttributeUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/BehaviorFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/BehaviorFactory.cs index 45126a5d..c84653bd 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/BehaviorFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/BehaviorFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/BindingConnectorAsUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/BindingConnectorAsUsageFactory.cs index 78146e5e..86efb8e5 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/BindingConnectorAsUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/BindingConnectorAsUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/BindingConnectorFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/BindingConnectorFactory.cs index 30245489..33392324 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/BindingConnectorFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/BindingConnectorFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/BooleanExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/BooleanExpressionFactory.cs index 5e1ed1df..841686fc 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/BooleanExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/BooleanExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/CalculationDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/CalculationDefinitionFactory.cs index 017336e8..ad35118c 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/CalculationDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/CalculationDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/CalculationUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/CalculationUsageFactory.cs index c0c05ce5..d0488a5e 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/CalculationUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/CalculationUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/CaseDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/CaseDefinitionFactory.cs index 883af9bc..a082b17b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/CaseDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/CaseDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/CaseUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/CaseUsageFactory.cs index 5527547f..d05e600c 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/CaseUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/CaseUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ClassFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ClassFactory.cs index 438519ad..73c35354 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ClassFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ClassFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ClassifierFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ClassifierFactory.cs index 3cbd866f..02e22c21 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ClassifierFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ClassifierFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/CollectExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/CollectExpressionFactory.cs index 670af2bf..c728e7f7 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/CollectExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/CollectExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/CommentFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/CommentFactory.cs index 56357e9c..fb333087 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/CommentFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/CommentFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConcernDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConcernDefinitionFactory.cs index a4521052..19ee13ce 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConcernDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConcernDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConcernUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConcernUsageFactory.cs index 837265e4..fb0c68ee 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConcernUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConcernUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugatedPortDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugatedPortDefinitionFactory.cs index fd2c4741..35de90d1 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugatedPortDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugatedPortDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugatedPortTypingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugatedPortTypingFactory.cs index ee82f8bf..294064e0 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugatedPortTypingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugatedPortTypingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugationFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugationFactory.cs index 73c9764f..cee13cc9 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugationFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConjugationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectionDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectionDefinitionFactory.cs index b5e25d71..e5307433 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectionDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectionDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectionUsageFactory.cs index 54e1655d..23806c67 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectorFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectorFactory.cs index 34d1bb09..d4cabb41 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectorFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConnectorFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstraintDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstraintDefinitionFactory.cs index 8c425f6a..4435633e 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstraintDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstraintDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstraintUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstraintUsageFactory.cs index 0605a9e1..5d9c7c50 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstraintUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstraintUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstructorExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstructorExpressionFactory.cs index fd2f6f99..88582f4d 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstructorExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ConstructorExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/CrossSubsettingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/CrossSubsettingFactory.cs index 0035f932..7c8e8b65 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/CrossSubsettingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/CrossSubsettingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/DataTypeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/DataTypeFactory.cs index 6227c6bd..14def20c 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/DataTypeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/DataTypeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/DecisionNodeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/DecisionNodeFactory.cs index 8499e92b..98db9254 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/DecisionNodeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/DecisionNodeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/DefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/DefinitionFactory.cs index d6575b07..b11bc4ec 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/DefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/DefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/DependencyFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/DependencyFactory.cs index b7c03592..d08dd055 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/DependencyFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/DependencyFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/DifferencingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/DifferencingFactory.cs index 5e2bfb66..ee396cea 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/DifferencingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/DifferencingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/DisjoiningFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/DisjoiningFactory.cs index 5fae36d1..57465acb 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/DisjoiningFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/DisjoiningFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/DocumentationFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/DocumentationFactory.cs index dd68e2f9..832720e8 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/DocumentationFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/DocumentationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ElementFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ElementFactory.cs index 0e7dfc2e..a9b5bfd8 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ElementFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ElementFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ElementFilterMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ElementFilterMembershipFactory.cs index f4027a22..ba655aa2 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ElementFilterMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ElementFilterMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/EndFeatureMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/EndFeatureMembershipFactory.cs index 4424c55a..68db87f5 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/EndFeatureMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/EndFeatureMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/EnumerationDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/EnumerationDefinitionFactory.cs index 77ddb457..ef376fcd 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/EnumerationDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/EnumerationDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/EnumerationUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/EnumerationUsageFactory.cs index 588e98ad..a50fc3d1 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/EnumerationUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/EnumerationUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/EventOccurrenceUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/EventOccurrenceUsageFactory.cs index cb165b7a..36ff55c2 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/EventOccurrenceUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/EventOccurrenceUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ExhibitStateUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ExhibitStateUsageFactory.cs index 26dc0ff9..971cb967 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ExhibitStateUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ExhibitStateUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ExpressionFactory.cs index 742ee659..bc4135de 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureChainExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureChainExpressionFactory.cs index 088ab7e1..97534770 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureChainExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureChainExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureChainingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureChainingFactory.cs index 736b92a2..aa195d06 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureChainingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureChainingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureFactory.cs index 810a75c1..2da6753d 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureInvertingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureInvertingFactory.cs index 77de79f0..c27727d4 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureInvertingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureInvertingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureMembershipFactory.cs index bdbf13e1..98f9e88b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureReferenceExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureReferenceExpressionFactory.cs index 5caa6fc5..5866323e 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureReferenceExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureReferenceExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureTypingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureTypingFactory.cs index ffa3d929..97a60d44 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureTypingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureTypingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureValueFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureValueFactory.cs index 9fc9c3a1..ba7fd4d4 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureValueFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FeatureValueFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowDefinitionFactory.cs index ede3efa8..b2f2d403 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowEndFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowEndFactory.cs index 12549362..218f3d0e 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowEndFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowEndFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowFactory.cs index cc1ef85c..251b6973 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowUsageFactory.cs index c373fc22..f7404ab4 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FlowUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ForLoopActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ForLoopActionUsageFactory.cs index ba65b59b..4b0f9204 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ForLoopActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ForLoopActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ForkNodeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ForkNodeFactory.cs index 88ea515a..65e05685 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ForkNodeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ForkNodeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FramedConcernMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FramedConcernMembershipFactory.cs index 183e00df..f77eb48f 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FramedConcernMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FramedConcernMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/FunctionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/FunctionFactory.cs index 8465d81a..8cced457 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/FunctionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/FunctionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/IfActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/IfActionUsageFactory.cs index aea3f6e0..a8a67e87 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/IfActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/IfActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/IncludeUseCaseUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/IncludeUseCaseUsageFactory.cs index b699ecb0..3f1fb422 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/IncludeUseCaseUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/IncludeUseCaseUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/IndexExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/IndexExpressionFactory.cs index af93d1d1..cbcdd8b9 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/IndexExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/IndexExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/InteractionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/InteractionFactory.cs index 15642c71..237ef9fe 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/InteractionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/InteractionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/InterfaceDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/InterfaceDefinitionFactory.cs index 06f51cbc..3d2675b0 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/InterfaceDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/InterfaceDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/InterfaceUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/InterfaceUsageFactory.cs index baaab105..139103d8 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/InterfaceUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/InterfaceUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/IntersectingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/IntersectingFactory.cs index 7aa9c216..0a390b16 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/IntersectingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/IntersectingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/InvariantFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/InvariantFactory.cs index 02680a7d..290c55e3 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/InvariantFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/InvariantFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/InvocationExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/InvocationExpressionFactory.cs index 7c986556..6f80b8db 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/InvocationExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/InvocationExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ItemDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ItemDefinitionFactory.cs index 7c2fc2b9..7a42fe63 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ItemDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ItemDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ItemUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ItemUsageFactory.cs index 0262a35b..47f666c5 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ItemUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ItemUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/JoinNodeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/JoinNodeFactory.cs index 935e46e1..7e1554dd 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/JoinNodeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/JoinNodeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/LibraryPackageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/LibraryPackageFactory.cs index 0f587998..1b709e20 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/LibraryPackageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/LibraryPackageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralBooleanFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralBooleanFactory.cs index f7f13eb0..bc00b72a 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralBooleanFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralBooleanFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralExpressionFactory.cs index 651fee1c..167136e6 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralInfinityFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralInfinityFactory.cs index 5bf4b2bf..2f06f5f7 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralInfinityFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralInfinityFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralIntegerFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralIntegerFactory.cs index 15b7e7ec..03751689 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralIntegerFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralIntegerFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralRationalFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralRationalFactory.cs index be29082f..01f19e2a 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralRationalFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralRationalFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralStringFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralStringFactory.cs index 813cf58d..83402292 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralStringFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/LiteralStringFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipExposeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipExposeFactory.cs index 3f0d151e..7fab491a 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipExposeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipExposeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipFactory.cs index 14be3f18..1e4f68d2 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipImportFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipImportFactory.cs index b1e8b623..8238d2d3 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipImportFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MembershipImportFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MergeNodeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MergeNodeFactory.cs index 16d8ad4f..8897b101 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MergeNodeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MergeNodeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetaclassFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetaclassFactory.cs index 4628d380..8a97e937 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetaclassFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetaclassFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataAccessExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataAccessExpressionFactory.cs index 88817fa2..a91a9510 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataAccessExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataAccessExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataDefinitionFactory.cs index 61ca1c03..b9bc07a5 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataFeatureFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataFeatureFactory.cs index 47390146..cf69ff71 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataFeatureFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataFeatureFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataUsageFactory.cs index 17ee92dc..f0b8b31b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MetadataUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MultiplicityFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MultiplicityFactory.cs index 39186924..c6ad34f7 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MultiplicityFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MultiplicityFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/MultiplicityRangeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/MultiplicityRangeFactory.cs index c16ae2a3..e2297936 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/MultiplicityRangeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/MultiplicityRangeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceExposeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceExposeFactory.cs index 6992e6e0..ac51bb35 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceExposeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceExposeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceFactory.cs index 1eb8ee00..59b0a6c1 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceImportFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceImportFactory.cs index 278e33f8..a6728af9 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceImportFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/NamespaceImportFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/NullExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/NullExpressionFactory.cs index ef8ca417..f4fde068 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/NullExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/NullExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ObjectiveMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ObjectiveMembershipFactory.cs index 701e9465..b014a52f 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ObjectiveMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ObjectiveMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/OccurrenceDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/OccurrenceDefinitionFactory.cs index ac07ad80..2da394ef 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/OccurrenceDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/OccurrenceDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/OccurrenceUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/OccurrenceUsageFactory.cs index 6a9f82b1..2450ba99 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/OccurrenceUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/OccurrenceUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/OperatorExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/OperatorExpressionFactory.cs index 4cda9256..c1aa753f 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/OperatorExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/OperatorExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/OwningMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/OwningMembershipFactory.cs index 0a8f583d..d419ea23 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/OwningMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/OwningMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PackageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PackageFactory.cs index 63616794..72329330 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PackageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PackageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ParameterMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ParameterMembershipFactory.cs index daca095d..2af5771c 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ParameterMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ParameterMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PartDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PartDefinitionFactory.cs index ae4fb3ae..9efdd849 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PartDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PartDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PartUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PartUsageFactory.cs index cd6689d4..d8befe15 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PartUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PartUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PayloadFeatureFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PayloadFeatureFactory.cs index a097e5ef..75bbe2dc 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PayloadFeatureFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PayloadFeatureFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PerformActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PerformActionUsageFactory.cs index 44af96b0..4c9d2385 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PerformActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PerformActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PortConjugationFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PortConjugationFactory.cs index 9e106493..4286821e 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PortConjugationFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PortConjugationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PortDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PortDefinitionFactory.cs index 9e5a505b..ed5eb8cd 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PortDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PortDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PortUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PortUsageFactory.cs index 710cbaf2..eac478d9 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PortUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PortUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/PredicateFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/PredicateFactory.cs index ea17e819..535fbdfe 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/PredicateFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/PredicateFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/RedefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/RedefinitionFactory.cs index 6152b8dc..1fe81135 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/RedefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/RedefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ReferenceSubsettingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ReferenceSubsettingFactory.cs index 85fcf3ed..33f3a088 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ReferenceSubsettingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ReferenceSubsettingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ReferenceUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ReferenceUsageFactory.cs index 5a8b38c4..4d1122ec 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ReferenceUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ReferenceUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/RenderingDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/RenderingDefinitionFactory.cs index 40706d63..32eb12e3 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/RenderingDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/RenderingDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/RenderingUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/RenderingUsageFactory.cs index 47eb0c12..a73c020b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/RenderingUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/RenderingUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementConstraintMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementConstraintMembershipFactory.cs index b33e0f79..5086a278 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementConstraintMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementConstraintMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementDefinitionFactory.cs index 4d36cf0b..d2d29d77 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementUsageFactory.cs index 42ed6aa1..befa5a4e 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementVerificationMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementVerificationMembershipFactory.cs index 22737dd1..c32f527f 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementVerificationMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/RequirementVerificationMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ResultExpressionMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ResultExpressionMembershipFactory.cs index 71deb039..1a4242bf 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ResultExpressionMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ResultExpressionMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ReturnParameterMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ReturnParameterMembershipFactory.cs index a83335cc..08b1799a 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ReturnParameterMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ReturnParameterMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SatisfyRequirementUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SatisfyRequirementUsageFactory.cs index b2e82ae2..a3aa696d 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SatisfyRequirementUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SatisfyRequirementUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SelectExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SelectExpressionFactory.cs index 235ffa0c..9c58940c 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SelectExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SelectExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SendActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SendActionUsageFactory.cs index aa02b863..a3a7ddf3 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SendActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SendActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SpecializationFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SpecializationFactory.cs index ab7dcfbb..8c406b24 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SpecializationFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SpecializationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/StakeholderMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/StakeholderMembershipFactory.cs index 642e62bf..eeff3499 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/StakeholderMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/StakeholderMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/StateDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/StateDefinitionFactory.cs index 3a9eb9d5..dcce3d83 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/StateDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/StateDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/StateSubactionMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/StateSubactionMembershipFactory.cs index 1145860a..8b6faeae 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/StateSubactionMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/StateSubactionMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/StateUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/StateUsageFactory.cs index 9c5b8cce..a4b46462 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/StateUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/StateUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/StepFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/StepFactory.cs index da492550..d6e7be0b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/StepFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/StepFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/StructureFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/StructureFactory.cs index e33880e6..864ab22b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/StructureFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/StructureFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SubclassificationFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SubclassificationFactory.cs index 27e12aee..bdee7ca9 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SubclassificationFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SubclassificationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SubjectMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SubjectMembershipFactory.cs index 1431f20a..c160bd60 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SubjectMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SubjectMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SubsettingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SubsettingFactory.cs index c9bf1b67..4b1607fc 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SubsettingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SubsettingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionAsUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionAsUsageFactory.cs index 50f5423e..687ebc3e 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionAsUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionAsUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFactory.cs index 5fcbcf41..bd94b38b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFlowFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFlowFactory.cs index 0fb9ed24..4da521b3 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFlowFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFlowFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFlowUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFlowUsageFactory.cs index 14362590..463a139d 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFlowUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/SuccessionFlowUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/TerminateActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/TerminateActionUsageFactory.cs index bc690f20..892626d8 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/TerminateActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/TerminateActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/TextualRepresentationFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/TextualRepresentationFactory.cs index 04b4c6b2..63fba293 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/TextualRepresentationFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/TextualRepresentationFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/TransitionFeatureMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/TransitionFeatureMembershipFactory.cs index 812f41b4..8901d43b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/TransitionFeatureMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/TransitionFeatureMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/TransitionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/TransitionUsageFactory.cs index 32b82c7f..3df493fd 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/TransitionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/TransitionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/TriggerInvocationExpressionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/TriggerInvocationExpressionFactory.cs index 04b8a803..c2e91ee0 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/TriggerInvocationExpressionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/TriggerInvocationExpressionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/TypeFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/TypeFactory.cs index 8f336e00..9bf38017 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/TypeFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/TypeFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/TypeFeaturingFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/TypeFeaturingFactory.cs index 46a2a611..e41f9cf0 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/TypeFeaturingFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/TypeFeaturingFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/UnioningFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/UnioningFactory.cs index 7c53d827..f218af2f 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/UnioningFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/UnioningFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/UsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/UsageFactory.cs index 63680db8..a0d6f68f 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/UsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/UsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/UseCaseDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/UseCaseDefinitionFactory.cs index 97b31e36..153cf41f 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/UseCaseDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/UseCaseDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/UseCaseUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/UseCaseUsageFactory.cs index b2621d27..306e28de 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/UseCaseUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/UseCaseUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/VariantMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/VariantMembershipFactory.cs index 3a5c5b60..ca7f33f9 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/VariantMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/VariantMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/VerificationCaseDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/VerificationCaseDefinitionFactory.cs index 9af6f52b..e97a2567 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/VerificationCaseDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/VerificationCaseDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/VerificationCaseUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/VerificationCaseUsageFactory.cs index eb88a894..6e880348 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/VerificationCaseUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/VerificationCaseUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewDefinitionFactory.cs index fd95b87a..23b4a391 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewRenderingMembershipFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewRenderingMembershipFactory.cs index a9b55be1..7a285ed7 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewRenderingMembershipFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewRenderingMembershipFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewUsageFactory.cs index 7c9cd965..c5d078ca 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewpointDefinitionFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewpointDefinitionFactory.cs index eeccd8fd..7587f05b 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewpointDefinitionFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewpointDefinitionFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewpointUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewpointUsageFactory.cs index 036e16bd..79a06d82 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewpointUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/ViewpointUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenElementFactory/WhileLoopActionUsageFactory.cs b/SysML2.NET.Dal/Core/AutoGenElementFactory/WhileLoopActionUsageFactory.cs index e629e1ea..247825bf 100644 --- a/SysML2.NET.Dal/Core/AutoGenElementFactory/WhileLoopActionUsageFactory.cs +++ b/SysML2.NET.Dal/Core/AutoGenElementFactory/WhileLoopActionUsageFactory.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AcceptActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AcceptActionUsageExtensions.cs index 36394eb6..aa097972 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AcceptActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AcceptActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.AcceptActionUsage ToDto(this Core.POCO.Sy dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActionDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActionDefinitionExtensions.cs index 42d6b7c1..57c981cf 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActionDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActionDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActionUsageExtensions.cs index cd039bf1..282d6130 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.ActionUsage ToDto(this Core.POCO.Systems. dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActorMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActorMembershipExtensions.cs index 7d51a4ae..8b1d1692 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActorMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ActorMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AllocationDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AllocationDefinitionExtensions.cs index 482d89e0..3fca4081 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AllocationDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AllocationDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AllocationUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AllocationUsageExtensions.cs index 44058e83..0f18d852 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AllocationUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AllocationUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnalysisCaseDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnalysisCaseDefinitionExtensions.cs index 23a72117..094ea306 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnalysisCaseDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnalysisCaseDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnalysisCaseUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnalysisCaseUsageExtensions.cs index c95fa5d5..50dfa0af 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnalysisCaseUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnalysisCaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,6 +211,7 @@ public static Core.DTO.Systems.AnalysisCases.AnalysisCaseUsage ToDto(this Core.P if (includeDerivedProperties) { + dto.actionDefinition = poco.actionDefinition.Select(x => x.Id).ToList(); dto.actorParameter = poco.actorParameter.Select(x => x.Id).ToList(); dto.analysisCaseDefinition = poco.analysisCaseDefinition?.Id; dto.chainingFeature = poco.chainingFeature.Select(x => x.Id).ToList(); @@ -267,6 +268,7 @@ public static Core.DTO.Systems.AnalysisCases.AnalysisCaseUsage ToDto(this Core.P dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); dto.objectiveRequirement = poco.objectiveRequirement?.Id; + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnnotatingElementExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnnotatingElementExtensions.cs index d6c75f9a..949d87ee 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnnotatingElementExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnnotatingElementExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnnotationExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnnotationExtensions.cs index 63859eeb..4509c0f6 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnnotationExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AnnotationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssertConstraintUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssertConstraintUsageExtensions.cs index 24b3be20..6b1cc2c4 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssertConstraintUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssertConstraintUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssignmentActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssignmentActionUsageExtensions.cs index e80b2e97..7991b27b 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssignmentActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssignmentActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.AssignmentActionUsage ToDto(this Core.POC dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssociationExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssociationExtensions.cs index 3f973959..3b0072e3 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssociationExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssociationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssociationStructureExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssociationStructureExtensions.cs index 4674199b..e2631338 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssociationStructureExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AssociationStructureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AttributeDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AttributeDefinitionExtensions.cs index a2f844eb..ce5dc995 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AttributeDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AttributeDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AttributeUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AttributeUsageExtensions.cs index 0ab175ca..84d58d5a 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/AttributeUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/AttributeUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/BehaviorExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/BehaviorExtensions.cs index c1ce450d..a908a4dc 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/BehaviorExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/BehaviorExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/BindingConnectorAsUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/BindingConnectorAsUsageExtensions.cs index 466f5a23..b32b8d5c 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/BindingConnectorAsUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/BindingConnectorAsUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/BindingConnectorExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/BindingConnectorExtensions.cs index 82187c04..110b2308 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/BindingConnectorExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/BindingConnectorExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/BooleanExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/BooleanExpressionExtensions.cs index 79af6f79..71e48b70 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/BooleanExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/BooleanExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CalculationDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CalculationDefinitionExtensions.cs index ed2fc7b4..426ddcf8 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CalculationDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CalculationDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CalculationUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CalculationUsageExtensions.cs index a3195991..aebcd8a1 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CalculationUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CalculationUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,6 +211,7 @@ public static Core.DTO.Systems.Calculations.CalculationUsage ToDto(this Core.POC if (includeDerivedProperties) { + dto.actionDefinition = poco.actionDefinition.Select(x => x.Id).ToList(); dto.calculationDefinition = poco.calculationDefinition?.Id; dto.chainingFeature = poco.chainingFeature.Select(x => x.Id).ToList(); dto.crossFeature = poco.crossFeature?.Id; @@ -265,6 +266,7 @@ public static Core.DTO.Systems.Calculations.CalculationUsage ToDto(this Core.POC dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CaseDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CaseDefinitionExtensions.cs index 9876418d..afe8b70f 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CaseDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CaseDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CaseUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CaseUsageExtensions.cs index e1d90967..3ae46e50 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CaseUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,6 +211,7 @@ public static Core.DTO.Systems.Cases.CaseUsage ToDto(this Core.POCO.Systems.Case if (includeDerivedProperties) { + dto.actionDefinition = poco.actionDefinition.Select(x => x.Id).ToList(); dto.actorParameter = poco.actorParameter.Select(x => x.Id).ToList(); dto.caseDefinition = poco.caseDefinition?.Id; dto.chainingFeature = poco.chainingFeature.Select(x => x.Id).ToList(); @@ -267,6 +268,7 @@ public static Core.DTO.Systems.Cases.CaseUsage ToDto(this Core.POCO.Systems.Case dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); dto.objectiveRequirement = poco.objectiveRequirement?.Id; + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ClassExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ClassExtensions.cs index b55c545b..b0fbef0a 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ClassExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ClassExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ClassifierExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ClassifierExtensions.cs index 7c053fb4..c237abac 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ClassifierExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ClassifierExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CollectExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CollectExpressionExtensions.cs index 7b008dc3..47129a0a 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CollectExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CollectExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CommentExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CommentExtensions.cs index 9ad9e447..1e6a2fa3 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CommentExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CommentExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConcernDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConcernDefinitionExtensions.cs index 9c7ecc37..bab53b87 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConcernDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConcernDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConcernUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConcernUsageExtensions.cs index 520ed815..52e89ce9 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConcernUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConcernUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugatedPortDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugatedPortDefinitionExtensions.cs index 82e944e0..62c883cb 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugatedPortDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugatedPortDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugatedPortTypingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugatedPortTypingExtensions.cs index 3121ed89..4871f85a 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugatedPortTypingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugatedPortTypingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugationExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugationExtensions.cs index 5a65b55e..b6a66b1b 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugationExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConjugationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectionDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectionDefinitionExtensions.cs index 095df0e9..009b5e3a 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectionDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectionDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectionUsageExtensions.cs index cebe0c2a..b653a40b 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectorExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectorExtensions.cs index 09bfc477..16fb104d 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectorExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConnectorExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstraintDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstraintDefinitionExtensions.cs index 2bd31c1f..f8d86537 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstraintDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstraintDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstraintUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstraintUsageExtensions.cs index df49ff5c..01199255 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstraintUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstraintUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstructorExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstructorExpressionExtensions.cs index 145772fb..c7099861 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstructorExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ConstructorExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CrossSubsettingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CrossSubsettingExtensions.cs index 70990f0f..2895504b 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/CrossSubsettingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/CrossSubsettingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DataTypeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DataTypeExtensions.cs index f5731f80..099e32d6 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DataTypeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DataTypeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DecisionNodeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DecisionNodeExtensions.cs index f79b212d..6dde271f 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DecisionNodeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DecisionNodeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.DecisionNode ToDto(this Core.POCO.Systems dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DefinitionExtensions.cs index bf6263b3..59f3a674 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DependencyExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DependencyExtensions.cs index 2a8148de..0803eb55 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DependencyExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DependencyExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DifferencingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DifferencingExtensions.cs index d671ea1d..55261352 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DifferencingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DifferencingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DisjoiningExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DisjoiningExtensions.cs index 9f698f51..78608c84 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DisjoiningExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DisjoiningExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DocumentationExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DocumentationExtensions.cs index 2b85babd..fa59b591 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/DocumentationExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/DocumentationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ElementExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ElementExtensions.cs index 8db53e8a..393fc82c 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ElementExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ElementExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ElementFilterMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ElementFilterMembershipExtensions.cs index c9b17596..ce69e832 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ElementFilterMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ElementFilterMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/EndFeatureMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/EndFeatureMembershipExtensions.cs index 73c07fb3..a6e24539 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/EndFeatureMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/EndFeatureMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/EnumerationDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/EnumerationDefinitionExtensions.cs index e011e6fe..293a67bf 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/EnumerationDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/EnumerationDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/EnumerationUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/EnumerationUsageExtensions.cs index 3bd0ed5d..6a6898e7 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/EnumerationUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/EnumerationUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/EventOccurrenceUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/EventOccurrenceUsageExtensions.cs index 68db62e1..47166aa4 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/EventOccurrenceUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/EventOccurrenceUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ExhibitStateUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ExhibitStateUsageExtensions.cs index 5de5f829..f295b9a9 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ExhibitStateUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ExhibitStateUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -270,6 +270,7 @@ public static Core.DTO.Systems.States.ExhibitStateUsage ToDto(this Core.POCO.Sys dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ExpressionExtensions.cs index c706afdb..910345f2 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureChainExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureChainExpressionExtensions.cs index 6300559d..55e2581a 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureChainExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureChainExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureChainingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureChainingExtensions.cs index c3ca51b0..bb368145 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureChainingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureChainingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureExtensions.cs index 1220c774..fbaaff89 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureInvertingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureInvertingExtensions.cs index fd1909c8..078325ba 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureInvertingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureInvertingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureMembershipExtensions.cs index c0e0b21b..770e2e8c 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureReferenceExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureReferenceExpressionExtensions.cs index 429f5a7a..3f8e1617 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureReferenceExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureReferenceExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureTypingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureTypingExtensions.cs index bac5daaf..cfb7a7fd 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureTypingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureTypingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureValueExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureValueExtensions.cs index 89861837..4ddbfa64 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureValueExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FeatureValueExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowDefinitionExtensions.cs index 08dad4ee..495243ff 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowEndExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowEndExtensions.cs index af802dc9..6041a3e2 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowEndExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowEndExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowExtensions.cs index 33c6ef80..a396d768 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowUsageExtensions.cs index 8f47efe3..e784be12 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FlowUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -244,6 +244,7 @@ public static Core.DTO.Systems.Flows.FlowUsage ToDto(this Core.POCO.Systems.Flow if (includeDerivedProperties) { + dto.actionDefinition = poco.actionDefinition.Select(x => x.Id).ToList(); dto.chainingFeature = poco.chainingFeature.Select(x => x.Id).ToList(); dto.connectorEnd = poco.connectorEnd.Select(x => x.Id).ToList(); dto.crossFeature = poco.crossFeature?.Id; @@ -299,6 +300,7 @@ public static Core.DTO.Systems.Flows.FlowUsage ToDto(this Core.POCO.Systems.Flow dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ForLoopActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ForLoopActionUsageExtensions.cs index 0d9e6337..85b7658c 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ForLoopActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ForLoopActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -266,6 +266,7 @@ public static Core.DTO.Systems.Actions.ForLoopActionUsage ToDto(this Core.POCO.S dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ForkNodeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ForkNodeExtensions.cs index 231847ab..e3114234 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ForkNodeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ForkNodeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.ForkNode ToDto(this Core.POCO.Systems.Act dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FramedConcernMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FramedConcernMembershipExtensions.cs index f52c8f26..69fbbb64 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FramedConcernMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FramedConcernMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FunctionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FunctionExtensions.cs index 430ce72a..6ccbd2bb 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/FunctionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/FunctionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/IfActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/IfActionUsageExtensions.cs index 5dba2a43..ecb78d68 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/IfActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/IfActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -266,6 +266,7 @@ public static Core.DTO.Systems.Actions.IfActionUsage ToDto(this Core.POCO.System dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/IncludeUseCaseUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/IncludeUseCaseUsageExtensions.cs index 4c631cde..d4a4ca80 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/IncludeUseCaseUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/IncludeUseCaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,6 +211,7 @@ public static Core.DTO.Systems.UseCases.IncludeUseCaseUsage ToDto(this Core.POCO if (includeDerivedProperties) { + dto.actionDefinition = poco.actionDefinition.Select(x => x.Id).ToList(); dto.actorParameter = poco.actorParameter.Select(x => x.Id).ToList(); dto.chainingFeature = poco.chainingFeature.Select(x => x.Id).ToList(); dto.crossFeature = poco.crossFeature?.Id; @@ -267,6 +268,7 @@ public static Core.DTO.Systems.UseCases.IncludeUseCaseUsage ToDto(this Core.POCO dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); dto.objectiveRequirement = poco.objectiveRequirement?.Id; + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/IndexExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/IndexExpressionExtensions.cs index 8343cdb7..723711e0 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/IndexExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/IndexExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InteractionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InteractionExtensions.cs index d8b01f05..6244443e 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InteractionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InteractionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InterfaceDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InterfaceDefinitionExtensions.cs index 228a7f66..601e2609 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InterfaceDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InterfaceDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InterfaceUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InterfaceUsageExtensions.cs index 2631e1c6..5da860d8 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InterfaceUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InterfaceUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/IntersectingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/IntersectingExtensions.cs index 3cbd204a..8ddbe04e 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/IntersectingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/IntersectingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InvariantExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InvariantExtensions.cs index 94637b30..05f6ac38 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InvariantExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InvariantExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InvocationExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InvocationExpressionExtensions.cs index 0a377206..357cab00 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/InvocationExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/InvocationExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ItemDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ItemDefinitionExtensions.cs index 90f20084..5d7ebdd3 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ItemDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ItemDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ItemUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ItemUsageExtensions.cs index 92d7179b..571b3e36 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ItemUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ItemUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/JoinNodeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/JoinNodeExtensions.cs index 95bd1535..39a9474a 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/JoinNodeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/JoinNodeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.JoinNode ToDto(this Core.POCO.Systems.Act dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LibraryPackageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LibraryPackageExtensions.cs index 2b27d4f7..fb0cb7fd 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LibraryPackageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LibraryPackageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralBooleanExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralBooleanExtensions.cs index 668b4e4e..1120b658 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralBooleanExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralBooleanExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralExpressionExtensions.cs index b2d875ed..fe68c2f7 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralInfinityExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralInfinityExtensions.cs index 9301d6a0..6a512181 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralInfinityExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralInfinityExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralIntegerExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralIntegerExtensions.cs index 67625c66..c6df6f41 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralIntegerExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralIntegerExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralRationalExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralRationalExtensions.cs index d428833a..a09755d6 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralRationalExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralRationalExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralStringExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralStringExtensions.cs index afde209f..64f36c64 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralStringExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/LiteralStringExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipExposeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipExposeExtensions.cs index 530e77ce..9dece572 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipExposeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipExposeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipExtensions.cs index 3b399869..ca47673d 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipImportExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipImportExtensions.cs index 514da737..f6234d11 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipImportExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MembershipImportExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MergeNodeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MergeNodeExtensions.cs index dff6a825..f939efd4 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MergeNodeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MergeNodeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.MergeNode ToDto(this Core.POCO.Systems.Ac dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetaclassExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetaclassExtensions.cs index 48d15f74..5e7a7566 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetaclassExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetaclassExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataAccessExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataAccessExpressionExtensions.cs index 651c072f..123aa216 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataAccessExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataAccessExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataDefinitionExtensions.cs index eb0b1a8d..951c8bc3 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataFeatureExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataFeatureExtensions.cs index 444be66b..2fffb68e 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataFeatureExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataFeatureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataUsageExtensions.cs index fc194929..6ee477d7 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MetadataUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -234,6 +234,7 @@ public static Core.DTO.Systems.Metadata.MetadataUsage ToDto(this Core.POCO.Syste dto.isConjugated = poco.isConjugated; dto.isLibraryElement = poco.isLibraryElement; dto.isReference = poco.isReference; + dto.itemDefinition = poco.itemDefinition.Select(x => x.Id).ToList(); dto.mayTimeVary = poco.mayTimeVary; dto.member = poco.member.Select(x => x.Id).ToList(); dto.membership = poco.membership.Select(x => x.Id).ToList(); diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MultiplicityExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MultiplicityExtensions.cs index 7703fc80..7bf59fdc 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MultiplicityExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MultiplicityExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MultiplicityRangeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MultiplicityRangeExtensions.cs index 721f9dd9..9879a749 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/MultiplicityRangeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/MultiplicityRangeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceExposeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceExposeExtensions.cs index 1480320b..ee72cc9e 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceExposeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceExposeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceExtensions.cs index 1e7dd697..d65e0adb 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceImportExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceImportExtensions.cs index e97b7801..40032885 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceImportExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/NamespaceImportExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/NullExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/NullExpressionExtensions.cs index 7c4438da..4c322ec0 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/NullExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/NullExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ObjectiveMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ObjectiveMembershipExtensions.cs index c00d84fc..529fd738 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ObjectiveMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ObjectiveMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/OccurrenceDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/OccurrenceDefinitionExtensions.cs index fd2c73c4..48b7dcb3 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/OccurrenceDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/OccurrenceDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/OccurrenceUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/OccurrenceUsageExtensions.cs index d071ae2a..12461e79 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/OccurrenceUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/OccurrenceUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/OperatorExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/OperatorExpressionExtensions.cs index efed974a..e07ea9e1 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/OperatorExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/OperatorExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/OwningMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/OwningMembershipExtensions.cs index 061db775..38c5151c 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/OwningMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/OwningMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PackageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PackageExtensions.cs index 7e350c9c..638ac8da 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PackageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PackageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ParameterMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ParameterMembershipExtensions.cs index 0ab3270a..da857db0 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ParameterMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ParameterMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PartDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PartDefinitionExtensions.cs index daa8e821..2f458808 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PartDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PartDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PartUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PartUsageExtensions.cs index 07fc2cb6..a7cf5861 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PartUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PartUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PayloadFeatureExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PayloadFeatureExtensions.cs index 8d0ef329..05fc51a2 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PayloadFeatureExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PayloadFeatureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PerformActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PerformActionUsageExtensions.cs index 6b34515c..d8e95753 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PerformActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PerformActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.PerformActionUsage ToDto(this Core.POCO.S dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortConjugationExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortConjugationExtensions.cs index 8bd95049..ac5e674f 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortConjugationExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortConjugationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortDefinitionExtensions.cs index d5a47212..60a54fdb 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortUsageExtensions.cs index 24c823e1..059974ed 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PortUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PredicateExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PredicateExtensions.cs index c4a7aeb7..dc1dd506 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/PredicateExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/PredicateExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RedefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RedefinitionExtensions.cs index 32c5e4b4..097c7718 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RedefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RedefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReferenceSubsettingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReferenceSubsettingExtensions.cs index 4f11d9f0..568d6c78 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReferenceSubsettingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReferenceSubsettingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReferenceUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReferenceUsageExtensions.cs index 9d4468c5..36286c62 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReferenceUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReferenceUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RenderingDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RenderingDefinitionExtensions.cs index 2e2399d7..b931ad39 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RenderingDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RenderingDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RenderingUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RenderingUsageExtensions.cs index ef2bb259..db47639c 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RenderingUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RenderingUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementConstraintMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementConstraintMembershipExtensions.cs index 45c266ca..34847cc4 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementConstraintMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementConstraintMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementDefinitionExtensions.cs index 45b3a921..4c8f6efe 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementUsageExtensions.cs index 620c5400..b369646f 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementVerificationMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementVerificationMembershipExtensions.cs index c46c6c2a..adf86d14 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementVerificationMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/RequirementVerificationMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ResultExpressionMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ResultExpressionMembershipExtensions.cs index 086bf1bf..7ccbad90 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ResultExpressionMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ResultExpressionMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReturnParameterMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReturnParameterMembershipExtensions.cs index cce0349b..e45fa194 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReturnParameterMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ReturnParameterMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SatisfyRequirementUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SatisfyRequirementUsageExtensions.cs index b5b18fa8..992c94f4 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SatisfyRequirementUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SatisfyRequirementUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SelectExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SelectExpressionExtensions.cs index c06d6eea..005d128b 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SelectExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SelectExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SendActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SendActionUsageExtensions.cs index 4a7920a4..717751ba 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SendActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SendActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.SendActionUsage ToDto(this Core.POCO.Syst dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SpecializationExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SpecializationExtensions.cs index 2a3fc857..9663a25a 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SpecializationExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SpecializationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StakeholderMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StakeholderMembershipExtensions.cs index ee65dc5a..2939ca85 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StakeholderMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StakeholderMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateDefinitionExtensions.cs index 50ff1970..45d22335 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateSubactionMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateSubactionMembershipExtensions.cs index 6fdfcb19..7a0828a0 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateSubactionMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateSubactionMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateUsageExtensions.cs index 7ab8b358..798df856 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StateUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -269,6 +269,7 @@ public static Core.DTO.Systems.States.StateUsage ToDto(this Core.POCO.Systems.St dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StepExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StepExtensions.cs index eaa60051..852932e6 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StepExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StepExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StructureExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StructureExtensions.cs index e50f0549..55f95694 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/StructureExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/StructureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubclassificationExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubclassificationExtensions.cs index 1db8fa4f..b6b6dce8 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubclassificationExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubclassificationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubjectMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubjectMembershipExtensions.cs index 82b656e7..404f19fd 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubjectMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubjectMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubsettingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubsettingExtensions.cs index ec18dd9d..36acb26b 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubsettingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SubsettingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionAsUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionAsUsageExtensions.cs index 07eaf461..7db17da1 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionAsUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionAsUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionExtensions.cs index 4c211fe2..11c843ef 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionFlowExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionFlowExtensions.cs index 0590c9fa..91f6feb4 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionFlowExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionFlowExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionFlowUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionFlowUsageExtensions.cs index 9ef4f03a..32fcaee1 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionFlowUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/SuccessionFlowUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -244,6 +244,7 @@ public static Core.DTO.Systems.Flows.SuccessionFlowUsage ToDto(this Core.POCO.Sy if (includeDerivedProperties) { + dto.actionDefinition = poco.actionDefinition.Select(x => x.Id).ToList(); dto.chainingFeature = poco.chainingFeature.Select(x => x.Id).ToList(); dto.connectorEnd = poco.connectorEnd.Select(x => x.Id).ToList(); dto.crossFeature = poco.crossFeature?.Id; @@ -299,6 +300,7 @@ public static Core.DTO.Systems.Flows.SuccessionFlowUsage ToDto(this Core.POCO.Sy dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TerminateActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TerminateActionUsageExtensions.cs index 97a1809c..d6542df3 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TerminateActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TerminateActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -264,6 +264,7 @@ public static Core.DTO.Systems.Actions.TerminateActionUsage ToDto(this Core.POCO dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TextualRepresentationExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TextualRepresentationExtensions.cs index a978e88c..8408473b 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TextualRepresentationExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TextualRepresentationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TransitionFeatureMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TransitionFeatureMembershipExtensions.cs index b27cdf84..7b2b0882 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TransitionFeatureMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TransitionFeatureMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TransitionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TransitionUsageExtensions.cs index 6209105d..0f33bf2d 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TransitionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TransitionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -266,6 +266,7 @@ public static Core.DTO.Systems.States.TransitionUsage ToDto(this Core.POCO.Syste dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TriggerInvocationExpressionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TriggerInvocationExpressionExtensions.cs index 695e4489..41041a92 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TriggerInvocationExpressionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TriggerInvocationExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TypeExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TypeExtensions.cs index c38e2f76..eaa04b30 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TypeExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TypeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TypeFeaturingExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TypeFeaturingExtensions.cs index d1125958..708a3777 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/TypeFeaturingExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/TypeFeaturingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/UnioningExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/UnioningExtensions.cs index a6339e64..8967099f 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/UnioningExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/UnioningExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/UsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/UsageExtensions.cs index bcda1cd9..55db52ee 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/UsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/UsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/UseCaseDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/UseCaseDefinitionExtensions.cs index f88cd722..8bbdf162 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/UseCaseDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/UseCaseDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/UseCaseUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/UseCaseUsageExtensions.cs index 0e2afe89..0a765ba1 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/UseCaseUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/UseCaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,6 +211,7 @@ public static Core.DTO.Systems.UseCases.UseCaseUsage ToDto(this Core.POCO.System if (includeDerivedProperties) { + dto.actionDefinition = poco.actionDefinition.Select(x => x.Id).ToList(); dto.actorParameter = poco.actorParameter.Select(x => x.Id).ToList(); dto.chainingFeature = poco.chainingFeature.Select(x => x.Id).ToList(); dto.crossFeature = poco.crossFeature?.Id; @@ -267,6 +268,7 @@ public static Core.DTO.Systems.UseCases.UseCaseUsage ToDto(this Core.POCO.System dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); dto.objectiveRequirement = poco.objectiveRequirement?.Id; + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/VariantMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/VariantMembershipExtensions.cs index 32c3ed66..bb3c193c 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/VariantMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/VariantMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/VerificationCaseDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/VerificationCaseDefinitionExtensions.cs index eb23f9c6..83b423a0 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/VerificationCaseDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/VerificationCaseDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/VerificationCaseUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/VerificationCaseUsageExtensions.cs index 81872e5e..3165db79 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/VerificationCaseUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/VerificationCaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -211,6 +211,7 @@ public static Core.DTO.Systems.VerificationCases.VerificationCaseUsage ToDto(thi if (includeDerivedProperties) { + dto.actionDefinition = poco.actionDefinition.Select(x => x.Id).ToList(); dto.actorParameter = poco.actorParameter.Select(x => x.Id).ToList(); dto.caseDefinition = poco.caseDefinition?.Id; dto.chainingFeature = poco.chainingFeature.Select(x => x.Id).ToList(); @@ -267,6 +268,7 @@ public static Core.DTO.Systems.VerificationCases.VerificationCaseUsage ToDto(thi dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); dto.objectiveRequirement = poco.objectiveRequirement?.Id; + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewDefinitionExtensions.cs index 1fa9b3d6..d9340f70 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewRenderingMembershipExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewRenderingMembershipExtensions.cs index 5d2250e4..964e6649 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewRenderingMembershipExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewRenderingMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewUsageExtensions.cs index 5458cc26..97ca991b 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewpointDefinitionExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewpointDefinitionExtensions.cs index fce839fb..ce8f5b88 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewpointDefinitionExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewpointDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewpointUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewpointUsageExtensions.cs index a8be8715..6b5f8132 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewpointUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/ViewpointUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Dal/Core/AutoGenPocoExtension/WhileLoopActionUsageExtensions.cs b/SysML2.NET.Dal/Core/AutoGenPocoExtension/WhileLoopActionUsageExtensions.cs index 8bb8048e..19981aa9 100644 --- a/SysML2.NET.Dal/Core/AutoGenPocoExtension/WhileLoopActionUsageExtensions.cs +++ b/SysML2.NET.Dal/Core/AutoGenPocoExtension/WhileLoopActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -265,6 +265,7 @@ public static Core.DTO.Systems.Actions.WhileLoopActionUsage ToDto(this Core.POCO dto.nestedVerificationCase = poco.nestedVerificationCase.Select(x => x.Id).ToList(); dto.nestedView = poco.nestedView.Select(x => x.Id).ToList(); dto.nestedViewpoint = poco.nestedViewpoint.Select(x => x.Id).ToList(); + dto.occurrenceDefinition = poco.occurrenceDefinition.Select(x => x.Id).ToList(); dto.output = poco.output.Select(x => x.Id).ToList(); dto.ownedAnnotation = poco.ownedAnnotation.Select(x => x.Id).ToList(); dto.ownedConjugator = poco.ownedConjugator?.Id; diff --git a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/FeatureDirectionKindProvider.cs b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/FeatureDirectionKindProvider.cs index 6a871885..bf47ec02 100644 --- a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/FeatureDirectionKindProvider.cs +++ b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/FeatureDirectionKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/PortionKindProvider.cs b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/PortionKindProvider.cs index 16d91465..ce09d45f 100644 --- a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/PortionKindProvider.cs +++ b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/PortionKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/RequirementConstraintKindProvider.cs b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/RequirementConstraintKindProvider.cs index 6234576a..3fbf5382 100644 --- a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/RequirementConstraintKindProvider.cs +++ b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/RequirementConstraintKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/StateSubactionKindProvider.cs b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/StateSubactionKindProvider.cs index 03d7f921..d40fbf51 100644 --- a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/StateSubactionKindProvider.cs +++ b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/StateSubactionKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/TransitionFeatureKindProvider.cs b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/TransitionFeatureKindProvider.cs index 6f2444e8..f5ffa038 100644 --- a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/TransitionFeatureKindProvider.cs +++ b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/TransitionFeatureKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/TriggerKindProvider.cs b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/TriggerKindProvider.cs index 1b84a488..4bfda599 100644 --- a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/TriggerKindProvider.cs +++ b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/TriggerKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/VisibilityKindProvider.cs b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/VisibilityKindProvider.cs index 59a7f681..9868846b 100644 --- a/SysML2.NET.Extensions/Core/AutoGenEnumProvider/VisibilityKindProvider.cs +++ b/SysML2.NET.Extensions/Core/AutoGenEnumProvider/VisibilityKindProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AcceptActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AcceptActionUsageDeSerializer.cs index 1420440d..5523f8e6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AcceptActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AcceptActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActionDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActionDefinitionDeSerializer.cs index 6af78285..66441650 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActionDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActionDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActionUsageDeSerializer.cs index 7c554d0a..fcd14c32 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActorMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActorMembershipDeSerializer.cs index dfc96d46..38843cb4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActorMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ActorMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AllocationDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AllocationDefinitionDeSerializer.cs index e7142af8..81da1e74 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AllocationDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AllocationDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AllocationUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AllocationUsageDeSerializer.cs index fe65560d..30a326a0 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AllocationUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AllocationUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnalysisCaseDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnalysisCaseDefinitionDeSerializer.cs index c147ea9f..613f96a7 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnalysisCaseDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnalysisCaseDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnalysisCaseUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnalysisCaseUsageDeSerializer.cs index 415bc7e6..b5ec9e08 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnalysisCaseUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnalysisCaseUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnnotatingElementDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnnotatingElementDeSerializer.cs index 531d5529..32d8d2d2 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnnotatingElementDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnnotatingElementDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnnotationDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnnotationDeSerializer.cs index 4d88dcc2..6159268d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnnotationDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AnnotationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssertConstraintUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssertConstraintUsageDeSerializer.cs index b0b9490d..1835c7d0 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssertConstraintUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssertConstraintUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssignmentActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssignmentActionUsageDeSerializer.cs index 5fcb0ce7..66020f98 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssignmentActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssignmentActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssociationDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssociationDeSerializer.cs index 7b81427d..25f8f962 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssociationDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssociationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssociationStructureDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssociationStructureDeSerializer.cs index 016ebb8a..5e417e8d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssociationStructureDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AssociationStructureDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AttributeDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AttributeDefinitionDeSerializer.cs index 143da862..504ed03c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AttributeDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AttributeDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AttributeUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AttributeUsageDeSerializer.cs index 8cad6269..bcb9446c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AttributeUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/AttributeUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BehaviorDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BehaviorDeSerializer.cs index d9862c77..932dd570 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BehaviorDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BehaviorDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BindingConnectorAsUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BindingConnectorAsUsageDeSerializer.cs index 0b21a643..e3a04f4f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BindingConnectorAsUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BindingConnectorAsUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BindingConnectorDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BindingConnectorDeSerializer.cs index 5130105b..f9992d7b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BindingConnectorDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BindingConnectorDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BooleanExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BooleanExpressionDeSerializer.cs index 0d9f2a13..e0e1a70f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BooleanExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/BooleanExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CalculationDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CalculationDefinitionDeSerializer.cs index 7d6cb6d1..47cbdd35 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CalculationDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CalculationDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CalculationUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CalculationUsageDeSerializer.cs index b0106b37..b21652de 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CalculationUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CalculationUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CaseDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CaseDefinitionDeSerializer.cs index a9996e0e..74778177 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CaseDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CaseDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CaseUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CaseUsageDeSerializer.cs index 12ee4cae..c34e4ddb 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CaseUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CaseUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ClassDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ClassDeSerializer.cs index d1e9eac6..5a449a47 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ClassDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ClassDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ClassifierDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ClassifierDeSerializer.cs index e1f32956..2ca28ab7 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ClassifierDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ClassifierDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CollectExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CollectExpressionDeSerializer.cs index e4b4108b..d96fa244 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CollectExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CollectExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CommentDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CommentDeSerializer.cs index c8e03694..caaad692 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CommentDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CommentDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConcernDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConcernDefinitionDeSerializer.cs index abeca2f2..a6916fa2 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConcernDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConcernDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConcernUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConcernUsageDeSerializer.cs index ad3ab22d..6b9cd1f6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConcernUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConcernUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugatedPortDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugatedPortDefinitionDeSerializer.cs index 7b2d9232..3efe6b48 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugatedPortDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugatedPortDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugatedPortTypingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugatedPortTypingDeSerializer.cs index f52270e0..a239eaed 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugatedPortTypingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugatedPortTypingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugationDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugationDeSerializer.cs index f994c45b..b862dcd2 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugationDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConjugationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectionDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectionDefinitionDeSerializer.cs index d25f5801..b9782a40 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectionDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectionDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectionUsageDeSerializer.cs index cd187cd1..611ba2e1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectorDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectorDeSerializer.cs index 412640a9..59c31553 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectorDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConnectorDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstraintDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstraintDefinitionDeSerializer.cs index 1c724bb3..69dd436d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstraintDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstraintDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstraintUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstraintUsageDeSerializer.cs index a2f860a2..2e8564e4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstraintUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstraintUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstructorExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstructorExpressionDeSerializer.cs index bdad503f..73b53101 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstructorExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ConstructorExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CrossSubsettingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CrossSubsettingDeSerializer.cs index f7004993..6c1ad3e9 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CrossSubsettingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/CrossSubsettingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DataTypeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DataTypeDeSerializer.cs index b9f0345d..b4ddf55e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DataTypeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DataTypeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DeSerializationProvider.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DeSerializationProvider.cs index 63b63347..8836d02f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DeSerializationProvider.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DeSerializationProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DecisionNodeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DecisionNodeDeSerializer.cs index 0663df34..c45417c1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DecisionNodeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DecisionNodeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DefinitionDeSerializer.cs index b3044c17..707d18b7 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DependencyDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DependencyDeSerializer.cs index d1148406..d56719b8 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DependencyDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DependencyDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DifferencingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DifferencingDeSerializer.cs index 0155e8ed..f458d1d9 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DifferencingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DifferencingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DisjoiningDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DisjoiningDeSerializer.cs index 0da37320..1791b687 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DisjoiningDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DisjoiningDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DocumentationDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DocumentationDeSerializer.cs index 354ab8ca..7d4ba40d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DocumentationDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/DocumentationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ElementFilterMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ElementFilterMembershipDeSerializer.cs index 4d69c9ca..8726a131 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ElementFilterMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ElementFilterMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EndFeatureMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EndFeatureMembershipDeSerializer.cs index e5012c8d..87e8d8a3 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EndFeatureMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EndFeatureMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EnumerationDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EnumerationDefinitionDeSerializer.cs index a6a29b2a..200fbfb0 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EnumerationDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EnumerationDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EnumerationUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EnumerationUsageDeSerializer.cs index 17986197..ed52eafa 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EnumerationUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EnumerationUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EventOccurrenceUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EventOccurrenceUsageDeSerializer.cs index 9cc2e60e..d6980a8b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EventOccurrenceUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/EventOccurrenceUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ExhibitStateUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ExhibitStateUsageDeSerializer.cs index 8df8ba00..8970fbbb 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ExhibitStateUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ExhibitStateUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ExpressionDeSerializer.cs index 8a8440c5..ce79138e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureChainExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureChainExpressionDeSerializer.cs index aa0c6eba..7ea5d68a 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureChainExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureChainExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureChainingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureChainingDeSerializer.cs index 10898543..184e51c1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureChainingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureChainingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureDeSerializer.cs index c1218760..9d44a2e8 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureDirectionKindDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureDirectionKindDeSerializer.cs index 4249444b..478895ca 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureDirectionKindDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureDirectionKindDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureInvertingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureInvertingDeSerializer.cs index 5d692b7b..10419314 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureInvertingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureInvertingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureMembershipDeSerializer.cs index 35e2f22a..1b0f5535 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureReferenceExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureReferenceExpressionDeSerializer.cs index 3a657021..efdb79a3 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureReferenceExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureReferenceExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureTypingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureTypingDeSerializer.cs index ec0fd89a..c49ae4e4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureTypingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureTypingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureValueDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureValueDeSerializer.cs index e36cb398..d379a73a 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureValueDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FeatureValueDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowDeSerializer.cs index 08a0df40..5402cd39 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowDefinitionDeSerializer.cs index 6510ccb8..b31f2d29 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowEndDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowEndDeSerializer.cs index 044ae0b6..f283ab11 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowEndDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowEndDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowUsageDeSerializer.cs index b148e756..96a13be1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FlowUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ForLoopActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ForLoopActionUsageDeSerializer.cs index e756b552..5eac0005 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ForLoopActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ForLoopActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ForkNodeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ForkNodeDeSerializer.cs index 48408352..b1e92f0e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ForkNodeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ForkNodeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FramedConcernMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FramedConcernMembershipDeSerializer.cs index e9000520..79fd57f0 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FramedConcernMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FramedConcernMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FunctionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FunctionDeSerializer.cs index 2102dbd6..31237e24 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FunctionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/FunctionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IfActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IfActionUsageDeSerializer.cs index 6bcea7d7..40cc3a2f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IfActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IfActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IncludeUseCaseUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IncludeUseCaseUsageDeSerializer.cs index 487e7d2c..a900b894 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IncludeUseCaseUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IncludeUseCaseUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IndexExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IndexExpressionDeSerializer.cs index 7d565ba3..191c3b9b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IndexExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IndexExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InteractionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InteractionDeSerializer.cs index 15339923..0dea967f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InteractionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InteractionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InterfaceDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InterfaceDefinitionDeSerializer.cs index bebaa82f..b417df7f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InterfaceDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InterfaceDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InterfaceUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InterfaceUsageDeSerializer.cs index 6534caf1..ef67d33b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InterfaceUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InterfaceUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IntersectingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IntersectingDeSerializer.cs index 5a763500..ade1ef2d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IntersectingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/IntersectingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InvariantDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InvariantDeSerializer.cs index a61c9279..36119f4e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InvariantDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InvariantDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InvocationExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InvocationExpressionDeSerializer.cs index 85b8e677..8108b3ad 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InvocationExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/InvocationExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ItemDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ItemDefinitionDeSerializer.cs index 2dc3bfd5..749b004b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ItemDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ItemDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ItemUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ItemUsageDeSerializer.cs index 73d4542d..b761b89a 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ItemUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ItemUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/JoinNodeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/JoinNodeDeSerializer.cs index ef2c8379..30ebfc2e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/JoinNodeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/JoinNodeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LibraryPackageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LibraryPackageDeSerializer.cs index 6447f840..d70f5dc1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LibraryPackageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LibraryPackageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralBooleanDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralBooleanDeSerializer.cs index 3d21d785..7bcb81bc 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralBooleanDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralBooleanDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralExpressionDeSerializer.cs index 1f60b9e6..07be19eb 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralInfinityDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralInfinityDeSerializer.cs index 2c2fa2de..68d48385 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralInfinityDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralInfinityDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralIntegerDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralIntegerDeSerializer.cs index be45e1c3..22ab8827 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralIntegerDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralIntegerDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralRationalDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralRationalDeSerializer.cs index e519cea9..5cf52665 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralRationalDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralRationalDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralStringDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralStringDeSerializer.cs index ed651e97..b40de8aa 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralStringDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/LiteralStringDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipDeSerializer.cs index c3ef9d2d..5c70427a 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipExposeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipExposeDeSerializer.cs index c77d6ef1..c1984b33 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipExposeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipExposeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipImportDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipImportDeSerializer.cs index ced39149..df58c564 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipImportDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MembershipImportDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MergeNodeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MergeNodeDeSerializer.cs index 66b0c811..ccf17d1d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MergeNodeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MergeNodeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetaclassDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetaclassDeSerializer.cs index 7b922b4e..305f7643 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetaclassDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetaclassDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataAccessExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataAccessExpressionDeSerializer.cs index 45304f4b..23c48406 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataAccessExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataAccessExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataDefinitionDeSerializer.cs index 609e88e8..59592069 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataFeatureDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataFeatureDeSerializer.cs index 9f93551b..f20fe241 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataFeatureDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataFeatureDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataUsageDeSerializer.cs index 8e4b815d..8fdc663f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MetadataUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MultiplicityDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MultiplicityDeSerializer.cs index 0f5118cf..d1c3da56 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MultiplicityDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MultiplicityDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MultiplicityRangeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MultiplicityRangeDeSerializer.cs index ed257eda..6f0c53e7 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MultiplicityRangeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/MultiplicityRangeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceDeSerializer.cs index b911bf88..9a612c2b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceExposeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceExposeDeSerializer.cs index cbb3da0b..843571d5 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceExposeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceExposeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceImportDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceImportDeSerializer.cs index 12ea2ac0..63e3cebe 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceImportDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NamespaceImportDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NullExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NullExpressionDeSerializer.cs index 52e78410..e4799f5d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NullExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/NullExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ObjectiveMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ObjectiveMembershipDeSerializer.cs index 5a538cb9..9f7b04aa 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ObjectiveMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ObjectiveMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OccurrenceDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OccurrenceDefinitionDeSerializer.cs index e77d5b55..aba6eef2 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OccurrenceDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OccurrenceDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OccurrenceUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OccurrenceUsageDeSerializer.cs index ee1be843..849e32f4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OccurrenceUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OccurrenceUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OperatorExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OperatorExpressionDeSerializer.cs index c7155370..0481ea5f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OperatorExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OperatorExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OwningMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OwningMembershipDeSerializer.cs index 3f19c27b..3bcbd918 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OwningMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/OwningMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PackageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PackageDeSerializer.cs index 6fd4ff6a..b6d8f118 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PackageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PackageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ParameterMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ParameterMembershipDeSerializer.cs index f34df778..2f3c92e3 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ParameterMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ParameterMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PartDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PartDefinitionDeSerializer.cs index a7587807..427ea1de 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PartDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PartDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PartUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PartUsageDeSerializer.cs index b6f515b8..7b048111 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PartUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PartUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PayloadFeatureDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PayloadFeatureDeSerializer.cs index bb26ad8b..ce83922b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PayloadFeatureDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PayloadFeatureDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PerformActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PerformActionUsageDeSerializer.cs index 8944de4e..510d8f96 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PerformActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PerformActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortConjugationDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortConjugationDeSerializer.cs index f2b0fe27..800c1055 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortConjugationDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortConjugationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortDefinitionDeSerializer.cs index ab913855..a5d8db37 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortUsageDeSerializer.cs index 4d6e25e6..6d3cf427 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortionKindDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortionKindDeSerializer.cs index d156b216..e7754108 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortionKindDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PortionKindDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PredicateDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PredicateDeSerializer.cs index 0e911598..180f96bd 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PredicateDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/PredicateDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RedefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RedefinitionDeSerializer.cs index 70e2af0b..862a4f10 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RedefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RedefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReferenceSubsettingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReferenceSubsettingDeSerializer.cs index 421949a5..dec4751b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReferenceSubsettingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReferenceSubsettingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReferenceUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReferenceUsageDeSerializer.cs index 26d5551f..3658dd84 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReferenceUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReferenceUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RenderingDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RenderingDefinitionDeSerializer.cs index 2cfe3e97..bad62f1e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RenderingDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RenderingDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RenderingUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RenderingUsageDeSerializer.cs index 6e82a372..0f636ce4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RenderingUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RenderingUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementConstraintKindDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementConstraintKindDeSerializer.cs index 2182cb32..909f4c1f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementConstraintKindDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementConstraintKindDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementConstraintMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementConstraintMembershipDeSerializer.cs index 39a0a1b9..43be2817 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementConstraintMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementConstraintMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementDefinitionDeSerializer.cs index cf50942d..bccde7ae 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementUsageDeSerializer.cs index 1ab83263..e1c1e479 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementVerificationMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementVerificationMembershipDeSerializer.cs index ec433583..ff7f5cd4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementVerificationMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/RequirementVerificationMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ResultExpressionMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ResultExpressionMembershipDeSerializer.cs index dfaab9d2..690c0e6c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ResultExpressionMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ResultExpressionMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReturnParameterMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReturnParameterMembershipDeSerializer.cs index acfdcbe2..71d74da6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReturnParameterMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ReturnParameterMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SatisfyRequirementUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SatisfyRequirementUsageDeSerializer.cs index 6dcb6bff..3612b884 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SatisfyRequirementUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SatisfyRequirementUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SelectExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SelectExpressionDeSerializer.cs index 1a4a02b2..4b933fd3 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SelectExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SelectExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SendActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SendActionUsageDeSerializer.cs index 09d1223f..9c874bcc 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SendActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SendActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SpecializationDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SpecializationDeSerializer.cs index fea379ec..df0d8cd7 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SpecializationDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SpecializationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StakeholderMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StakeholderMembershipDeSerializer.cs index 459f8fea..e45a8dcf 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StakeholderMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StakeholderMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateDefinitionDeSerializer.cs index b74a5124..7faa5612 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateSubactionKindDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateSubactionKindDeSerializer.cs index 2f72e012..4dedcda1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateSubactionKindDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateSubactionKindDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateSubactionMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateSubactionMembershipDeSerializer.cs index ac60ba77..27586bf0 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateSubactionMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateSubactionMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateUsageDeSerializer.cs index bd2738b0..8e6fb349 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StateUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StepDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StepDeSerializer.cs index 1421d6e6..f97dcc9b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StepDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StepDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StructureDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StructureDeSerializer.cs index 2647a653..27da1bd6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StructureDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/StructureDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubclassificationDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubclassificationDeSerializer.cs index 8d4611a0..66631e4f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubclassificationDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubclassificationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubjectMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubjectMembershipDeSerializer.cs index e4ee368b..621b7a7f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubjectMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubjectMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubsettingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubsettingDeSerializer.cs index aad97c7c..69aaf314 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubsettingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SubsettingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionAsUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionAsUsageDeSerializer.cs index 0ef34690..761edbef 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionAsUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionAsUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionDeSerializer.cs index 0f8d22df..37c7aa12 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionFlowDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionFlowDeSerializer.cs index bb99133b..784cdf2b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionFlowDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionFlowDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionFlowUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionFlowUsageDeSerializer.cs index 09e9d109..f85d4fb5 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionFlowUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/SuccessionFlowUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TerminateActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TerminateActionUsageDeSerializer.cs index 747021cc..bda12c27 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TerminateActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TerminateActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TextualRepresentationDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TextualRepresentationDeSerializer.cs index 290e13f7..0ba7a5aa 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TextualRepresentationDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TextualRepresentationDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionFeatureKindDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionFeatureKindDeSerializer.cs index 531f9cf5..e2bf3988 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionFeatureKindDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionFeatureKindDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionFeatureMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionFeatureMembershipDeSerializer.cs index 4b299759..da28c180 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionFeatureMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionFeatureMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionUsageDeSerializer.cs index d9f67080..a176d053 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TransitionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TriggerInvocationExpressionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TriggerInvocationExpressionDeSerializer.cs index 2edbf6d8..4938f002 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TriggerInvocationExpressionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TriggerInvocationExpressionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TriggerKindDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TriggerKindDeSerializer.cs index 2f66ddfb..5d8cf374 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TriggerKindDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TriggerKindDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TypeDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TypeDeSerializer.cs index e6b28521..69f57b9c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TypeDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TypeDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TypeFeaturingDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TypeFeaturingDeSerializer.cs index b054df8b..afce5d1e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TypeFeaturingDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/TypeFeaturingDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UnioningDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UnioningDeSerializer.cs index 5cac691d..be771e48 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UnioningDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UnioningDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UsageDeSerializer.cs index d94eebaf..11df844c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UseCaseDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UseCaseDefinitionDeSerializer.cs index 326eea71..c29eeb1d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UseCaseDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UseCaseDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UseCaseUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UseCaseUsageDeSerializer.cs index c2513b69..a11a7132 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UseCaseUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/UseCaseUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VariantMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VariantMembershipDeSerializer.cs index b4c4114a..67296339 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VariantMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VariantMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VerificationCaseDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VerificationCaseDefinitionDeSerializer.cs index 0ed3753f..1305a723 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VerificationCaseDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VerificationCaseDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VerificationCaseUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VerificationCaseUsageDeSerializer.cs index f7ecee22..c8c93610 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VerificationCaseUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VerificationCaseUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewDefinitionDeSerializer.cs index 86ed04d7..ccdf8eae 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewRenderingMembershipDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewRenderingMembershipDeSerializer.cs index d9b43d57..50837825 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewRenderingMembershipDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewRenderingMembershipDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewUsageDeSerializer.cs index 0fbacd87..eea0c57c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewpointDefinitionDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewpointDefinitionDeSerializer.cs index b3fd2774..d87996a1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewpointDefinitionDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewpointDefinitionDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewpointUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewpointUsageDeSerializer.cs index e6c7974b..680848ef 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewpointUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/ViewpointUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VisibilityKindDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VisibilityKindDeSerializer.cs index 26c948c8..6236fb3b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VisibilityKindDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/VisibilityKindDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/WhileLoopActionUsageDeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/WhileLoopActionUsageDeSerializer.cs index 1bf35e2f..7f6d2143 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/WhileLoopActionUsageDeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenDeSerializer/WhileLoopActionUsageDeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AcceptActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AcceptActionUsageSerializer.cs index a8749e83..9a45b68b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AcceptActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AcceptActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActionDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActionDefinitionSerializer.cs index 8e56c9e4..8cfed697 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActionDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActionDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActionUsageSerializer.cs index 0e6897c9..08ab2896 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActorMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActorMembershipSerializer.cs index f25a12ed..e960a25e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActorMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ActorMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AllocationDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AllocationDefinitionSerializer.cs index 2d3ab961..cfa9ec16 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AllocationDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AllocationDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AllocationUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AllocationUsageSerializer.cs index 37021417..1a98cf9f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AllocationUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AllocationUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnalysisCaseDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnalysisCaseDefinitionSerializer.cs index f742dd3f..e3c0455b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnalysisCaseDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnalysisCaseDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnalysisCaseUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnalysisCaseUsageSerializer.cs index 012b2702..76939c80 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnalysisCaseUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnalysisCaseUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnnotatingElementSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnnotatingElementSerializer.cs index cfc177a9..33199b34 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnnotatingElementSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnnotatingElementSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnnotationSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnnotationSerializer.cs index 87e741a6..f1fc3367 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnnotationSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AnnotationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssertConstraintUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssertConstraintUsageSerializer.cs index ced1492c..b767fac1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssertConstraintUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssertConstraintUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssignmentActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssignmentActionUsageSerializer.cs index 934f374a..a2b015c7 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssignmentActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssignmentActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssociationSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssociationSerializer.cs index e44811c1..24b384bd 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssociationSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssociationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssociationStructureSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssociationStructureSerializer.cs index e8567da8..b4500773 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssociationStructureSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AssociationStructureSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AttributeDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AttributeDefinitionSerializer.cs index d2c06468..fce9c080 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AttributeDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AttributeDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AttributeUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AttributeUsageSerializer.cs index 96b58296..1d81986b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AttributeUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/AttributeUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BehaviorSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BehaviorSerializer.cs index e58666eb..44c7a202 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BehaviorSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BehaviorSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BindingConnectorAsUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BindingConnectorAsUsageSerializer.cs index 5e253705..8181beec 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BindingConnectorAsUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BindingConnectorAsUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BindingConnectorSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BindingConnectorSerializer.cs index 03d73ea5..cb70b788 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BindingConnectorSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BindingConnectorSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BooleanExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BooleanExpressionSerializer.cs index 12e369a9..3552b08f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BooleanExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/BooleanExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CalculationDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CalculationDefinitionSerializer.cs index 5ca4fbc1..1c855709 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CalculationDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CalculationDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CalculationUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CalculationUsageSerializer.cs index d02ff2e1..742850b0 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CalculationUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CalculationUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CaseDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CaseDefinitionSerializer.cs index 4990f287..e882a541 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CaseDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CaseDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CaseUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CaseUsageSerializer.cs index 765d122c..2b09cab6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CaseUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CaseUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ClassSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ClassSerializer.cs index 218241bf..3dfb1498 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ClassSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ClassSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ClassifierSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ClassifierSerializer.cs index 6bf675a1..4a6f70fc 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ClassifierSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ClassifierSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CollectExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CollectExpressionSerializer.cs index 9c70e056..cfeda610 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CollectExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CollectExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CommentSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CommentSerializer.cs index 8b053f9d..917ab717 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CommentSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CommentSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConcernDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConcernDefinitionSerializer.cs index 7d9eb8a3..26c96550 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConcernDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConcernDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConcernUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConcernUsageSerializer.cs index d1fbe9be..f5370e16 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConcernUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConcernUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugatedPortDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugatedPortDefinitionSerializer.cs index 9d0308bb..5385bfc2 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugatedPortDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugatedPortDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugatedPortTypingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugatedPortTypingSerializer.cs index 0c4c135f..9763ce5c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugatedPortTypingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugatedPortTypingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugationSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugationSerializer.cs index 42c98f24..70227108 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugationSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConjugationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectionDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectionDefinitionSerializer.cs index 45b9881b..cd3ce225 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectionDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectionDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectionUsageSerializer.cs index 50abf1f1..15960b4f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectorSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectorSerializer.cs index 8b5bfd56..dbfea83f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectorSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConnectorSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstraintDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstraintDefinitionSerializer.cs index 734cfa69..ebfc17ca 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstraintDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstraintDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstraintUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstraintUsageSerializer.cs index adc7cc8d..0b25f233 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstraintUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstraintUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstructorExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstructorExpressionSerializer.cs index 2eb7f9b6..67612a6a 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstructorExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ConstructorExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CrossSubsettingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CrossSubsettingSerializer.cs index a1bb15fa..a4f77538 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CrossSubsettingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/CrossSubsettingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DataTypeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DataTypeSerializer.cs index 0d4fbd95..3687e84b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DataTypeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DataTypeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DecisionNodeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DecisionNodeSerializer.cs index 991935cc..3f9f9286 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DecisionNodeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DecisionNodeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DefinitionSerializer.cs index 30f0a8ef..9b32484b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DependencySerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DependencySerializer.cs index 1a08b3d3..2b6f2331 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DependencySerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DependencySerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DifferencingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DifferencingSerializer.cs index 7817b067..583e103e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DifferencingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DifferencingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DisjoiningSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DisjoiningSerializer.cs index b5430030..6ef12a94 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DisjoiningSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DisjoiningSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DocumentationSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DocumentationSerializer.cs index 7f80fd83..e11c8631 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DocumentationSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/DocumentationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ElementFilterMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ElementFilterMembershipSerializer.cs index 8c0f4738..24bacd8f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ElementFilterMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ElementFilterMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EndFeatureMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EndFeatureMembershipSerializer.cs index a202f425..dccd834f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EndFeatureMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EndFeatureMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EnumerationDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EnumerationDefinitionSerializer.cs index 3aacc384..1c26a7c4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EnumerationDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EnumerationDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EnumerationUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EnumerationUsageSerializer.cs index 1092b629..c050ee69 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EnumerationUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EnumerationUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EventOccurrenceUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EventOccurrenceUsageSerializer.cs index 4a4eac4b..2fcc7f52 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EventOccurrenceUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/EventOccurrenceUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ExhibitStateUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ExhibitStateUsageSerializer.cs index a45d265f..ceaf3d6e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ExhibitStateUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ExhibitStateUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ExpressionSerializer.cs index e01b64ff..c17c89f9 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureChainExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureChainExpressionSerializer.cs index 6969680c..44c1fc14 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureChainExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureChainExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureChainingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureChainingSerializer.cs index 9f6ac232..705b2816 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureChainingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureChainingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureInvertingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureInvertingSerializer.cs index 52287485..ceb8df25 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureInvertingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureInvertingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureMembershipSerializer.cs index 220065d6..d9921f7a 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureReferenceExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureReferenceExpressionSerializer.cs index 983a1fd2..bd6e080d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureReferenceExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureReferenceExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureSerializer.cs index ab632ec8..58968803 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureTypingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureTypingSerializer.cs index 873c27be..094d673d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureTypingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureTypingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureValueSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureValueSerializer.cs index a04266da..c4db846b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureValueSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FeatureValueSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowDefinitionSerializer.cs index 10afd769..a608f153 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowEndSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowEndSerializer.cs index 420bc672..627a9346 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowEndSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowEndSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowSerializer.cs index 348f2753..f153457e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowUsageSerializer.cs index 5fc2e8b7..703c6e2b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FlowUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ForLoopActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ForLoopActionUsageSerializer.cs index 8f81fd3c..bbe36853 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ForLoopActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ForLoopActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ForkNodeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ForkNodeSerializer.cs index 1edb675d..101ff130 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ForkNodeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ForkNodeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FramedConcernMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FramedConcernMembershipSerializer.cs index fdf04e9f..8a3f21c4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FramedConcernMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FramedConcernMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FunctionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FunctionSerializer.cs index efcb94e0..a705ddde 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FunctionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/FunctionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IfActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IfActionUsageSerializer.cs index 16693470..d54f4dc3 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IfActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IfActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IncludeUseCaseUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IncludeUseCaseUsageSerializer.cs index 4452ea20..a50a7089 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IncludeUseCaseUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IncludeUseCaseUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IndexExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IndexExpressionSerializer.cs index 1826106b..2bbb8313 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IndexExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IndexExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InteractionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InteractionSerializer.cs index 9f5316bb..bc54fba7 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InteractionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InteractionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InterfaceDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InterfaceDefinitionSerializer.cs index f7b68da9..1b1d9d39 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InterfaceDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InterfaceDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InterfaceUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InterfaceUsageSerializer.cs index 7f4c43b4..88177c88 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InterfaceUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InterfaceUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IntersectingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IntersectingSerializer.cs index 8b6ed17f..683e6285 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IntersectingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/IntersectingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InvariantSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InvariantSerializer.cs index 4ec041e1..37f6f3c1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InvariantSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InvariantSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InvocationExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InvocationExpressionSerializer.cs index e6881d8d..76cf74e0 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InvocationExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/InvocationExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ItemDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ItemDefinitionSerializer.cs index ada3c28d..cadf802d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ItemDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ItemDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ItemUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ItemUsageSerializer.cs index bb530128..cbb107b6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ItemUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ItemUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/JoinNodeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/JoinNodeSerializer.cs index 6cb90c1c..44c3613b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/JoinNodeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/JoinNodeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LibraryPackageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LibraryPackageSerializer.cs index 94f29a93..27b4028e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LibraryPackageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LibraryPackageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralBooleanSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralBooleanSerializer.cs index 9c7b6edc..88c0abb2 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralBooleanSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralBooleanSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralExpressionSerializer.cs index 29ae6e75..530e9982 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralInfinitySerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralInfinitySerializer.cs index fef42a5f..5cf10c81 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralInfinitySerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralInfinitySerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralIntegerSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralIntegerSerializer.cs index 8d33deb7..a22f0a7e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralIntegerSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralIntegerSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralRationalSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralRationalSerializer.cs index cb68b6d8..0eb415bc 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralRationalSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralRationalSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralStringSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralStringSerializer.cs index 5bb72543..49aca257 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralStringSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/LiteralStringSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipExposeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipExposeSerializer.cs index 513455c3..cd3bf293 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipExposeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipExposeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipImportSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipImportSerializer.cs index f40156e2..d23ea43d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipImportSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipImportSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipSerializer.cs index c5c24186..94921f5a 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MergeNodeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MergeNodeSerializer.cs index a2917311..5d78cba2 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MergeNodeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MergeNodeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetaclassSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetaclassSerializer.cs index 31ffd532..a373e9e6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetaclassSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetaclassSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataAccessExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataAccessExpressionSerializer.cs index 5d7952c1..a9deafe4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataAccessExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataAccessExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataDefinitionSerializer.cs index 4d08d325..1fcc8bf6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataFeatureSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataFeatureSerializer.cs index 118036c0..c744beff 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataFeatureSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataFeatureSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataUsageSerializer.cs index 1a10098f..efd2e81f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MetadataUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MultiplicityRangeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MultiplicityRangeSerializer.cs index c33c30e2..b155c5ef 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MultiplicityRangeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MultiplicityRangeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MultiplicitySerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MultiplicitySerializer.cs index 09b1ef80..dd966402 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MultiplicitySerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/MultiplicitySerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceExposeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceExposeSerializer.cs index 81ff12ce..6a45ee4d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceExposeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceExposeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceImportSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceImportSerializer.cs index 416a1104..e83493ed 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceImportSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceImportSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceSerializer.cs index f740c6aa..08efc1f1 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NamespaceSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NullExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NullExpressionSerializer.cs index e1506118..6ed25f23 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NullExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/NullExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ObjectiveMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ObjectiveMembershipSerializer.cs index 2286bca8..968b13ed 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ObjectiveMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ObjectiveMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OccurrenceDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OccurrenceDefinitionSerializer.cs index 09f190c4..3011c103 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OccurrenceDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OccurrenceDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OccurrenceUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OccurrenceUsageSerializer.cs index 5c374b43..9ee3a684 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OccurrenceUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OccurrenceUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OperatorExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OperatorExpressionSerializer.cs index ffb80ee7..8d7a79af 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OperatorExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OperatorExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OwningMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OwningMembershipSerializer.cs index 826c6e20..1687fcbd 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OwningMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/OwningMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PackageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PackageSerializer.cs index d46c205a..88bb3479 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PackageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PackageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ParameterMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ParameterMembershipSerializer.cs index efc6b050..f73216de 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ParameterMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ParameterMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PartDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PartDefinitionSerializer.cs index 10595bb8..3f9d8bc6 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PartDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PartDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PartUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PartUsageSerializer.cs index 433e6293..28653da0 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PartUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PartUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PayloadFeatureSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PayloadFeatureSerializer.cs index 57d992e7..d436ee0e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PayloadFeatureSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PayloadFeatureSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PerformActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PerformActionUsageSerializer.cs index 820b123d..6ec438c2 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PerformActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PerformActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortConjugationSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortConjugationSerializer.cs index 0c50afab..addbf491 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortConjugationSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortConjugationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortDefinitionSerializer.cs index 0939b92b..aaaf214c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortUsageSerializer.cs index 76a3e336..f5938744 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PortUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PredicateSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PredicateSerializer.cs index 168b210b..2c67d9b9 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PredicateSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/PredicateSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RedefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RedefinitionSerializer.cs index f72a3336..ad9d6994 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RedefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RedefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReferenceSubsettingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReferenceSubsettingSerializer.cs index 9472218f..8d6d38a8 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReferenceSubsettingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReferenceSubsettingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReferenceUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReferenceUsageSerializer.cs index 215b1142..203a41d5 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReferenceUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReferenceUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RenderingDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RenderingDefinitionSerializer.cs index e4200379..4859eb2e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RenderingDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RenderingDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RenderingUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RenderingUsageSerializer.cs index 058a23b3..1385b016 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RenderingUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RenderingUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementConstraintMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementConstraintMembershipSerializer.cs index 1436df69..e1dcfb07 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementConstraintMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementConstraintMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementDefinitionSerializer.cs index 7757bd62..974d70ae 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementUsageSerializer.cs index d540eaab..17610219 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementVerificationMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementVerificationMembershipSerializer.cs index e68ed91d..4e8286b9 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementVerificationMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/RequirementVerificationMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ResultExpressionMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ResultExpressionMembershipSerializer.cs index e6ec5ea9..142428ba 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ResultExpressionMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ResultExpressionMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReturnParameterMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReturnParameterMembershipSerializer.cs index 5d7a2f91..156ebb4f 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReturnParameterMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ReturnParameterMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SatisfyRequirementUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SatisfyRequirementUsageSerializer.cs index c3a1e7e0..0afdcf6e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SatisfyRequirementUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SatisfyRequirementUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SelectExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SelectExpressionSerializer.cs index 7628ed59..87442aa4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SelectExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SelectExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SendActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SendActionUsageSerializer.cs index 37fa218f..5a9d8b26 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SendActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SendActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SerializationProvider.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SerializationProvider.cs index fa8b0224..842fb3d9 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SerializationProvider.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SerializationProvider.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SpecializationSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SpecializationSerializer.cs index 70a5df00..57c1dba8 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SpecializationSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SpecializationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StakeholderMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StakeholderMembershipSerializer.cs index 2d756998..ad77bae3 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StakeholderMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StakeholderMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateDefinitionSerializer.cs index 37c97add..207b8258 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateSubactionMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateSubactionMembershipSerializer.cs index d22eb983..5edbbaf4 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateSubactionMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateSubactionMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateUsageSerializer.cs index 68a9e645..4faeb876 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StateUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StepSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StepSerializer.cs index a26af894..31a64719 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StepSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StepSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StructureSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StructureSerializer.cs index 1f94a0a2..29afbb9d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StructureSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/StructureSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubclassificationSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubclassificationSerializer.cs index f7d0327f..cbcd0133 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubclassificationSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubclassificationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubjectMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubjectMembershipSerializer.cs index 99dacad0..cc46012e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubjectMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubjectMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubsettingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubsettingSerializer.cs index 9f19296f..0ccc3597 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubsettingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SubsettingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionAsUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionAsUsageSerializer.cs index e9b6ebb5..9cb5363b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionAsUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionAsUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionFlowSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionFlowSerializer.cs index 87b1f338..44bc246b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionFlowSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionFlowSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionFlowUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionFlowUsageSerializer.cs index c8a5a2c1..573db8cc 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionFlowUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionFlowUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionSerializer.cs index bcabcd1d..ccbe206d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/SuccessionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TerminateActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TerminateActionUsageSerializer.cs index 40bfa6ea..6f501766 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TerminateActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TerminateActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TextualRepresentationSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TextualRepresentationSerializer.cs index b91f8728..bee5510e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TextualRepresentationSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TextualRepresentationSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TransitionFeatureMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TransitionFeatureMembershipSerializer.cs index ab97c610..6b9579ee 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TransitionFeatureMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TransitionFeatureMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TransitionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TransitionUsageSerializer.cs index b6f4d8bf..75577178 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TransitionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TransitionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TriggerInvocationExpressionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TriggerInvocationExpressionSerializer.cs index 18a8ee81..7146b6e5 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TriggerInvocationExpressionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TriggerInvocationExpressionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TypeFeaturingSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TypeFeaturingSerializer.cs index ce6e1ed2..f0f9d95d 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TypeFeaturingSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TypeFeaturingSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TypeSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TypeSerializer.cs index b889470f..96e05fa8 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TypeSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/TypeSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UnioningSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UnioningSerializer.cs index fe29b36e..c3c58ba9 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UnioningSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UnioningSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UsageSerializer.cs index 8fc211db..791f7339 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UseCaseDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UseCaseDefinitionSerializer.cs index 19ee6a0b..10b6432c 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UseCaseDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UseCaseDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UseCaseUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UseCaseUsageSerializer.cs index 8849f113..af83ff4e 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UseCaseUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/UseCaseUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VariantMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VariantMembershipSerializer.cs index abc69a91..35083cca 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VariantMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VariantMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VerificationCaseDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VerificationCaseDefinitionSerializer.cs index d82e55a7..c772b185 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VerificationCaseDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VerificationCaseDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VerificationCaseUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VerificationCaseUsageSerializer.cs index 566e060f..6fc4943b 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VerificationCaseUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/VerificationCaseUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewDefinitionSerializer.cs index 1af59206..f42f89da 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewRenderingMembershipSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewRenderingMembershipSerializer.cs index a3d446a4..4d4f1c10 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewRenderingMembershipSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewRenderingMembershipSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewUsageSerializer.cs index a561a7bb..c6284242 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewpointDefinitionSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewpointDefinitionSerializer.cs index d5d617e0..80971d42 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewpointDefinitionSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewpointDefinitionSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewpointUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewpointUsageSerializer.cs index f2b23fb3..c38cf4ff 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewpointUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/ViewpointUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/WhileLoopActionUsageSerializer.cs b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/WhileLoopActionUsageSerializer.cs index 2978bff4..45820abe 100644 --- a/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/WhileLoopActionUsageSerializer.cs +++ b/SysML2.NET.Serializer.Json/Core/AutoGenSerializer/WhileLoopActionUsageSerializer.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/AcceptActionUsage.cs b/SysML2.NET/Core/AutoGenDto/AcceptActionUsage.cs index 9187980d..bc26fda3 100644 --- a/SysML2.NET/Core/AutoGenDto/AcceptActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/AcceptActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -57,7 +57,6 @@ public partial class AcceptActionUsage : IAcceptActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -125,7 +124,7 @@ public partial class AcceptActionUsage : IAcceptActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -154,7 +153,6 @@ public partial class AcceptActionUsage : IAcceptActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -392,11 +390,11 @@ public partial class AcceptActionUsage : IAcceptActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -434,9 +432,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -662,7 +660,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -705,9 +702,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -947,7 +943,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1025,7 +1020,6 @@ bool Core.Features.IFeature.IsVariable /// base AcceptActionUsage AcceptAction from the Systems Model Library. /// [Property(xmiId: "_19_0_4_12e503d9_1642701018287_478584_4462", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591477541360_47573_933")] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] [Implements(implementation: "IAcceptActionUsage.PayloadParameter")] public Guid payloadParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ActionDefinition.cs b/SysML2.NET/Core/AutoGenDto/ActionDefinition.cs index edcf2a61..645e6e0a 100644 --- a/SysML2.NET/Core/AutoGenDto/ActionDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ActionDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -53,7 +53,6 @@ public partial class ActionDefinition : IActionDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action { get; internal set; } = []; @@ -108,7 +107,6 @@ public partial class ActionDefinition : IActionDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -242,11 +240,11 @@ public partial class ActionDefinition : IActionDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -636,7 +634,6 @@ public partial class ActionDefinition : IActionDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/ActionUsage.cs b/SysML2.NET/Core/AutoGenDto/ActionUsage.cs index 57eccf1f..f128452d 100644 --- a/SysML2.NET/Core/AutoGenDto/ActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -58,7 +58,6 @@ public partial class ActionUsage : IActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -126,7 +125,7 @@ public partial class ActionUsage : IActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -155,7 +154,6 @@ public partial class ActionUsage : IActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -393,11 +391,11 @@ public partial class ActionUsage : IActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -435,9 +433,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -663,7 +661,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -706,9 +703,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -948,7 +944,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ActorMembership.cs b/SysML2.NET/Core/AutoGenDto/ActorMembership.cs index 9cf0359c..c04b0912 100644 --- a/SysML2.NET/Core/AutoGenDto/ActorMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ActorMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/AllocationDefinition.cs b/SysML2.NET/Core/AutoGenDto/AllocationDefinition.cs index 8f917e99..fdd64ca6 100644 --- a/SysML2.NET/Core/AutoGenDto/AllocationDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/AllocationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -127,7 +127,6 @@ public partial class AllocationDefinition : IAllocationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -278,11 +277,11 @@ public partial class AllocationDefinition : IAllocationDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [RedefinedByProperty("IConnectionDefinition.IsSufficient")] @@ -688,7 +687,6 @@ bool Core.Types.IType.IsSufficient /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/AllocationUsage.cs b/SysML2.NET/Core/AutoGenDto/AllocationUsage.cs index 09be614a..04c9b71e 100644 --- a/SysML2.NET/Core/AutoGenDto/AllocationUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/AllocationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -179,7 +179,6 @@ public partial class AllocationUsage : IAllocationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -426,11 +425,11 @@ public partial class AllocationUsage : IAllocationUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -478,9 +477,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -706,7 +705,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -998,7 +996,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/AnalysisCaseDefinition.cs b/SysML2.NET/Core/AutoGenDto/AnalysisCaseDefinition.cs index 8c72ff03..86f93ff9 100644 --- a/SysML2.NET/Core/AutoGenDto/AnalysisCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/AnalysisCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -51,7 +51,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action { get; internal set; } = []; @@ -60,7 +59,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -75,7 +73,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation { get; internal set; } = []; @@ -124,7 +121,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -267,9 +263,9 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -277,11 +273,11 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -679,7 +675,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; @@ -812,7 +807,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/AnalysisCaseUsage.cs b/SysML2.NET/Core/AutoGenDto/AnalysisCaseUsage.cs index 00376ef2..4060b540 100644 --- a/SysML2.NET/Core/AutoGenDto/AnalysisCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/AnalysisCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,17 +54,14 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.HasValue ? [((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.Value] : []; + public List actionDefinition { get; internal set; } = []; /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -99,7 +96,6 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] Guid? Systems.Calculations.ICalculationUsage.calculationDefinition => ((SysML2.NET.Core.DTO.Systems.Cases.ICaseUsage)this).caseDefinition.HasValue ? ((SysML2.NET.Core.DTO.Systems.Cases.ICaseUsage)this).caseDefinition.Value : Guid.Empty; @@ -161,7 +157,7 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -190,7 +186,6 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -445,11 +440,11 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -487,9 +482,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -715,7 +710,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -766,9 +760,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1008,7 +1001,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1129,7 +1121,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/AnnotatingElement.cs b/SysML2.NET/Core/AutoGenDto/AnnotatingElement.cs index 51bbcb0f..ae348787 100644 --- a/SysML2.NET/Core/AutoGenDto/AnnotatingElement.cs +++ b/SysML2.NET/Core/AutoGenDto/AnnotatingElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Annotation.cs b/SysML2.NET/Core/AutoGenDto/Annotation.cs index 9fff5f95..eac987da 100644 --- a/SysML2.NET/Core/AutoGenDto/Annotation.cs +++ b/SysML2.NET/Core/AutoGenDto/Annotation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/AssertConstraintUsage.cs b/SysML2.NET/Core/AutoGenDto/AssertConstraintUsage.cs index a447835a..20d67334 100644 --- a/SysML2.NET/Core/AutoGenDto/AssertConstraintUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/AssertConstraintUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -161,7 +161,6 @@ public partial class AssertConstraintUsage : IAssertConstraintUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -423,11 +422,11 @@ public partial class AssertConstraintUsage : IAssertConstraintUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -465,9 +464,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -693,7 +692,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -977,7 +975,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/AssignmentActionUsage.cs b/SysML2.NET/Core/AutoGenDto/AssignmentActionUsage.cs index f7fd171c..b907545c 100644 --- a/SysML2.NET/Core/AutoGenDto/AssignmentActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/AssignmentActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,7 +56,6 @@ public partial class AssignmentActionUsage : IAssignmentActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -124,7 +123,7 @@ public partial class AssignmentActionUsage : IAssignmentActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -153,7 +152,6 @@ public partial class AssignmentActionUsage : IAssignmentActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -391,11 +389,11 @@ public partial class AssignmentActionUsage : IAssignmentActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -433,9 +431,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -661,7 +659,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -704,9 +701,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -946,7 +942,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Association.cs b/SysML2.NET/Core/AutoGenDto/Association.cs index 7d8c0614..cc706bc1 100644 --- a/SysML2.NET/Core/AutoGenDto/Association.cs +++ b/SysML2.NET/Core/AutoGenDto/Association.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -235,11 +235,11 @@ public partial class Association : IAssociation /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/AssociationStructure.cs b/SysML2.NET/Core/AutoGenDto/AssociationStructure.cs index 3a1a007c..a2c43230 100644 --- a/SysML2.NET/Core/AutoGenDto/AssociationStructure.cs +++ b/SysML2.NET/Core/AutoGenDto/AssociationStructure.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -235,11 +235,11 @@ public partial class AssociationStructure : IAssociationStructure /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/AttributeDefinition.cs b/SysML2.NET/Core/AutoGenDto/AttributeDefinition.cs index 1f97d562..7921fd04 100644 --- a/SysML2.NET/Core/AutoGenDto/AttributeDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/AttributeDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,9 +35,9 @@ namespace SysML2.NET.Core.DTO.Systems.Attributes /// /// An AttributeDefinition is a Definition and a DataType of information about a quality or /// characteristic of a system or part of a system that has no independent identity other than its - /// value. All features of an AttributeDefinition must be referential (non-composite).As a DataType, an - /// AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from - /// the Kernel Semantic Library. + /// value. All features of an AttributeDefinition must be referential (non-composite). + /// As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base + /// DataType Base::DataValue from the Kernel Semantic Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471213468_167708_20650", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -100,7 +100,6 @@ public partial class AttributeDefinition : IAttributeDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -227,11 +226,11 @@ public partial class AttributeDefinition : IAttributeDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -621,7 +620,6 @@ public partial class AttributeDefinition : IAttributeDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/AttributeUsage.cs b/SysML2.NET/Core/AutoGenDto/AttributeUsage.cs index ed55b6c7..639477f0 100644 --- a/SysML2.NET/Core/AutoGenDto/AttributeUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/AttributeUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,8 +37,9 @@ namespace SysML2.NET.Core.DTO.Systems.Attributes /// AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of /// some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to /// permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its - /// nested features must be referential (non-composite).An AttributeUsage must specialize, directly or - /// indirectly, the base Feature Base::dataValues from the Kernel Semantic Library. + /// nested features must be referential (non-composite). An AttributeUsage must + /// specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic + /// Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471291545_950196_20762", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -144,7 +145,6 @@ public partial class AttributeUsage : IAttributeUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -375,11 +375,11 @@ public partial class AttributeUsage : IAttributeUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -417,9 +417,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -645,7 +645,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -919,7 +918,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Behavior.cs b/SysML2.NET/Core/AutoGenDto/Behavior.cs index 4931c1f2..c8165b7a 100644 --- a/SysML2.NET/Core/AutoGenDto/Behavior.cs +++ b/SysML2.NET/Core/AutoGenDto/Behavior.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -215,11 +215,11 @@ public partial class Behavior : IBehavior /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/BindingConnector.cs b/SysML2.NET/Core/AutoGenDto/BindingConnector.cs index 4f21d5f6..8e5c3b43 100644 --- a/SysML2.NET/Core/AutoGenDto/BindingConnector.cs +++ b/SysML2.NET/Core/AutoGenDto/BindingConnector.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -360,11 +360,11 @@ public partial class BindingConnector : IBindingConnector /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/BindingConnectorAsUsage.cs b/SysML2.NET/Core/AutoGenDto/BindingConnectorAsUsage.cs index d8ef6dce..aeaa964a 100644 --- a/SysML2.NET/Core/AutoGenDto/BindingConnectorAsUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/BindingConnectorAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -155,7 +155,6 @@ public partial class BindingConnectorAsUsage : IBindingConnectorAsUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -386,11 +385,11 @@ public partial class BindingConnectorAsUsage : IBindingConnectorAsUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -428,9 +427,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -656,7 +655,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -938,7 +936,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/BooleanExpression.cs b/SysML2.NET/Core/AutoGenDto/BooleanExpression.cs index 03e6dca9..dcf05b48 100644 --- a/SysML2.NET/Core/AutoGenDto/BooleanExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/BooleanExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -351,11 +351,11 @@ public partial class BooleanExpression : IBooleanExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/CalculationDefinition.cs b/SysML2.NET/Core/AutoGenDto/CalculationDefinition.cs index f6ac321d..4c5ea399 100644 --- a/SysML2.NET/Core/AutoGenDto/CalculationDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/CalculationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -53,7 +53,6 @@ public partial class CalculationDefinition : ICalculationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action { get; internal set; } = []; @@ -68,7 +67,6 @@ public partial class CalculationDefinition : ICalculationDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation { get; internal set; } = []; @@ -117,7 +115,6 @@ public partial class CalculationDefinition : ICalculationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -260,9 +257,9 @@ public partial class CalculationDefinition : ICalculationDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -270,11 +267,11 @@ public partial class CalculationDefinition : ICalculationDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -664,7 +661,6 @@ public partial class CalculationDefinition : ICalculationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/CalculationUsage.cs b/SysML2.NET/Core/AutoGenDto/CalculationUsage.cs index 0b434585..4c6b94c1 100644 --- a/SysML2.NET/Core/AutoGenDto/CalculationUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/CalculationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -58,10 +58,8 @@ public partial class CalculationUsage : ICalculationUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => this.calculationDefinition.HasValue ? [this.calculationDefinition.Value] : []; + public List actionDefinition { get; internal set; } = []; /// /// Various alternative identifiers for this Element. Generally, these will be set by tools. @@ -86,7 +84,6 @@ public partial class CalculationUsage : ICalculationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] public Guid? calculationDefinition { get; internal set; } @@ -138,7 +135,7 @@ public partial class CalculationUsage : ICalculationUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -167,7 +164,6 @@ public partial class CalculationUsage : ICalculationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -422,11 +418,11 @@ public partial class CalculationUsage : ICalculationUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -464,9 +460,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -692,7 +688,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -735,9 +730,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -977,7 +971,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/CaseDefinition.cs b/SysML2.NET/Core/AutoGenDto/CaseDefinition.cs index 004813b9..5615ef8f 100644 --- a/SysML2.NET/Core/AutoGenDto/CaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/CaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -53,7 +53,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action { get; internal set; } = []; @@ -62,7 +61,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -77,7 +75,6 @@ public partial class CaseDefinition : ICaseDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation { get; internal set; } = []; @@ -126,7 +123,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -269,9 +265,9 @@ public partial class CaseDefinition : ICaseDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -279,11 +275,11 @@ public partial class CaseDefinition : ICaseDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -681,7 +677,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; @@ -804,7 +799,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/CaseUsage.cs b/SysML2.NET/Core/AutoGenDto/CaseUsage.cs index f04ace75..221e39a0 100644 --- a/SysML2.NET/Core/AutoGenDto/CaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/CaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,17 +54,14 @@ public partial class CaseUsage : ICaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.HasValue ? [((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.Value] : []; + public List actionDefinition { get; internal set; } = []; /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -91,7 +88,6 @@ public partial class CaseUsage : ICaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] Guid? Systems.Calculations.ICalculationUsage.calculationDefinition => this.caseDefinition.HasValue ? this.caseDefinition.Value : Guid.Empty; @@ -152,7 +148,7 @@ public partial class CaseUsage : ICaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -181,7 +177,6 @@ public partial class CaseUsage : ICaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -436,11 +431,11 @@ public partial class CaseUsage : ICaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -478,9 +473,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -706,7 +701,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -757,9 +751,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -999,7 +992,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1111,7 +1103,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Class.cs b/SysML2.NET/Core/AutoGenDto/Class.cs index 392bcd3c..a03c9d36 100644 --- a/SysML2.NET/Core/AutoGenDto/Class.cs +++ b/SysML2.NET/Core/AutoGenDto/Class.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -215,11 +215,11 @@ public partial class Class : IClass /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Classifier.cs b/SysML2.NET/Core/AutoGenDto/Classifier.cs index 45d2654d..3b9dac1b 100644 --- a/SysML2.NET/Core/AutoGenDto/Classifier.cs +++ b/SysML2.NET/Core/AutoGenDto/Classifier.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -32,12 +32,13 @@ namespace SysML2.NET.Core.DTO.Core.Classifiers using SysML2.NET.Decorators; /// - /// A Classifier is a Type that classifies:
  • Things (in the universe) regardless of how Features - /// relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • How - /// the above things are related by Features. (These are interpreted semantically as sequences of - /// multiple things, such that the last thing in the sequence is also classified by the Classifier. Note - /// that this means that a Classifier modeled as specializing a Feature cannot classify - /// anything.)
+ /// A Classifier is a Type that classifies:
    + ///
  • Things (in the universe) regardless of how Features relate them. (These are interpreted + /// semantically as sequences of exactly one thing.)
  • How the above + /// things are related by Features. (These are interpreted semantically as sequences of multiple things, + /// such that the last thing in the sequence is also classified by the Classifier. Note that this means + /// that a Classifier modeled as specializing a Feature cannot classify anything.)
  • + ///
///
[Class(xmiId: "_18_5_3_12e503d9_1533160651676_375105_42143", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -218,11 +219,11 @@ public partial class Classifier : IClassifier /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/CollectExpression.cs b/SysML2.NET/Core/AutoGenDto/CollectExpression.cs index bfb2b544..87c8169a 100644 --- a/SysML2.NET/Core/AutoGenDto/CollectExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/CollectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,8 +56,8 @@ public partial class CollectExpression : ICollectExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -368,11 +368,11 @@ public partial class CollectExpression : ICollectExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Comment.cs b/SysML2.NET/Core/AutoGenDto/Comment.cs index b7ef2b43..973bad90 100644 --- a/SysML2.NET/Core/AutoGenDto/Comment.cs +++ b/SysML2.NET/Core/AutoGenDto/Comment.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ConcernDefinition.cs b/SysML2.NET/Core/AutoGenDto/ConcernDefinition.cs index 7dde500e..99b0f20e 100644 --- a/SysML2.NET/Core/AutoGenDto/ConcernDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ConcernDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -51,7 +51,6 @@ public partial class ConcernDefinition : IConcernDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621564041941_652319_2722", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -124,7 +123,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -276,9 +274,9 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -286,11 +284,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -680,7 +678,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; @@ -815,7 +812,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_4_12e503d9_1624033010374_29375_40166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.StakeholderParameter")] public List stakeholderParameter { get; internal set; } = []; @@ -832,7 +828,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1595189007408_784255_586", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ConcernUsage.cs b/SysML2.NET/Core/AutoGenDto/ConcernUsage.cs index e7f4cb62..5cfe178a 100644 --- a/SysML2.NET/Core/AutoGenDto/ConcernUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ConcernUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,10 +33,10 @@ namespace SysML2.NET.Core.DTO.Systems.Requirements using SysML2.NET.Decorators; /// - /// A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder features of the ConcernUsage - /// shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an - /// ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an - /// ownedStakeholder feature that is bound to the self feature of its owner. + /// A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder + /// features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If + /// the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the + /// ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner. /// [Class(xmiId: "_19_0_4_12e503d9_1617051561652_163085_1288", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -54,7 +54,6 @@ public partial class ConcernUsage : IConcernUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -188,7 +187,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -452,11 +450,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -494,9 +492,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -722,7 +720,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -1006,7 +1003,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1156,7 +1152,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter { get; internal set; } = []; @@ -1165,7 +1160,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ConjugatedPortDefinition.cs b/SysML2.NET/Core/AutoGenDto/ConjugatedPortDefinition.cs index 8b57f405..aa97760b 100644 --- a/SysML2.NET/Core/AutoGenDto/ConjugatedPortDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ConjugatedPortDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -108,7 +108,6 @@ public partial class ConjugatedPortDefinition : IConjugatedPortDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -242,11 +241,11 @@ public partial class ConjugatedPortDefinition : IConjugatedPortDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -655,7 +654,6 @@ public partial class ConjugatedPortDefinition : IConjugatedPortDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/ConjugatedPortTyping.cs b/SysML2.NET/Core/AutoGenDto/ConjugatedPortTyping.cs index 7b944890..7d119840 100644 --- a/SysML2.NET/Core/AutoGenDto/ConjugatedPortTyping.cs +++ b/SysML2.NET/Core/AutoGenDto/ConjugatedPortTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Conjugation.cs b/SysML2.NET/Core/AutoGenDto/Conjugation.cs index f2ea4689..423728cc 100644 --- a/SysML2.NET/Core/AutoGenDto/Conjugation.cs +++ b/SysML2.NET/Core/AutoGenDto/Conjugation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,9 +37,9 @@ namespace SysML2.NET.Core.DTO.Core.Types /// with a direction in relative to the originalType are considered to have an effective direction of /// out relative to the conjugatedType and, similarly, Features with direction out in the originalType /// are considered to have an effective direction of in in the conjugatedType. Features with direction - /// inout, or with no direction, in the originalType, are inherited without change.A Type may - /// participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not - /// also be the specific Type in any Specialization relationship. + /// inout, or with no direction, in the originalType, are inherited without change. + /// A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a + /// Type may not also be the specific Type in any Specialization relationship. /// [Class(xmiId: "_19_0_2_12e503d9_1575482328287_696279_181", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/ConnectionDefinition.cs b/SysML2.NET/Core/AutoGenDto/ConnectionDefinition.cs index 4850a207..eb960e38 100644 --- a/SysML2.NET/Core/AutoGenDto/ConnectionDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ConnectionDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -116,7 +116,6 @@ public partial class ConnectionDefinition : IConnectionDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -267,11 +266,11 @@ public partial class ConnectionDefinition : IConnectionDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [RedefinedByProperty("IConnectionDefinition.IsSufficient")] @@ -677,7 +676,6 @@ bool Core.Types.IType.IsSufficient /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/ConnectionUsage.cs b/SysML2.NET/Core/AutoGenDto/ConnectionUsage.cs index b295e99d..37cd8ab4 100644 --- a/SysML2.NET/Core/AutoGenDto/ConnectionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ConnectionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -172,7 +172,6 @@ public partial class ConnectionUsage : IConnectionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -419,11 +418,11 @@ public partial class ConnectionUsage : IConnectionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -471,9 +470,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -699,7 +698,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -991,7 +989,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Connector.cs b/SysML2.NET/Core/AutoGenDto/Connector.cs index 624d2386..2583c630 100644 --- a/SysML2.NET/Core/AutoGenDto/Connector.cs +++ b/SysML2.NET/Core/AutoGenDto/Connector.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -364,11 +364,11 @@ public partial class Connector : IConnector /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/ConstraintDefinition.cs b/SysML2.NET/Core/AutoGenDto/ConstraintDefinition.cs index db87213b..7c6bdda3 100644 --- a/SysML2.NET/Core/AutoGenDto/ConstraintDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ConstraintDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -98,7 +98,6 @@ public partial class ConstraintDefinition : IConstraintDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -241,9 +240,9 @@ public partial class ConstraintDefinition : IConstraintDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -251,11 +250,11 @@ public partial class ConstraintDefinition : IConstraintDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -645,7 +644,6 @@ public partial class ConstraintDefinition : IConstraintDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/ConstraintUsage.cs b/SysML2.NET/Core/AutoGenDto/ConstraintUsage.cs index 25a26986..c072e4d9 100644 --- a/SysML2.NET/Core/AutoGenDto/ConstraintUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ConstraintUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -154,7 +154,6 @@ public partial class ConstraintUsage : IConstraintUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -409,11 +408,11 @@ public partial class ConstraintUsage : IConstraintUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -451,9 +450,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -679,7 +678,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -963,7 +961,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ConstructorExpression.cs b/SysML2.NET/Core/AutoGenDto/ConstructorExpression.cs index 4d548d27..6dde07db 100644 --- a/SysML2.NET/Core/AutoGenDto/ConstructorExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/ConstructorExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -57,8 +57,8 @@ public partial class ConstructorExpression : IConstructorExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -369,11 +369,11 @@ public partial class ConstructorExpression : IConstructorExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/CrossSubsetting.cs b/SysML2.NET/Core/AutoGenDto/CrossSubsetting.cs index 744827bd..46f1fbed 100644 --- a/SysML2.NET/Core/AutoGenDto/CrossSubsetting.cs +++ b/SysML2.NET/Core/AutoGenDto/CrossSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,17 +34,18 @@ namespace SysML2.NET.Core.DTO.Core.Features /// CrossSubsetting is a kind of Subsetting for end Features, as identified by crossingFeature, to /// subset a chained Feature, identified by crossedFeature. It navigates to instances of the end /// Feature’s type from instances of other end Feature types on the same owningType (at least two end - /// Features are required for any of them to have a CrossSubsetting).The crossedFeature of a - /// CrossSubsetting must have a feature chain of exactly two Features. The second Feature in the chain - /// is the crossFeature of the crossingFeature (end Feature), which has the same type as the - /// crossingFeature. When the owningType of the crossingFeature has exactly two end Features, the first - /// Feature in the chain of the crossedFeature is the other end Feature. The crossFeature’s - /// featuringType in this case is the other end Feature. When the owningType has more than two end - /// Features, the first Feature in the chain is a Feature that CrossMultiplies all the other end - /// Features, which is also the featuringType of the crossFeature.A crossFeature must be owned by its - /// featureCrossing (end Feature) when the featureCrossing owningType has more than two end Features. - /// Otherwise, for exactly two end Features, the crossFeatures of each the ends can instead optionally - /// be inherited by the other end from one of its types or a subsetted Feature. + /// Features are required for any of them to have a CrossSubsetting). The + /// crossedFeature of a CrossSubsetting must have a feature chain of exactly two Features. The second + /// Feature in the chain is the crossFeature of the crossingFeature (end Feature), which has the same + /// type as the crossingFeature. When the owningType of the crossingFeature has exactly two end + /// Features, the first Feature in the chain of the crossedFeature is the other end Feature. The + /// crossFeature’s featuringType in this case is the other end Feature. When the owningType has more + /// than two end Features, the first Feature in the chain is a Feature that CrossMultiplies all the + /// other end Features, which is also the featuringType of the crossFeature. A + /// crossFeature must be owned by its featureCrossing (end Feature) when the featureCrossing owningType + /// has more than two end Features. Otherwise, for exactly two end Features, the crossFeatures of each + /// the ends can instead optionally be inherited by the other end from one of its types or a subsetted + /// Feature. /// [Class(xmiId: "_19_0_4_b9102da_1689616180239_998062_127", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/DataType.cs b/SysML2.NET/Core/AutoGenDto/DataType.cs index e82345b8..1f5f6aaa 100644 --- a/SysML2.NET/Core/AutoGenDto/DataType.cs +++ b/SysML2.NET/Core/AutoGenDto/DataType.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,10 +34,11 @@ namespace SysML2.NET.Core.DTO.Kernel.DataTypes /// /// A DataType is a Classifier of things (in the universe) that can only be distinguished by how they /// are related to other things (via Features). This means multiple things classified by the same - /// DataType
  • Cannot be distinguished when they are related to other things in exactly the same - /// way, even when they are intended to be about different things.
  • Can be distinguished when - /// they are related to other things in different ways, even when they are intended to be about the same - /// thing.
+ /// DataType
  • Cannot be distinguished when they + /// are related to other things in exactly the same way, even when they are intended to be about + /// different things.
  • Can be distinguished when they are related to + /// other things in different ways, even when they are intended to be about the same thing.
  • + ///
///
[Class(xmiId: "_18_5_3_12e503d9_1557527599533_240072_110321", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -218,11 +219,11 @@ public partial class DataType : IDataType /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/DecisionNode.cs b/SysML2.NET/Core/AutoGenDto/DecisionNode.cs index aa4ff166..cbddf580 100644 --- a/SysML2.NET/Core/AutoGenDto/DecisionNode.cs +++ b/SysML2.NET/Core/AutoGenDto/DecisionNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -53,7 +53,6 @@ public partial class DecisionNode : IDecisionNode /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -121,7 +120,7 @@ public partial class DecisionNode : IDecisionNode [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -150,7 +149,6 @@ public partial class DecisionNode : IDecisionNode /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -388,11 +386,11 @@ public partial class DecisionNode : IDecisionNode /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -430,9 +428,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -658,7 +656,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -701,9 +698,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -943,7 +939,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Definition.cs b/SysML2.NET/Core/AutoGenDto/Definition.cs index 66e974e1..c5d8bb6a 100644 --- a/SysML2.NET/Core/AutoGenDto/Definition.cs +++ b/SysML2.NET/Core/AutoGenDto/Definition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,15 +33,15 @@ namespace SysML2.NET.Core.DTO.Systems.DefinitionAndUsage /// /// A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model - /// are given by the subclasses of Definition (possibly as extended with user-defined - /// SemanticMetadata).Normally, a Definition has owned Usages that model features of the thing being - /// defined. A Definition may also have other Definitions nested in it, but this has no semantic + /// are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata). + /// Normally, a Definition has owned Usages that model features of the thing + /// being defined. A Definition may also have other Definitions nested in it, but this has no semantic /// significance, other than the nested scoping resulting from the Definition being considered as a - /// Namespace for any nested Definitions.However, if a Definition has isVariation = true, then it - /// represents a variation point Definition. In this case, all of its members must be variant Usages, - /// related to the Definition by VariantMembership Relationships. Rather than being features of the - /// Definition, variant Usages model different concrete alternatives that can be chosen to fill in for - /// an abstract Usage of the variation point Definition. + /// Namespace for any nested Definitions. However, if a Definition has + /// isVariation = true, then it represents a variation point Definition. In this case, all of its + /// members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather + /// than being features of the Definition, variant Usages model different concrete alternatives that can + /// be chosen to fill in for an abstract Usage of the variation point Definition. /// [Class(xmiId: "_18_5_3_12e503d9_1565479032244_336549_22524", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -104,7 +104,6 @@ public partial class Definition : IDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -231,11 +230,11 @@ public partial class Definition : IDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -625,7 +624,6 @@ public partial class Definition : IDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/Dependency.cs b/SysML2.NET/Core/AutoGenDto/Dependency.cs index f945dcea..dcf3d3d3 100644 --- a/SysML2.NET/Core/AutoGenDto/Dependency.cs +++ b/SysML2.NET/Core/AutoGenDto/Dependency.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,8 +34,9 @@ namespace SysML2.NET.Core.DTO.Root.Dependencies /// /// A Dependency is a Relationship that indicates that one or more client Elements require one more /// supplier Elements for their complete specification. In general, this means that a change to one of - /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note - /// that a Dependency is entirely a model-level Relationship, without instance-level semantics. + /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements. + /// Note that a Dependency is entirely a model-level Relationship, without + /// instance-level semantics. /// [Class(xmiId: "_19_0_2_12e503d9_1594006219028_628649_74", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/Differencing.cs b/SysML2.NET/Core/AutoGenDto/Differencing.cs index b9cf0776..bbf28379 100644 --- a/SysML2.NET/Core/AutoGenDto/Differencing.cs +++ b/SysML2.NET/Core/AutoGenDto/Differencing.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Disjoining.cs b/SysML2.NET/Core/AutoGenDto/Disjoining.cs index b693cdfd..f24ffc4d 100644 --- a/SysML2.NET/Core/AutoGenDto/Disjoining.cs +++ b/SysML2.NET/Core/AutoGenDto/Disjoining.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Documentation.cs b/SysML2.NET/Core/AutoGenDto/Documentation.cs index 677ca6a6..d1913b29 100644 --- a/SysML2.NET/Core/AutoGenDto/Documentation.cs +++ b/SysML2.NET/Core/AutoGenDto/Documentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ElementFilterMembership.cs b/SysML2.NET/Core/AutoGenDto/ElementFilterMembership.cs index b75e4222..f5d046ae 100644 --- a/SysML2.NET/Core/AutoGenDto/ElementFilterMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ElementFilterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/EndFeatureMembership.cs b/SysML2.NET/Core/AutoGenDto/EndFeatureMembership.cs index ba16deb0..b5851e14 100644 --- a/SysML2.NET/Core/AutoGenDto/EndFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/EndFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/EnumerationDefinition.cs b/SysML2.NET/Core/AutoGenDto/EnumerationDefinition.cs index ec74a125..cabb935d 100644 --- a/SysML2.NET/Core/AutoGenDto/EnumerationDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/EnumerationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -97,7 +97,6 @@ public partial class EnumerationDefinition : IEnumerationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -233,11 +232,11 @@ public partial class EnumerationDefinition : IEnumerationDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -644,7 +643,6 @@ bool Systems.DefinitionAndUsage.IDefinition.IsVariation /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/EnumerationUsage.cs b/SysML2.NET/Core/AutoGenDto/EnumerationUsage.cs index c4ad75cd..ef6a96d2 100644 --- a/SysML2.NET/Core/AutoGenDto/EnumerationUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/EnumerationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -140,7 +140,6 @@ public partial class EnumerationUsage : IEnumerationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -379,11 +378,11 @@ public partial class EnumerationUsage : IEnumerationUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -421,9 +420,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -649,7 +648,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -923,7 +921,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/EventOccurrenceUsage.cs b/SysML2.NET/Core/AutoGenDto/EventOccurrenceUsage.cs index de024ce2..bf342dbe 100644 --- a/SysML2.NET/Core/AutoGenDto/EventOccurrenceUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/EventOccurrenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,9 +36,9 @@ namespace SysML2.NET.Core.DTO.Systems.Occurrences /// An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a /// suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the /// EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage - /// by a ReferenceSubsetting Relationship.If the EventOccurrenceUsage is owned by an - /// OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property - /// of the Class Occurrence from the Kernel Semantic Library model Occurrences. + /// by a ReferenceSubsetting Relationship. If the EventOccurrenceUsage is owned + /// by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences + /// property of the Class Occurrence from the Kernel Semantic Library model Occurrences. /// [Class(xmiId: "_19_0_4_12e503d9_1622831611763_442921_132", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -134,7 +134,6 @@ public partial class EventOccurrenceUsage : IEventOccurrenceUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -390,11 +389,11 @@ public partial class EventOccurrenceUsage : IEventOccurrenceUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -432,9 +431,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -660,7 +659,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -944,7 +942,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ExhibitStateUsage.cs b/SysML2.NET/Core/AutoGenDto/ExhibitStateUsage.cs index b2d8ee2e..8610813c 100644 --- a/SysML2.NET/Core/AutoGenDto/ExhibitStateUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ExhibitStateUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -57,7 +57,6 @@ public partial class ExhibitStateUsage : IExhibitStateUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [RedefinedByProperty("IStateUsage.StateDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] List Systems.Actions.IActionUsage.actionDefinition => [.. this.stateDefinition]; @@ -126,7 +125,7 @@ public partial class ExhibitStateUsage : IExhibitStateUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -155,7 +154,6 @@ public partial class ExhibitStateUsage : IExhibitStateUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -457,11 +455,11 @@ public partial class ExhibitStateUsage : IExhibitStateUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -499,9 +497,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -727,7 +725,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -770,9 +767,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1012,7 +1008,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Expression.cs b/SysML2.NET/Core/AutoGenDto/Expression.cs index 411247d2..1c1f7b3c 100644 --- a/SysML2.NET/Core/AutoGenDto/Expression.cs +++ b/SysML2.NET/Core/AutoGenDto/Expression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -354,11 +354,11 @@ public partial class Expression : IExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Feature.cs b/SysML2.NET/Core/AutoGenDto/Feature.cs index ab104c94..8d0c7b33 100644 --- a/SysML2.NET/Core/AutoGenDto/Feature.cs +++ b/SysML2.NET/Core/AutoGenDto/Feature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,18 +36,19 @@ namespace SysML2.NET.Core.DTO.Core.Features /// A Feature is a Type that classifies relations between multiple things (in the universe). The domain /// of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature /// with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic - /// Library.) The co-domain of the relation is the intersection of the types of the Feature.In the - /// simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one - /// from the domain and one from the range. Examples include cars paired with wheels, people paired with - /// other people, and cars paired with numbers representing the car length.Since Features are Types, - /// their featuringTypes and types can be Features. In this case, the Feature effectively classifies - /// relations between relations, which can be interpreted as the sequence of things related by the - /// domain Feature concatenated with the sequence of things related by the co-domain Feature.The values - /// of a Feature for a given instance of its domain are all the instances of its co-domain that are - /// related to that domain instance by the Feature. The values of a Feature with chainingFeatures are - /// the same as values of the last Feature in the chain, which can be found by starting with values of - /// the first Feature, then using those values as domain instances to obtain valus of the second - /// Feature, and so on, to values of the last Feature. + /// Library.) The co-domain of the relation is the intersection of the types of the Feature. + /// In the simplest cases, the featuringTypes and types are Classifiers and the Feature + /// relates two things, one from the domain and one from the range. Examples include cars paired with + /// wheels, people paired with other people, and cars paired with numbers representing the car length. + /// Since Features are Types, their featuringTypes and types can be Features. In + /// this case, the Feature effectively classifies relations between relations, which can be interpreted + /// as the sequence of things related by the domain Feature concatenated with the sequence of things + /// related by the co-domain Feature. The values of a Feature for a given + /// instance of its domain are all the instances of its co-domain that are related to that domain + /// instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the + /// last Feature in the chain, which can be found by starting with values of the first Feature, then + /// using those values as domain instances to obtain valus of the second Feature, and so on, to values + /// of the last Feature. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651684_893483_42160", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -338,11 +339,11 @@ public partial class Feature : IFeature /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/FeatureChainExpression.cs b/SysML2.NET/Core/AutoGenDto/FeatureChainExpression.cs index 1c538503..e66af8c5 100644 --- a/SysML2.NET/Core/AutoGenDto/FeatureChainExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/FeatureChainExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -57,8 +57,8 @@ public partial class FeatureChainExpression : IFeatureChainExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -369,11 +369,11 @@ public partial class FeatureChainExpression : IFeatureChainExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/FeatureChaining.cs b/SysML2.NET/Core/AutoGenDto/FeatureChaining.cs index f5a2e1df..7853ebd4 100644 --- a/SysML2.NET/Core/AutoGenDto/FeatureChaining.cs +++ b/SysML2.NET/Core/AutoGenDto/FeatureChaining.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/FeatureInverting.cs b/SysML2.NET/Core/AutoGenDto/FeatureInverting.cs index da4b3361..9efe0b6d 100644 --- a/SysML2.NET/Core/AutoGenDto/FeatureInverting.cs +++ b/SysML2.NET/Core/AutoGenDto/FeatureInverting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/FeatureMembership.cs b/SysML2.NET/Core/AutoGenDto/FeatureMembership.cs index 3d575658..ad698f6b 100644 --- a/SysML2.NET/Core/AutoGenDto/FeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/FeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/FeatureReferenceExpression.cs b/SysML2.NET/Core/AutoGenDto/FeatureReferenceExpression.cs index dc829dfa..5ce4c3d0 100644 --- a/SysML2.NET/Core/AutoGenDto/FeatureReferenceExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/FeatureReferenceExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class FeatureReferenceExpression : IFeatureReferenceExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/FeatureTyping.cs b/SysML2.NET/Core/AutoGenDto/FeatureTyping.cs index e16c8d48..4059071a 100644 --- a/SysML2.NET/Core/AutoGenDto/FeatureTyping.cs +++ b/SysML2.NET/Core/AutoGenDto/FeatureTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/FeatureValue.cs b/SysML2.NET/Core/AutoGenDto/FeatureValue.cs index a9b5d229..7f717d86 100644 --- a/SysML2.NET/Core/AutoGenDto/FeatureValue.cs +++ b/SysML2.NET/Core/AutoGenDto/FeatureValue.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,13 +36,14 @@ namespace SysML2.NET.Core.DTO.Kernel.FeatureValues /// A FeatureValue is a Membership that identifies a particular member Expression that provides the /// value of the Feature that owns the FeatureValue. The value is specified as either a bound value or /// an initial value, and as either a concrete or default value. A Feature can have at most one - /// FeatureValue.The result of the value Expression is bound to the featureWithValue using a - /// BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same - /// as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the - /// BindingConnector is restricted to its startShot.If isDefault = false, then the above semantics of - /// the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized - /// for any individual of the featuringType of the featureWithValue, unless another value is explicitly - /// given for the featureWithValue for that individual. + /// FeatureValue. The result of the value Expression is bound to the + /// featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the + /// BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then + /// the featuringType of the BindingConnector is restricted to its startShot. If + /// isDefault = false, then the above semantics of the FeatureValue are realized for the given + /// featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of + /// the featureWithValue, unless another value is explicitly given for the featureWithValue for that + /// individual. /// [Class(xmiId: "_18_5_3_12e503d9_1543180279304_499907_20659", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/Flow.cs b/SysML2.NET/Core/AutoGenDto/Flow.cs index d45b44be..291fb075 100644 --- a/SysML2.NET/Core/AutoGenDto/Flow.cs +++ b/SysML2.NET/Core/AutoGenDto/Flow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -391,11 +391,11 @@ public partial class Flow : IFlow /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/FlowDefinition.cs b/SysML2.NET/Core/AutoGenDto/FlowDefinition.cs index c6da8b10..a4699da0 100644 --- a/SysML2.NET/Core/AutoGenDto/FlowDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/FlowDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -53,7 +53,6 @@ public partial class FlowDefinition : IFlowDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action { get; internal set; } = []; @@ -119,7 +118,6 @@ public partial class FlowDefinition : IFlowDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -270,11 +268,11 @@ public partial class FlowDefinition : IFlowDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -672,7 +670,6 @@ public partial class FlowDefinition : IFlowDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/FlowEnd.cs b/SysML2.NET/Core/AutoGenDto/FlowEnd.cs index 3228e2be..7ccf10e4 100644 --- a/SysML2.NET/Core/AutoGenDto/FlowEnd.cs +++ b/SysML2.NET/Core/AutoGenDto/FlowEnd.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -327,11 +327,11 @@ public partial class FlowEnd : IFlowEnd /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/FlowUsage.cs b/SysML2.NET/Core/AutoGenDto/FlowUsage.cs index 5d768ecf..d79907fd 100644 --- a/SysML2.NET/Core/AutoGenDto/FlowUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/FlowUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,10 +56,8 @@ public partial class FlowUsage : IFlowUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("IFlowUsage.FlowDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => [.. this.flowDefinition]; + public List actionDefinition { get; internal set; } = []; /// /// Various alternative identifiers for this Element. Generally, these will be set by tools. @@ -153,7 +151,7 @@ public partial class FlowUsage : IFlowUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -182,7 +180,6 @@ public partial class FlowUsage : IFlowUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -270,7 +267,6 @@ public partial class FlowUsage : IFlowUsage /// Model Libraries. /// [Property(xmiId: "_19_0_4_12e503d9_1661892878973_977062_185", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1661900477937_518125_727")] [Implements(implementation: "IFlowUsage.FlowDefinition")] public List flowDefinition { get; internal set; } = []; @@ -459,11 +455,11 @@ public partial class FlowUsage : IFlowUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -501,9 +497,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -729,7 +725,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -772,9 +767,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1022,7 +1016,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ForLoopActionUsage.cs b/SysML2.NET/Core/AutoGenDto/ForLoopActionUsage.cs index 3d93447d..397405db 100644 --- a/SysML2.NET/Core/AutoGenDto/ForLoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ForLoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -55,7 +55,6 @@ public partial class ForLoopActionUsage : IForLoopActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -131,7 +130,7 @@ public partial class ForLoopActionUsage : IForLoopActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -160,7 +159,6 @@ public partial class ForLoopActionUsage : IForLoopActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -398,11 +396,11 @@ public partial class ForLoopActionUsage : IForLoopActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -449,9 +447,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -677,7 +675,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -720,9 +717,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -962,7 +958,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ForkNode.cs b/SysML2.NET/Core/AutoGenDto/ForkNode.cs index 5447c3f7..ec5e66ea 100644 --- a/SysML2.NET/Core/AutoGenDto/ForkNode.cs +++ b/SysML2.NET/Core/AutoGenDto/ForkNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,7 +54,6 @@ public partial class ForkNode : IForkNode /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -122,7 +121,7 @@ public partial class ForkNode : IForkNode [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -151,7 +150,6 @@ public partial class ForkNode : IForkNode /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -389,11 +387,11 @@ public partial class ForkNode : IForkNode /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -431,9 +429,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -659,7 +657,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -702,9 +699,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -944,7 +940,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/FramedConcernMembership.cs b/SysML2.NET/Core/AutoGenDto/FramedConcernMembership.cs index 34a029bc..c4d387c4 100644 --- a/SysML2.NET/Core/AutoGenDto/FramedConcernMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/FramedConcernMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Function.cs b/SysML2.NET/Core/AutoGenDto/Function.cs index 50e370f9..f2ae0446 100644 --- a/SysML2.NET/Core/AutoGenDto/Function.cs +++ b/SysML2.NET/Core/AutoGenDto/Function.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -225,9 +225,9 @@ public partial class Function : IFunction /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -235,11 +235,11 @@ public partial class Function : IFunction /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/IAcceptActionUsage.cs b/SysML2.NET/Core/AutoGenDto/IAcceptActionUsage.cs index e4af28e0..10cb5fdb 100644 --- a/SysML2.NET/Core/AutoGenDto/IAcceptActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IAcceptActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -55,7 +55,6 @@ public partial interface IAcceptActionUsage : IActionUsage /// base AcceptActionUsage AcceptAction from the Systems Model Library. /// [Property(xmiId: "_19_0_4_12e503d9_1642701018287_478584_4462", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591477541360_47573_933")] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] Guid payloadParameter { get; } diff --git a/SysML2.NET/Core/AutoGenDto/IActionDefinition.cs b/SysML2.NET/Core/AutoGenDto/IActionDefinition.cs index c952d0c4..2563207d 100644 --- a/SysML2.NET/Core/AutoGenDto/IActionDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IActionDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -46,7 +46,6 @@ public partial interface IActionDefinition : IBehavior, IOccurrenceDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List action { get; } } diff --git a/SysML2.NET/Core/AutoGenDto/IActionUsage.cs b/SysML2.NET/Core/AutoGenDto/IActionUsage.cs index 12832ae6..167e7085 100644 --- a/SysML2.NET/Core/AutoGenDto/IActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -51,7 +51,6 @@ public partial interface IActionUsage : IStep, IOccurrenceUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] List actionDefinition { get; } } diff --git a/SysML2.NET/Core/AutoGenDto/IActorMembership.cs b/SysML2.NET/Core/AutoGenDto/IActorMembership.cs index 286201de..41f41a71 100644 --- a/SysML2.NET/Core/AutoGenDto/IActorMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IActorMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAllocationDefinition.cs b/SysML2.NET/Core/AutoGenDto/IAllocationDefinition.cs index 725bb9ed..04dc4dfe 100644 --- a/SysML2.NET/Core/AutoGenDto/IAllocationDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IAllocationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAllocationUsage.cs b/SysML2.NET/Core/AutoGenDto/IAllocationUsage.cs index 80dec83b..48a047f3 100644 --- a/SysML2.NET/Core/AutoGenDto/IAllocationUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IAllocationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAnalysisCaseDefinition.cs b/SysML2.NET/Core/AutoGenDto/IAnalysisCaseDefinition.cs index f5403218..0ba0186e 100644 --- a/SysML2.NET/Core/AutoGenDto/IAnalysisCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IAnalysisCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAnalysisCaseUsage.cs b/SysML2.NET/Core/AutoGenDto/IAnalysisCaseUsage.cs index bb1c876a..c6300224 100644 --- a/SysML2.NET/Core/AutoGenDto/IAnalysisCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IAnalysisCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAnnotatingElement.cs b/SysML2.NET/Core/AutoGenDto/IAnnotatingElement.cs index 45c774bc..9f1d36f5 100644 --- a/SysML2.NET/Core/AutoGenDto/IAnnotatingElement.cs +++ b/SysML2.NET/Core/AutoGenDto/IAnnotatingElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAnnotation.cs b/SysML2.NET/Core/AutoGenDto/IAnnotation.cs index 2c88fe55..2880ee67 100644 --- a/SysML2.NET/Core/AutoGenDto/IAnnotation.cs +++ b/SysML2.NET/Core/AutoGenDto/IAnnotation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAssertConstraintUsage.cs b/SysML2.NET/Core/AutoGenDto/IAssertConstraintUsage.cs index 4f63d89a..63deddb8 100644 --- a/SysML2.NET/Core/AutoGenDto/IAssertConstraintUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IAssertConstraintUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAssignmentActionUsage.cs b/SysML2.NET/Core/AutoGenDto/IAssignmentActionUsage.cs index c84ec0b0..7049b993 100644 --- a/SysML2.NET/Core/AutoGenDto/IAssignmentActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IAssignmentActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAssociation.cs b/SysML2.NET/Core/AutoGenDto/IAssociation.cs index c47ea65a..78f5aa47 100644 --- a/SysML2.NET/Core/AutoGenDto/IAssociation.cs +++ b/SysML2.NET/Core/AutoGenDto/IAssociation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAssociationStructure.cs b/SysML2.NET/Core/AutoGenDto/IAssociationStructure.cs index d11db134..67e5f8b1 100644 --- a/SysML2.NET/Core/AutoGenDto/IAssociationStructure.cs +++ b/SysML2.NET/Core/AutoGenDto/IAssociationStructure.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IAttributeDefinition.cs b/SysML2.NET/Core/AutoGenDto/IAttributeDefinition.cs index 43501f37..7cc1f705 100644 --- a/SysML2.NET/Core/AutoGenDto/IAttributeDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IAttributeDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,9 +35,9 @@ namespace SysML2.NET.Core.DTO.Systems.Attributes /// /// An AttributeDefinition is a Definition and a DataType of information about a quality or /// characteristic of a system or part of a system that has no independent identity other than its - /// value. All features of an AttributeDefinition must be referential (non-composite).As a DataType, an - /// AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from - /// the Kernel Semantic Library. + /// value. All features of an AttributeDefinition must be referential (non-composite). + /// As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base + /// DataType Base::DataValue from the Kernel Semantic Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471213468_167708_20650", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IAttributeUsage.cs b/SysML2.NET/Core/AutoGenDto/IAttributeUsage.cs index 06bd3e43..4804d249 100644 --- a/SysML2.NET/Core/AutoGenDto/IAttributeUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IAttributeUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,8 +37,9 @@ namespace SysML2.NET.Core.DTO.Systems.Attributes /// AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of /// some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to /// permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its - /// nested features must be referential (non-composite).An AttributeUsage must specialize, directly or - /// indirectly, the base Feature Base::dataValues from the Kernel Semantic Library. + /// nested features must be referential (non-composite). An AttributeUsage must + /// specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic + /// Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471291545_950196_20762", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IBehavior.cs b/SysML2.NET/Core/AutoGenDto/IBehavior.cs index c4c38302..036dd4e3 100644 --- a/SysML2.NET/Core/AutoGenDto/IBehavior.cs +++ b/SysML2.NET/Core/AutoGenDto/IBehavior.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IBindingConnector.cs b/SysML2.NET/Core/AutoGenDto/IBindingConnector.cs index 7e88116d..30dbaf96 100644 --- a/SysML2.NET/Core/AutoGenDto/IBindingConnector.cs +++ b/SysML2.NET/Core/AutoGenDto/IBindingConnector.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IBindingConnectorAsUsage.cs b/SysML2.NET/Core/AutoGenDto/IBindingConnectorAsUsage.cs index ae250dca..170c3ee0 100644 --- a/SysML2.NET/Core/AutoGenDto/IBindingConnectorAsUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IBindingConnectorAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IBooleanExpression.cs b/SysML2.NET/Core/AutoGenDto/IBooleanExpression.cs index ae13dc03..6a4055ec 100644 --- a/SysML2.NET/Core/AutoGenDto/IBooleanExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IBooleanExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ICalculationDefinition.cs b/SysML2.NET/Core/AutoGenDto/ICalculationDefinition.cs index b42acafd..5af59673 100644 --- a/SysML2.NET/Core/AutoGenDto/ICalculationDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ICalculationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -44,7 +44,6 @@ public partial interface ICalculationDefinition : IFunction, IActionDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] List calculation { get; } diff --git a/SysML2.NET/Core/AutoGenDto/ICalculationUsage.cs b/SysML2.NET/Core/AutoGenDto/ICalculationUsage.cs index 9855bbdc..087260a4 100644 --- a/SysML2.NET/Core/AutoGenDto/ICalculationUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ICalculationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -51,7 +51,6 @@ public partial interface ICalculationUsage : IExpression, IActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] Guid? calculationDefinition { get; } } diff --git a/SysML2.NET/Core/AutoGenDto/ICaseDefinition.cs b/SysML2.NET/Core/AutoGenDto/ICaseDefinition.cs index 17e7a8f2..0885b9a7 100644 --- a/SysML2.NET/Core/AutoGenDto/ICaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ICaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -45,7 +45,6 @@ public partial interface ICaseDefinition : ICalculationDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List actorParameter { get; } /// @@ -60,7 +59,6 @@ public partial interface ICaseDefinition : ICalculationDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] Guid subjectParameter { get; } } diff --git a/SysML2.NET/Core/AutoGenDto/ICaseUsage.cs b/SysML2.NET/Core/AutoGenDto/ICaseUsage.cs index 09192687..390a7b51 100644 --- a/SysML2.NET/Core/AutoGenDto/ICaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ICaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -45,7 +45,6 @@ public partial interface ICaseUsage : ICalculationUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List actorParameter { get; } /// @@ -67,7 +66,6 @@ public partial interface ICaseUsage : ICalculationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] Guid subjectParameter { get; } } diff --git a/SysML2.NET/Core/AutoGenDto/IClass.cs b/SysML2.NET/Core/AutoGenDto/IClass.cs index a9bf05dd..45f33d8b 100644 --- a/SysML2.NET/Core/AutoGenDto/IClass.cs +++ b/SysML2.NET/Core/AutoGenDto/IClass.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IClassifier.cs b/SysML2.NET/Core/AutoGenDto/IClassifier.cs index d5bacbac..ac171c2f 100644 --- a/SysML2.NET/Core/AutoGenDto/IClassifier.cs +++ b/SysML2.NET/Core/AutoGenDto/IClassifier.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -32,12 +32,13 @@ namespace SysML2.NET.Core.DTO.Core.Classifiers using SysML2.NET.Decorators; /// - /// A Classifier is a Type that classifies:
  • Things (in the universe) regardless of how Features - /// relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • How - /// the above things are related by Features. (These are interpreted semantically as sequences of - /// multiple things, such that the last thing in the sequence is also classified by the Classifier. Note - /// that this means that a Classifier modeled as specializing a Feature cannot classify - /// anything.)
+ /// A Classifier is a Type that classifies:
    + ///
  • Things (in the universe) regardless of how Features relate them. (These are interpreted + /// semantically as sequences of exactly one thing.)
  • How the above + /// things are related by Features. (These are interpreted semantically as sequences of multiple things, + /// such that the last thing in the sequence is also classified by the Classifier. Note that this means + /// that a Classifier modeled as specializing a Feature cannot classify anything.)
  • + ///
///
[Class(xmiId: "_18_5_3_12e503d9_1533160651676_375105_42143", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/ICollectExpression.cs b/SysML2.NET/Core/AutoGenDto/ICollectExpression.cs index 877e4867..3f9289d3 100644 --- a/SysML2.NET/Core/AutoGenDto/ICollectExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/ICollectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IComment.cs b/SysML2.NET/Core/AutoGenDto/IComment.cs index 11611644..94bf3d76 100644 --- a/SysML2.NET/Core/AutoGenDto/IComment.cs +++ b/SysML2.NET/Core/AutoGenDto/IComment.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConcernDefinition.cs b/SysML2.NET/Core/AutoGenDto/IConcernDefinition.cs index 02ea0a94..0f66e89d 100644 --- a/SysML2.NET/Core/AutoGenDto/IConcernDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IConcernDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConcernUsage.cs b/SysML2.NET/Core/AutoGenDto/IConcernUsage.cs index a38adab6..31ed9a75 100644 --- a/SysML2.NET/Core/AutoGenDto/IConcernUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IConcernUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,10 +33,10 @@ namespace SysML2.NET.Core.DTO.Systems.Requirements using SysML2.NET.Decorators; /// - /// A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder features of the ConcernUsage - /// shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an - /// ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an - /// ownedStakeholder feature that is bound to the self feature of its owner. + /// A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder + /// features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If + /// the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the + /// ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner. /// [Class(xmiId: "_19_0_4_12e503d9_1617051561652_163085_1288", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IConjugatedPortDefinition.cs b/SysML2.NET/Core/AutoGenDto/IConjugatedPortDefinition.cs index 5be7d863..8df26fbd 100644 --- a/SysML2.NET/Core/AutoGenDto/IConjugatedPortDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IConjugatedPortDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConjugatedPortTyping.cs b/SysML2.NET/Core/AutoGenDto/IConjugatedPortTyping.cs index beae34a7..7ce69698 100644 --- a/SysML2.NET/Core/AutoGenDto/IConjugatedPortTyping.cs +++ b/SysML2.NET/Core/AutoGenDto/IConjugatedPortTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConjugation.cs b/SysML2.NET/Core/AutoGenDto/IConjugation.cs index 38a8a4d6..0818c897 100644 --- a/SysML2.NET/Core/AutoGenDto/IConjugation.cs +++ b/SysML2.NET/Core/AutoGenDto/IConjugation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,9 +37,9 @@ namespace SysML2.NET.Core.DTO.Core.Types /// with a direction in relative to the originalType are considered to have an effective direction of /// out relative to the conjugatedType and, similarly, Features with direction out in the originalType /// are considered to have an effective direction of in in the conjugatedType. Features with direction - /// inout, or with no direction, in the originalType, are inherited without change.A Type may - /// participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not - /// also be the specific Type in any Specialization relationship. + /// inout, or with no direction, in the originalType, are inherited without change. + /// A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a + /// Type may not also be the specific Type in any Specialization relationship. /// [Class(xmiId: "_19_0_2_12e503d9_1575482328287_696279_181", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IConnectionDefinition.cs b/SysML2.NET/Core/AutoGenDto/IConnectionDefinition.cs index c9e9917e..2c8aa3b4 100644 --- a/SysML2.NET/Core/AutoGenDto/IConnectionDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IConnectionDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConnectionUsage.cs b/SysML2.NET/Core/AutoGenDto/IConnectionUsage.cs index 99c42502..b404a54a 100644 --- a/SysML2.NET/Core/AutoGenDto/IConnectionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IConnectionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConnector.cs b/SysML2.NET/Core/AutoGenDto/IConnector.cs index ceceb9c0..ab673f1f 100644 --- a/SysML2.NET/Core/AutoGenDto/IConnector.cs +++ b/SysML2.NET/Core/AutoGenDto/IConnector.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConnectorAsUsage.cs b/SysML2.NET/Core/AutoGenDto/IConnectorAsUsage.cs index 57d95cf4..107d4ea3 100644 --- a/SysML2.NET/Core/AutoGenDto/IConnectorAsUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IConnectorAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConstraintDefinition.cs b/SysML2.NET/Core/AutoGenDto/IConstraintDefinition.cs index 2b3c4de6..08aad5ea 100644 --- a/SysML2.NET/Core/AutoGenDto/IConstraintDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IConstraintDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConstraintUsage.cs b/SysML2.NET/Core/AutoGenDto/IConstraintUsage.cs index b4ca36b6..7cc3dae2 100644 --- a/SysML2.NET/Core/AutoGenDto/IConstraintUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IConstraintUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IConstructorExpression.cs b/SysML2.NET/Core/AutoGenDto/IConstructorExpression.cs index c2c9101a..70ce722c 100644 --- a/SysML2.NET/Core/AutoGenDto/IConstructorExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IConstructorExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IControlNode.cs b/SysML2.NET/Core/AutoGenDto/IControlNode.cs index 1eb60da3..67e22084 100644 --- a/SysML2.NET/Core/AutoGenDto/IControlNode.cs +++ b/SysML2.NET/Core/AutoGenDto/IControlNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ICrossSubsetting.cs b/SysML2.NET/Core/AutoGenDto/ICrossSubsetting.cs index 39e0d95e..9b16a08a 100644 --- a/SysML2.NET/Core/AutoGenDto/ICrossSubsetting.cs +++ b/SysML2.NET/Core/AutoGenDto/ICrossSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,17 +34,18 @@ namespace SysML2.NET.Core.DTO.Core.Features /// CrossSubsetting is a kind of Subsetting for end Features, as identified by crossingFeature, to /// subset a chained Feature, identified by crossedFeature. It navigates to instances of the end /// Feature’s type from instances of other end Feature types on the same owningType (at least two end - /// Features are required for any of them to have a CrossSubsetting).The crossedFeature of a - /// CrossSubsetting must have a feature chain of exactly two Features. The second Feature in the chain - /// is the crossFeature of the crossingFeature (end Feature), which has the same type as the - /// crossingFeature. When the owningType of the crossingFeature has exactly two end Features, the first - /// Feature in the chain of the crossedFeature is the other end Feature. The crossFeature’s - /// featuringType in this case is the other end Feature. When the owningType has more than two end - /// Features, the first Feature in the chain is a Feature that CrossMultiplies all the other end - /// Features, which is also the featuringType of the crossFeature.A crossFeature must be owned by its - /// featureCrossing (end Feature) when the featureCrossing owningType has more than two end Features. - /// Otherwise, for exactly two end Features, the crossFeatures of each the ends can instead optionally - /// be inherited by the other end from one of its types or a subsetted Feature. + /// Features are required for any of them to have a CrossSubsetting). The + /// crossedFeature of a CrossSubsetting must have a feature chain of exactly two Features. The second + /// Feature in the chain is the crossFeature of the crossingFeature (end Feature), which has the same + /// type as the crossingFeature. When the owningType of the crossingFeature has exactly two end + /// Features, the first Feature in the chain of the crossedFeature is the other end Feature. The + /// crossFeature’s featuringType in this case is the other end Feature. When the owningType has more + /// than two end Features, the first Feature in the chain is a Feature that CrossMultiplies all the + /// other end Features, which is also the featuringType of the crossFeature. A + /// crossFeature must be owned by its featureCrossing (end Feature) when the featureCrossing owningType + /// has more than two end Features. Otherwise, for exactly two end Features, the crossFeatures of each + /// the ends can instead optionally be inherited by the other end from one of its types or a subsetted + /// Feature. /// [Class(xmiId: "_19_0_4_b9102da_1689616180239_998062_127", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IDataType.cs b/SysML2.NET/Core/AutoGenDto/IDataType.cs index cc1ed17f..72b8e2b2 100644 --- a/SysML2.NET/Core/AutoGenDto/IDataType.cs +++ b/SysML2.NET/Core/AutoGenDto/IDataType.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,10 +34,11 @@ namespace SysML2.NET.Core.DTO.Kernel.DataTypes /// /// A DataType is a Classifier of things (in the universe) that can only be distinguished by how they /// are related to other things (via Features). This means multiple things classified by the same - /// DataType
  • Cannot be distinguished when they are related to other things in exactly the same - /// way, even when they are intended to be about different things.
  • Can be distinguished when - /// they are related to other things in different ways, even when they are intended to be about the same - /// thing.
+ /// DataType
  • Cannot be distinguished when they + /// are related to other things in exactly the same way, even when they are intended to be about + /// different things.
  • Can be distinguished when they are related to + /// other things in different ways, even when they are intended to be about the same thing.
  • + ///
///
[Class(xmiId: "_18_5_3_12e503d9_1557527599533_240072_110321", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IDecisionNode.cs b/SysML2.NET/Core/AutoGenDto/IDecisionNode.cs index ac8f88a5..ec077cf1 100644 --- a/SysML2.NET/Core/AutoGenDto/IDecisionNode.cs +++ b/SysML2.NET/Core/AutoGenDto/IDecisionNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IDefinition.cs b/SysML2.NET/Core/AutoGenDto/IDefinition.cs index 0bdbe998..dc18ff29 100644 --- a/SysML2.NET/Core/AutoGenDto/IDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,15 +33,15 @@ namespace SysML2.NET.Core.DTO.Systems.DefinitionAndUsage /// /// A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model - /// are given by the subclasses of Definition (possibly as extended with user-defined - /// SemanticMetadata).Normally, a Definition has owned Usages that model features of the thing being - /// defined. A Definition may also have other Definitions nested in it, but this has no semantic + /// are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata). + /// Normally, a Definition has owned Usages that model features of the thing + /// being defined. A Definition may also have other Definitions nested in it, but this has no semantic /// significance, other than the nested scoping resulting from the Definition being considered as a - /// Namespace for any nested Definitions.However, if a Definition has isVariation = true, then it - /// represents a variation point Definition. In this case, all of its members must be variant Usages, - /// related to the Definition by VariantMembership Relationships. Rather than being features of the - /// Definition, variant Usages model different concrete alternatives that can be chosen to fill in for - /// an abstract Usage of the variation point Definition. + /// Namespace for any nested Definitions. However, if a Definition has + /// isVariation = true, then it represents a variation point Definition. In this case, all of its + /// members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather + /// than being features of the Definition, variant Usages model different concrete alternatives that can + /// be chosen to fill in for an abstract Usage of the variation point Definition. /// [Class(xmiId: "_18_5_3_12e503d9_1565479032244_336549_22524", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -52,7 +52,6 @@ public partial interface IDefinition : IClassifier /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List directedUsage { get; } /// @@ -223,7 +222,6 @@ public partial interface IDefinition : IClassifier /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List ownedUsage { get; } /// diff --git a/SysML2.NET/Core/AutoGenDto/IDependency.cs b/SysML2.NET/Core/AutoGenDto/IDependency.cs index af4b4ec7..19c8a8a8 100644 --- a/SysML2.NET/Core/AutoGenDto/IDependency.cs +++ b/SysML2.NET/Core/AutoGenDto/IDependency.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,8 +34,9 @@ namespace SysML2.NET.Core.DTO.Root.Dependencies /// /// A Dependency is a Relationship that indicates that one or more client Elements require one more /// supplier Elements for their complete specification. In general, this means that a change to one of - /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note - /// that a Dependency is entirely a model-level Relationship, without instance-level semantics. + /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements. + /// Note that a Dependency is entirely a model-level Relationship, without + /// instance-level semantics. /// [Class(xmiId: "_19_0_2_12e503d9_1594006219028_628649_74", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IDifferencing.cs b/SysML2.NET/Core/AutoGenDto/IDifferencing.cs index cd4d2d45..aac32119 100644 --- a/SysML2.NET/Core/AutoGenDto/IDifferencing.cs +++ b/SysML2.NET/Core/AutoGenDto/IDifferencing.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IDisjoining.cs b/SysML2.NET/Core/AutoGenDto/IDisjoining.cs index b9d6c56d..f59d5f79 100644 --- a/SysML2.NET/Core/AutoGenDto/IDisjoining.cs +++ b/SysML2.NET/Core/AutoGenDto/IDisjoining.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IDocumentation.cs b/SysML2.NET/Core/AutoGenDto/IDocumentation.cs index c14956d5..2ad614ce 100644 --- a/SysML2.NET/Core/AutoGenDto/IDocumentation.cs +++ b/SysML2.NET/Core/AutoGenDto/IDocumentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IElement.cs b/SysML2.NET/Core/AutoGenDto/IElement.cs index 6097afa3..c6e87198 100644 --- a/SysML2.NET/Core/AutoGenDto/IElement.cs +++ b/SysML2.NET/Core/AutoGenDto/IElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IElementFilterMembership.cs b/SysML2.NET/Core/AutoGenDto/IElementFilterMembership.cs index 6cd791a0..2ad2c94e 100644 --- a/SysML2.NET/Core/AutoGenDto/IElementFilterMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IElementFilterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IEndFeatureMembership.cs b/SysML2.NET/Core/AutoGenDto/IEndFeatureMembership.cs index 2e580f51..9c388dfb 100644 --- a/SysML2.NET/Core/AutoGenDto/IEndFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IEndFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IEnumerationDefinition.cs b/SysML2.NET/Core/AutoGenDto/IEnumerationDefinition.cs index fbf44cd9..bfa1b5a4 100644 --- a/SysML2.NET/Core/AutoGenDto/IEnumerationDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IEnumerationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IEnumerationUsage.cs b/SysML2.NET/Core/AutoGenDto/IEnumerationUsage.cs index 6c07b17b..857a4b72 100644 --- a/SysML2.NET/Core/AutoGenDto/IEnumerationUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IEnumerationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IEventOccurrenceUsage.cs b/SysML2.NET/Core/AutoGenDto/IEventOccurrenceUsage.cs index 500d2a9e..97125d75 100644 --- a/SysML2.NET/Core/AutoGenDto/IEventOccurrenceUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IEventOccurrenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,9 +36,9 @@ namespace SysML2.NET.Core.DTO.Systems.Occurrences /// An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a /// suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the /// EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage - /// by a ReferenceSubsetting Relationship.If the EventOccurrenceUsage is owned by an - /// OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property - /// of the Class Occurrence from the Kernel Semantic Library model Occurrences. + /// by a ReferenceSubsetting Relationship. If the EventOccurrenceUsage is owned + /// by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences + /// property of the Class Occurrence from the Kernel Semantic Library model Occurrences. /// [Class(xmiId: "_19_0_4_12e503d9_1622831611763_442921_132", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IExhibitStateUsage.cs b/SysML2.NET/Core/AutoGenDto/IExhibitStateUsage.cs index e1dc54d8..ab86d722 100644 --- a/SysML2.NET/Core/AutoGenDto/IExhibitStateUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IExhibitStateUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IExpose.cs b/SysML2.NET/Core/AutoGenDto/IExpose.cs index 38ea0f96..756276ee 100644 --- a/SysML2.NET/Core/AutoGenDto/IExpose.cs +++ b/SysML2.NET/Core/AutoGenDto/IExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IExpression.cs b/SysML2.NET/Core/AutoGenDto/IExpression.cs index d4398ad7..6207aef0 100644 --- a/SysML2.NET/Core/AutoGenDto/IExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFeature.cs b/SysML2.NET/Core/AutoGenDto/IFeature.cs index fb38eb73..7b4c99c3 100644 --- a/SysML2.NET/Core/AutoGenDto/IFeature.cs +++ b/SysML2.NET/Core/AutoGenDto/IFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,18 +36,19 @@ namespace SysML2.NET.Core.DTO.Core.Features /// A Feature is a Type that classifies relations between multiple things (in the universe). The domain /// of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature /// with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic - /// Library.) The co-domain of the relation is the intersection of the types of the Feature.In the - /// simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one - /// from the domain and one from the range. Examples include cars paired with wheels, people paired with - /// other people, and cars paired with numbers representing the car length.Since Features are Types, - /// their featuringTypes and types can be Features. In this case, the Feature effectively classifies - /// relations between relations, which can be interpreted as the sequence of things related by the - /// domain Feature concatenated with the sequence of things related by the co-domain Feature.The values - /// of a Feature for a given instance of its domain are all the instances of its co-domain that are - /// related to that domain instance by the Feature. The values of a Feature with chainingFeatures are - /// the same as values of the last Feature in the chain, which can be found by starting with values of - /// the first Feature, then using those values as domain instances to obtain valus of the second - /// Feature, and so on, to values of the last Feature. + /// Library.) The co-domain of the relation is the intersection of the types of the Feature. + /// In the simplest cases, the featuringTypes and types are Classifiers and the Feature + /// relates two things, one from the domain and one from the range. Examples include cars paired with + /// wheels, people paired with other people, and cars paired with numbers representing the car length. + /// Since Features are Types, their featuringTypes and types can be Features. In + /// this case, the Feature effectively classifies relations between relations, which can be interpreted + /// as the sequence of things related by the domain Feature concatenated with the sequence of things + /// related by the co-domain Feature. The values of a Feature for a given + /// instance of its domain are all the instances of its co-domain that are related to that domain + /// instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the + /// last Feature in the chain, which can be found by starting with values of the first Feature, then + /// using those values as domain instances to obtain valus of the second Feature, and so on, to values + /// of the last Feature. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651684_893483_42160", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IFeatureChainExpression.cs b/SysML2.NET/Core/AutoGenDto/IFeatureChainExpression.cs index d7f68e44..e5cc2b5e 100644 --- a/SysML2.NET/Core/AutoGenDto/IFeatureChainExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IFeatureChainExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFeatureChaining.cs b/SysML2.NET/Core/AutoGenDto/IFeatureChaining.cs index 04d11883..cf2f80cf 100644 --- a/SysML2.NET/Core/AutoGenDto/IFeatureChaining.cs +++ b/SysML2.NET/Core/AutoGenDto/IFeatureChaining.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFeatureInverting.cs b/SysML2.NET/Core/AutoGenDto/IFeatureInverting.cs index 52e755a0..2c0f4a51 100644 --- a/SysML2.NET/Core/AutoGenDto/IFeatureInverting.cs +++ b/SysML2.NET/Core/AutoGenDto/IFeatureInverting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFeatureMembership.cs b/SysML2.NET/Core/AutoGenDto/IFeatureMembership.cs index 3f0452f8..038ce9a3 100644 --- a/SysML2.NET/Core/AutoGenDto/IFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFeatureReferenceExpression.cs b/SysML2.NET/Core/AutoGenDto/IFeatureReferenceExpression.cs index 05289ce5..7118c2df 100644 --- a/SysML2.NET/Core/AutoGenDto/IFeatureReferenceExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IFeatureReferenceExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFeatureTyping.cs b/SysML2.NET/Core/AutoGenDto/IFeatureTyping.cs index 433785d7..452b38cc 100644 --- a/SysML2.NET/Core/AutoGenDto/IFeatureTyping.cs +++ b/SysML2.NET/Core/AutoGenDto/IFeatureTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFeatureValue.cs b/SysML2.NET/Core/AutoGenDto/IFeatureValue.cs index 3b6a5b58..8444278a 100644 --- a/SysML2.NET/Core/AutoGenDto/IFeatureValue.cs +++ b/SysML2.NET/Core/AutoGenDto/IFeatureValue.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,13 +36,14 @@ namespace SysML2.NET.Core.DTO.Kernel.FeatureValues /// A FeatureValue is a Membership that identifies a particular member Expression that provides the /// value of the Feature that owns the FeatureValue. The value is specified as either a bound value or /// an initial value, and as either a concrete or default value. A Feature can have at most one - /// FeatureValue.The result of the value Expression is bound to the featureWithValue using a - /// BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same - /// as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the - /// BindingConnector is restricted to its startShot.If isDefault = false, then the above semantics of - /// the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized - /// for any individual of the featuringType of the featureWithValue, unless another value is explicitly - /// given for the featureWithValue for that individual. + /// FeatureValue. The result of the value Expression is bound to the + /// featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the + /// BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then + /// the featuringType of the BindingConnector is restricted to its startShot. If + /// isDefault = false, then the above semantics of the FeatureValue are realized for the given + /// featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of + /// the featureWithValue, unless another value is explicitly given for the featureWithValue for that + /// individual. /// [Class(xmiId: "_18_5_3_12e503d9_1543180279304_499907_20659", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IFlow.cs b/SysML2.NET/Core/AutoGenDto/IFlow.cs index eb6ba8ae..cfdd7aa2 100644 --- a/SysML2.NET/Core/AutoGenDto/IFlow.cs +++ b/SysML2.NET/Core/AutoGenDto/IFlow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFlowDefinition.cs b/SysML2.NET/Core/AutoGenDto/IFlowDefinition.cs index 832b2fa7..c5b4feda 100644 --- a/SysML2.NET/Core/AutoGenDto/IFlowDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IFlowDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFlowEnd.cs b/SysML2.NET/Core/AutoGenDto/IFlowEnd.cs index c4e21e24..5121d3dc 100644 --- a/SysML2.NET/Core/AutoGenDto/IFlowEnd.cs +++ b/SysML2.NET/Core/AutoGenDto/IFlowEnd.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFlowUsage.cs b/SysML2.NET/Core/AutoGenDto/IFlowUsage.cs index c46c94d0..9a3ead4d 100644 --- a/SysML2.NET/Core/AutoGenDto/IFlowUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IFlowUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -48,7 +48,6 @@ public partial interface IFlowUsage : IConnectorAsUsage, IFlow, IActionUsage /// Model Libraries. /// [Property(xmiId: "_19_0_4_12e503d9_1661892878973_977062_185", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1661900477937_518125_727")] List flowDefinition { get; } diff --git a/SysML2.NET/Core/AutoGenDto/IForLoopActionUsage.cs b/SysML2.NET/Core/AutoGenDto/IForLoopActionUsage.cs index 64a8863e..cce8cba1 100644 --- a/SysML2.NET/Core/AutoGenDto/IForLoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IForLoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IForkNode.cs b/SysML2.NET/Core/AutoGenDto/IForkNode.cs index 1ad6ab3a..24120201 100644 --- a/SysML2.NET/Core/AutoGenDto/IForkNode.cs +++ b/SysML2.NET/Core/AutoGenDto/IForkNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFramedConcernMembership.cs b/SysML2.NET/Core/AutoGenDto/IFramedConcernMembership.cs index 483609c2..208e014f 100644 --- a/SysML2.NET/Core/AutoGenDto/IFramedConcernMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IFramedConcernMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IFunction.cs b/SysML2.NET/Core/AutoGenDto/IFunction.cs index 35b056b8..3d495ada 100644 --- a/SysML2.NET/Core/AutoGenDto/IFunction.cs +++ b/SysML2.NET/Core/AutoGenDto/IFunction.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -50,9 +50,9 @@ public partial interface IFunction : IBehavior /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] bool isModelLevelEvaluable { get; } diff --git a/SysML2.NET/Core/AutoGenDto/IIfActionUsage.cs b/SysML2.NET/Core/AutoGenDto/IIfActionUsage.cs index fa466a04..a170cb87 100644 --- a/SysML2.NET/Core/AutoGenDto/IIfActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IIfActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IImport.cs b/SysML2.NET/Core/AutoGenDto/IImport.cs index a0ba55c7..d22ceb52 100644 --- a/SysML2.NET/Core/AutoGenDto/IImport.cs +++ b/SysML2.NET/Core/AutoGenDto/IImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IIncludeUseCaseUsage.cs b/SysML2.NET/Core/AutoGenDto/IIncludeUseCaseUsage.cs index ae5fc38b..682b4434 100644 --- a/SysML2.NET/Core/AutoGenDto/IIncludeUseCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IIncludeUseCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IIndexExpression.cs b/SysML2.NET/Core/AutoGenDto/IIndexExpression.cs index a33ea8af..1c9ab2aa 100644 --- a/SysML2.NET/Core/AutoGenDto/IIndexExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IIndexExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IInstantiationExpression.cs b/SysML2.NET/Core/AutoGenDto/IInstantiationExpression.cs index 98e4f915..465ae87b 100644 --- a/SysML2.NET/Core/AutoGenDto/IInstantiationExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IInstantiationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,8 +34,9 @@ namespace SysML2.NET.Core.DTO.Kernel.Expressions /// /// An InstantiationExpression is an Expression that instantiates its instantiatedType, binding some or - /// all of the features of that Type to the results of its arguments.InstantiationExpression is - /// abstract, with concrete subclasses InvocationExpression and ConstructorExpression. + /// all of the features of that Type to the results of its arguments. + /// InstantiationExpression is abstract, with concrete subclasses InvocationExpression and + /// ConstructorExpression. /// [Class(xmiId: "_2022x_2_12e503d9_1739136879941_579104_183", isAbstract: true, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -44,8 +45,8 @@ public partial interface IInstantiationExpression : IExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] List argument { get; } diff --git a/SysML2.NET/Core/AutoGenDto/IInteraction.cs b/SysML2.NET/Core/AutoGenDto/IInteraction.cs index fba757f4..396d67c5 100644 --- a/SysML2.NET/Core/AutoGenDto/IInteraction.cs +++ b/SysML2.NET/Core/AutoGenDto/IInteraction.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IInterfaceDefinition.cs b/SysML2.NET/Core/AutoGenDto/IInterfaceDefinition.cs index 561ded24..92555cbd 100644 --- a/SysML2.NET/Core/AutoGenDto/IInterfaceDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IInterfaceDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IInterfaceUsage.cs b/SysML2.NET/Core/AutoGenDto/IInterfaceUsage.cs index 410d6831..f9535094 100644 --- a/SysML2.NET/Core/AutoGenDto/IInterfaceUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IInterfaceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IIntersecting.cs b/SysML2.NET/Core/AutoGenDto/IIntersecting.cs index 5ef02a14..5a132377 100644 --- a/SysML2.NET/Core/AutoGenDto/IIntersecting.cs +++ b/SysML2.NET/Core/AutoGenDto/IIntersecting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IInvariant.cs b/SysML2.NET/Core/AutoGenDto/IInvariant.cs index 1d26e9ca..3673f2cf 100644 --- a/SysML2.NET/Core/AutoGenDto/IInvariant.cs +++ b/SysML2.NET/Core/AutoGenDto/IInvariant.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IInvocationExpression.cs b/SysML2.NET/Core/AutoGenDto/IInvocationExpression.cs index a7906a34..6b311ce9 100644 --- a/SysML2.NET/Core/AutoGenDto/IInvocationExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IInvocationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IItemDefinition.cs b/SysML2.NET/Core/AutoGenDto/IItemDefinition.cs index 000bef7a..c22e9e2c 100644 --- a/SysML2.NET/Core/AutoGenDto/IItemDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IItemDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IItemUsage.cs b/SysML2.NET/Core/AutoGenDto/IItemUsage.cs index 99b86b7a..b778bd7f 100644 --- a/SysML2.NET/Core/AutoGenDto/IItemUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IItemUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IJoinNode.cs b/SysML2.NET/Core/AutoGenDto/IJoinNode.cs index 90474de9..dbd525dd 100644 --- a/SysML2.NET/Core/AutoGenDto/IJoinNode.cs +++ b/SysML2.NET/Core/AutoGenDto/IJoinNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ILibraryPackage.cs b/SysML2.NET/Core/AutoGenDto/ILibraryPackage.cs index f65c18ad..b2aa70ce 100644 --- a/SysML2.NET/Core/AutoGenDto/ILibraryPackage.cs +++ b/SysML2.NET/Core/AutoGenDto/ILibraryPackage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ILiteralBoolean.cs b/SysML2.NET/Core/AutoGenDto/ILiteralBoolean.cs index ef00ae07..3f38304a 100644 --- a/SysML2.NET/Core/AutoGenDto/ILiteralBoolean.cs +++ b/SysML2.NET/Core/AutoGenDto/ILiteralBoolean.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ILiteralExpression.cs b/SysML2.NET/Core/AutoGenDto/ILiteralExpression.cs index a536201d..620fa2ef 100644 --- a/SysML2.NET/Core/AutoGenDto/ILiteralExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/ILiteralExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ILiteralInfinity.cs b/SysML2.NET/Core/AutoGenDto/ILiteralInfinity.cs index aa087020..05976da8 100644 --- a/SysML2.NET/Core/AutoGenDto/ILiteralInfinity.cs +++ b/SysML2.NET/Core/AutoGenDto/ILiteralInfinity.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ILiteralInteger.cs b/SysML2.NET/Core/AutoGenDto/ILiteralInteger.cs index dd5fdbe9..9de9e950 100644 --- a/SysML2.NET/Core/AutoGenDto/ILiteralInteger.cs +++ b/SysML2.NET/Core/AutoGenDto/ILiteralInteger.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ILiteralRational.cs b/SysML2.NET/Core/AutoGenDto/ILiteralRational.cs index 7d6142a2..93f6d4e1 100644 --- a/SysML2.NET/Core/AutoGenDto/ILiteralRational.cs +++ b/SysML2.NET/Core/AutoGenDto/ILiteralRational.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ILiteralString.cs b/SysML2.NET/Core/AutoGenDto/ILiteralString.cs index dbb4133a..97683dff 100644 --- a/SysML2.NET/Core/AutoGenDto/ILiteralString.cs +++ b/SysML2.NET/Core/AutoGenDto/ILiteralString.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ILoopActionUsage.cs b/SysML2.NET/Core/AutoGenDto/ILoopActionUsage.cs index d8cc4d6e..a3df9c52 100644 --- a/SysML2.NET/Core/AutoGenDto/ILoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ILoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IMembership.cs b/SysML2.NET/Core/AutoGenDto/IMembership.cs index f2170c7e..f81213e9 100644 --- a/SysML2.NET/Core/AutoGenDto/IMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,10 +36,11 @@ namespace SysML2.NET.Core.DTO.Root.Namespaces /// A Membership is a Relationship between a Namespace and an Element that indicates the Element is a /// member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is /// identified in the Namespace and the visibility specifies whether or not the memberElement is - /// publicly visible from outside the Namespace.If a Membership is an OwningMembership, then it owns its - /// memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the - /// memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an - /// Element with a separate OwningMembership in the same or a different Namespace. + /// publicly visible from outside the Namespace. If a Membership is an + /// OwningMembership, then it owns its memberElement, which becomes an ownedMember of the + /// membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within + /// the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a + /// different Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651680_888716_42152", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IMembershipExpose.cs b/SysML2.NET/Core/AutoGenDto/IMembershipExpose.cs index d94f5cfc..9043bf89 100644 --- a/SysML2.NET/Core/AutoGenDto/IMembershipExpose.cs +++ b/SysML2.NET/Core/AutoGenDto/IMembershipExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IMembershipImport.cs b/SysML2.NET/Core/AutoGenDto/IMembershipImport.cs index 6f4e5687..93845727 100644 --- a/SysML2.NET/Core/AutoGenDto/IMembershipImport.cs +++ b/SysML2.NET/Core/AutoGenDto/IMembershipImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IMergeNode.cs b/SysML2.NET/Core/AutoGenDto/IMergeNode.cs index 78d16bee..cfae8952 100644 --- a/SysML2.NET/Core/AutoGenDto/IMergeNode.cs +++ b/SysML2.NET/Core/AutoGenDto/IMergeNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IMetaclass.cs b/SysML2.NET/Core/AutoGenDto/IMetaclass.cs index bc255d53..643ac834 100644 --- a/SysML2.NET/Core/AutoGenDto/IMetaclass.cs +++ b/SysML2.NET/Core/AutoGenDto/IMetaclass.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IMetadataAccessExpression.cs b/SysML2.NET/Core/AutoGenDto/IMetadataAccessExpression.cs index 9388842c..fce6970a 100644 --- a/SysML2.NET/Core/AutoGenDto/IMetadataAccessExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IMetadataAccessExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IMetadataDefinition.cs b/SysML2.NET/Core/AutoGenDto/IMetadataDefinition.cs index 819c223f..6834e12a 100644 --- a/SysML2.NET/Core/AutoGenDto/IMetadataDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IMetadataDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IMetadataFeature.cs b/SysML2.NET/Core/AutoGenDto/IMetadataFeature.cs index 4b6a741e..ecd5281b 100644 --- a/SysML2.NET/Core/AutoGenDto/IMetadataFeature.cs +++ b/SysML2.NET/Core/AutoGenDto/IMetadataFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IMetadataUsage.cs b/SysML2.NET/Core/AutoGenDto/IMetadataUsage.cs index 3034c311..39a94555 100644 --- a/SysML2.NET/Core/AutoGenDto/IMetadataUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IMetadataUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -48,7 +48,6 @@ public partial interface IMetadataUsage : IItemUsage, IMetadataFeature /// The MetadataDefinition that is the definition of this MetadataUsage. /// [Property(xmiId: "_19_0_4_12e503d9_1647727047674_847094_2563", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565471361757_649736_20796")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1606345564958_925589_327")] Guid? metadataDefinition { get; } diff --git a/SysML2.NET/Core/AutoGenDto/IMultiplicity.cs b/SysML2.NET/Core/AutoGenDto/IMultiplicity.cs index 1e8b89e7..ac507d10 100644 --- a/SysML2.NET/Core/AutoGenDto/IMultiplicity.cs +++ b/SysML2.NET/Core/AutoGenDto/IMultiplicity.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,15 +35,16 @@ namespace SysML2.NET.Core.DTO.Core.Types /// /// A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed /// cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, - /// depending on whether the Type is a Classifier or Feature.
  • Classifier – The number of basic - /// instances of the Classifier, that is, those instances representing things, which are not instances - /// of any subtypes of the Classifier that are Features.
  • Features – The number of instances with the - /// same featuring instances. In the case of a Feature with a Classifier as its featuringType, this is - /// the number of values of Feature for each basic instance of the Classifier. Note that, for non-unique - /// Features, all duplicate values are included in this count.
Multiplicity co-domains (in - /// models) can be specified by Expression that might vary in their results. If the typeWithMultiplicity - /// is a Classifier, the domain of the Multiplicity shall be Base::Anything. If the - /// typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the + /// depending on whether the Type is a Classifier or Feature.
    + ///
  • Classifier – The number of basic instances of the Classifier, that is, those instances + /// representing things, which are not instances of any subtypes of the Classifier that are Features. + ///
  • Features – The number of instances with the same featuring instances. In the + /// case of a Feature with a Classifier as its featuringType, this is the number of values of Feature + /// for each basic instance of the Classifier. Note that, for non-unique Features, all duplicate values + /// are included in this count.
Multiplicity + /// co-domains (in models) can be specified by Expression that might vary in their results. If the + /// typeWithMultiplicity is a Classifier, the domain of the Multiplicity shall be Base::Anything. If + /// the typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the /// typeWithMultiplicity. ///
[Class(xmiId: "_19_0_2_12e503d9_1573083797505_495205_3879", isAbstract: false, isFinalSpecialization: false, isActive: false)] diff --git a/SysML2.NET/Core/AutoGenDto/IMultiplicityRange.cs b/SysML2.NET/Core/AutoGenDto/IMultiplicityRange.cs index bfa111e4..b2d31429 100644 --- a/SysML2.NET/Core/AutoGenDto/IMultiplicityRange.cs +++ b/SysML2.NET/Core/AutoGenDto/IMultiplicityRange.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/INamespace.cs b/SysML2.NET/Core/AutoGenDto/INamespace.cs index 8087b19b..8930ccff 100644 --- a/SysML2.NET/Core/AutoGenDto/INamespace.cs +++ b/SysML2.NET/Core/AutoGenDto/INamespace.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,13 +34,14 @@ namespace SysML2.NET.Core.DTO.Root.Namespaces /// /// A Namespace is an Element that contains other Elements, known as its members, via Membership /// Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased - /// in the Namespace, or imported into the Namespace via Import Relationships.A Namespace can provide - /// names for its members via the memberNames and memberShortNames specified by the Memberships in the - /// Namespace. If a Membership specifies a memberName and/or memberShortName, then those are names of - /// the corresponding memberElement relative to the Namespace. For an OwningMembership, the - /// ownedMemberName and ownedMemberShortName are given by the Element name and shortName. Note that the - /// same Element may be the memberElement of multiple Memberships in a Namespace (though it may be owned - /// at most once), each of which may define a separate alias for the Element relative to the Namespace. + /// in the Namespace, or imported into the Namespace via Import Relationships. A + /// Namespace can provide names for its members via the memberNames and memberShortNames specified by + /// the Memberships in the Namespace. If a Membership specifies a memberName and/or memberShortName, + /// then those are names of the corresponding memberElement relative to the Namespace. For an + /// OwningMembership, the ownedMemberName and ownedMemberShortName are given by the Element name and + /// shortName. Note that the same Element may be the memberElement of multiple Memberships in a + /// Namespace (though it may be owned at most once), each of which may define a separate alias for the + /// Element relative to the Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651694_110063_42176", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/INamespaceExpose.cs b/SysML2.NET/Core/AutoGenDto/INamespaceExpose.cs index 2bba6c00..2e716b08 100644 --- a/SysML2.NET/Core/AutoGenDto/INamespaceExpose.cs +++ b/SysML2.NET/Core/AutoGenDto/INamespaceExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/INamespaceImport.cs b/SysML2.NET/Core/AutoGenDto/INamespaceImport.cs index 2ef5aab7..3793c807 100644 --- a/SysML2.NET/Core/AutoGenDto/INamespaceImport.cs +++ b/SysML2.NET/Core/AutoGenDto/INamespaceImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/INullExpression.cs b/SysML2.NET/Core/AutoGenDto/INullExpression.cs index 369b7c2f..06fe41d7 100644 --- a/SysML2.NET/Core/AutoGenDto/INullExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/INullExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IObjectiveMembership.cs b/SysML2.NET/Core/AutoGenDto/IObjectiveMembership.cs index 1bdffe98..bebdcff7 100644 --- a/SysML2.NET/Core/AutoGenDto/IObjectiveMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IObjectiveMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IOccurrenceDefinition.cs b/SysML2.NET/Core/AutoGenDto/IOccurrenceDefinition.cs index 44ea5cf5..3fa7bc5a 100644 --- a/SysML2.NET/Core/AutoGenDto/IOccurrenceDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IOccurrenceDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IOccurrenceUsage.cs b/SysML2.NET/Core/AutoGenDto/IOccurrenceUsage.cs index 55a5b3ca..93d6e26b 100644 --- a/SysML2.NET/Core/AutoGenDto/IOccurrenceUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IOccurrenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IOperatorExpression.cs b/SysML2.NET/Core/AutoGenDto/IOperatorExpression.cs index eeeb04d0..b2d23596 100644 --- a/SysML2.NET/Core/AutoGenDto/IOperatorExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IOperatorExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IOwningMembership.cs b/SysML2.NET/Core/AutoGenDto/IOwningMembership.cs index 49dc50df..010b3dac 100644 --- a/SysML2.NET/Core/AutoGenDto/IOwningMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IOwningMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IPackage.cs b/SysML2.NET/Core/AutoGenDto/IPackage.cs index 30958823..d12bcd4e 100644 --- a/SysML2.NET/Core/AutoGenDto/IPackage.cs +++ b/SysML2.NET/Core/AutoGenDto/IPackage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IParameterMembership.cs b/SysML2.NET/Core/AutoGenDto/IParameterMembership.cs index 10f6d4f1..e64723c5 100644 --- a/SysML2.NET/Core/AutoGenDto/IParameterMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IParameterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IPartDefinition.cs b/SysML2.NET/Core/AutoGenDto/IPartDefinition.cs index 50c135e7..84179369 100644 --- a/SysML2.NET/Core/AutoGenDto/IPartDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IPartDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IPartUsage.cs b/SysML2.NET/Core/AutoGenDto/IPartUsage.cs index 9c1e6b02..68fd5e6e 100644 --- a/SysML2.NET/Core/AutoGenDto/IPartUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IPartUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,8 +35,8 @@ namespace SysML2.NET.Core.DTO.Systems.Parts /// /// A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one - /// of the itemDefinitions of the PartUsage must be a PartDefinition.A PartUsage must subset, directly - /// or indirectly, the base PartUsage parts from the Systems Model Library. + /// of the itemDefinitions of the PartUsage must be a PartDefinition. A PartUsage + /// must subset, directly or indirectly, the base PartUsage parts from the Systems Model Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471239590_312157_20701", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IPayloadFeature.cs b/SysML2.NET/Core/AutoGenDto/IPayloadFeature.cs index ed663a01..df55b4eb 100644 --- a/SysML2.NET/Core/AutoGenDto/IPayloadFeature.cs +++ b/SysML2.NET/Core/AutoGenDto/IPayloadFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IPerformActionUsage.cs b/SysML2.NET/Core/AutoGenDto/IPerformActionUsage.cs index 8388b271..e982a8b2 100644 --- a/SysML2.NET/Core/AutoGenDto/IPerformActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IPerformActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IPortConjugation.cs b/SysML2.NET/Core/AutoGenDto/IPortConjugation.cs index 0d16139b..df187df5 100644 --- a/SysML2.NET/Core/AutoGenDto/IPortConjugation.cs +++ b/SysML2.NET/Core/AutoGenDto/IPortConjugation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IPortDefinition.cs b/SysML2.NET/Core/AutoGenDto/IPortDefinition.cs index bb471b01..c66d4742 100644 --- a/SysML2.NET/Core/AutoGenDto/IPortDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IPortDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IPortUsage.cs b/SysML2.NET/Core/AutoGenDto/IPortUsage.cs index ed21dd41..ba4fcbf0 100644 --- a/SysML2.NET/Core/AutoGenDto/IPortUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IPortUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IPredicate.cs b/SysML2.NET/Core/AutoGenDto/IPredicate.cs index 4f871082..d8adc607 100644 --- a/SysML2.NET/Core/AutoGenDto/IPredicate.cs +++ b/SysML2.NET/Core/AutoGenDto/IPredicate.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IRedefinition.cs b/SysML2.NET/Core/AutoGenDto/IRedefinition.cs index bb3881fe..70af2baf 100644 --- a/SysML2.NET/Core/AutoGenDto/IRedefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IRedefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IReferenceSubsetting.cs b/SysML2.NET/Core/AutoGenDto/IReferenceSubsetting.cs index fb2afb7e..1252c8e8 100644 --- a/SysML2.NET/Core/AutoGenDto/IReferenceSubsetting.cs +++ b/SysML2.NET/Core/AutoGenDto/IReferenceSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,8 +35,8 @@ namespace SysML2.NET.Core.DTO.Core.Features /// distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the /// same semantics as Subsetting, but the referencedFeature may have a special purpose relative to the /// referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a - /// Connector.ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature - /// can have at most one ownedReferenceSubsetting. + /// Connector. ReferenceSubsetting is always an ownedRelationship of its + /// referencingFeature. A Feature can have at most one ownedReferenceSubsetting. /// [Class(xmiId: "_19_0_4_12e503d9_1661554793960_500657_60", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IReferenceUsage.cs b/SysML2.NET/Core/AutoGenDto/IReferenceUsage.cs index fb6cb07d..b9a44aae 100644 --- a/SysML2.NET/Core/AutoGenDto/IReferenceUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IReferenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IRelationship.cs b/SysML2.NET/Core/AutoGenDto/IRelationship.cs index 959536c2..70f2dcdf 100644 --- a/SysML2.NET/Core/AutoGenDto/IRelationship.cs +++ b/SysML2.NET/Core/AutoGenDto/IRelationship.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,14 +35,14 @@ namespace SysML2.NET.Core.DTO.Root.Elements /// in which case those ownedRelatedElements will be deleted from a model if their owningRelationship /// is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of /// the Relationship are also considered to be transitively owned by the owningRelatedElement of the - /// Relationship.The relatedElements of a Relationship are divided into source and target Elements. The - /// Relationship is considered to be directed from the source to the target Elements. An undirected - /// Relationship may have either all source or all target Elements.A "relationship Element" in - /// the abstract syntax is generically any Element that is an instance of either Relationship or a - /// direct or indirect specialization of Relationship. Any other kind of Element is a - /// "non-relationship Element". It is a convention of that non-relationship Elements are only - /// related via reified relationship Elements. Any meta-associations directly between non-relationship - /// Elements must be derived from underlying reified Relationship. + /// Relationship. The relatedElements of a Relationship are divided into source + /// and target Elements. The Relationship is considered to be directed from the source to the target + /// Elements. An undirected Relationship may have either all source or all target Elements. + /// A "relationship Element" in the abstract syntax is generically any Element that + /// is an instance of either Relationship or a direct or indirect specialization of Relationship. Any + /// other kind of Element is a "non-relationship Element". It is a convention of that + /// non-relationship Elements are only related via reified relationship Elements. Any meta-associations + /// directly between non-relationship Elements must be derived from underlying reified Relationship. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651700_869737_42192", isAbstract: true, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IRenderingDefinition.cs b/SysML2.NET/Core/AutoGenDto/IRenderingDefinition.cs index fb6c8e8c..02b47b5d 100644 --- a/SysML2.NET/Core/AutoGenDto/IRenderingDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IRenderingDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IRenderingUsage.cs b/SysML2.NET/Core/AutoGenDto/IRenderingUsage.cs index 319ea1bd..83efc9d5 100644 --- a/SysML2.NET/Core/AutoGenDto/IRenderingUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IRenderingUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IRequirementConstraintMembership.cs b/SysML2.NET/Core/AutoGenDto/IRequirementConstraintMembership.cs index 874f6ae5..a41a4587 100644 --- a/SysML2.NET/Core/AutoGenDto/IRequirementConstraintMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IRequirementConstraintMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IRequirementDefinition.cs b/SysML2.NET/Core/AutoGenDto/IRequirementDefinition.cs index f890959b..566f848c 100644 --- a/SysML2.NET/Core/AutoGenDto/IRequirementDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IRequirementDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -45,7 +45,6 @@ public partial interface IRequirementDefinition : IConstraintDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621564041941_652319_2722", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List actorParameter { get; } /// @@ -88,7 +87,6 @@ public partial interface IRequirementDefinition : IConstraintDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1624033010374_29375_40166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List stakeholderParameter { get; } /// @@ -96,7 +94,6 @@ public partial interface IRequirementDefinition : IConstraintDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189007408_784255_586", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] Guid subjectParameter { get; } /// diff --git a/SysML2.NET/Core/AutoGenDto/IRequirementUsage.cs b/SysML2.NET/Core/AutoGenDto/IRequirementUsage.cs index 941f0e3a..678f1a14 100644 --- a/SysML2.NET/Core/AutoGenDto/IRequirementUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IRequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -45,7 +45,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List actorParameter { get; } /// @@ -95,7 +94,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List stakeholderParameter { get; } /// @@ -103,7 +101,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] Guid subjectParameter { get; } /// diff --git a/SysML2.NET/Core/AutoGenDto/IRequirementVerificationMembership.cs b/SysML2.NET/Core/AutoGenDto/IRequirementVerificationMembership.cs index 44dec201..ae378810 100644 --- a/SysML2.NET/Core/AutoGenDto/IRequirementVerificationMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IRequirementVerificationMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IResultExpressionMembership.cs b/SysML2.NET/Core/AutoGenDto/IResultExpressionMembership.cs index e4ebf64a..7f5d07da 100644 --- a/SysML2.NET/Core/AutoGenDto/IResultExpressionMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IResultExpressionMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IReturnParameterMembership.cs b/SysML2.NET/Core/AutoGenDto/IReturnParameterMembership.cs index 8dab659a..53bceef7 100644 --- a/SysML2.NET/Core/AutoGenDto/IReturnParameterMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IReturnParameterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISatisfyRequirementUsage.cs b/SysML2.NET/Core/AutoGenDto/ISatisfyRequirementUsage.cs index ab901872..ddeef367 100644 --- a/SysML2.NET/Core/AutoGenDto/ISatisfyRequirementUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ISatisfyRequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISelectExpression.cs b/SysML2.NET/Core/AutoGenDto/ISelectExpression.cs index 1bf11a05..d74501bb 100644 --- a/SysML2.NET/Core/AutoGenDto/ISelectExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/ISelectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISendActionUsage.cs b/SysML2.NET/Core/AutoGenDto/ISendActionUsage.cs index c3b981ca..492c0ef5 100644 --- a/SysML2.NET/Core/AutoGenDto/ISendActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ISendActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISpecialization.cs b/SysML2.NET/Core/AutoGenDto/ISpecialization.cs index 1a34194e..1976fd24 100644 --- a/SysML2.NET/Core/AutoGenDto/ISpecialization.cs +++ b/SysML2.NET/Core/AutoGenDto/ISpecialization.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IStakeholderMembership.cs b/SysML2.NET/Core/AutoGenDto/IStakeholderMembership.cs index 40117676..822a9bf6 100644 --- a/SysML2.NET/Core/AutoGenDto/IStakeholderMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IStakeholderMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IStateDefinition.cs b/SysML2.NET/Core/AutoGenDto/IStateDefinition.cs index 8f0155b7..8830af92 100644 --- a/SysML2.NET/Core/AutoGenDto/IStateDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IStateDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,9 +33,9 @@ namespace SysML2.NET.Core.DTO.Systems.States /// /// A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain - /// state condition.A StateDefinition may be related to up to three of its ownedFeatures by - /// StateBehaviorMembership Relationships, all of different kinds, corresponding to the entry, do and - /// exit actions of the StateDefinition. + /// state condition. A StateDefinition may be related to up to three of its + /// ownedFeatures by StateBehaviorMembership Relationships, all of different kinds, corresponding to the + /// entry, do and exit actions of the StateDefinition. /// [Class(xmiId: "_19_0_2_12e503d9_1575587534200_898246_600", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IStateSubactionMembership.cs b/SysML2.NET/Core/AutoGenDto/IStateSubactionMembership.cs index bf79829d..6a3235e4 100644 --- a/SysML2.NET/Core/AutoGenDto/IStateSubactionMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IStateSubactionMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IStateUsage.cs b/SysML2.NET/Core/AutoGenDto/IStateUsage.cs index f13565d2..d3b57478 100644 --- a/SysML2.NET/Core/AutoGenDto/IStateUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IStateUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,9 +35,10 @@ namespace SysML2.NET.Core.DTO.Systems.States /// /// A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other - /// kinds of kernel Behaviors are also allowed as types, to permit use of BehaviorsA StateUsage may be - /// related to up to three of its ownedFeatures by StateSubactionMembership Relationships, all of - /// different kinds, corresponding to the entry, do and exit actions of the StateUsage. + /// kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors + /// A StateUsage may be related to up to three of its ownedFeatures by StateSubactionMembership + /// Relationships, all of different kinds, corresponding to the entry, do and exit actions of the + /// StateUsage. /// [Class(xmiId: "_19_0_2_12e503d9_1575587557729_586912_651", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/IStep.cs b/SysML2.NET/Core/AutoGenDto/IStep.cs index c831a72b..f10f5273 100644 --- a/SysML2.NET/Core/AutoGenDto/IStep.cs +++ b/SysML2.NET/Core/AutoGenDto/IStep.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IStructure.cs b/SysML2.NET/Core/AutoGenDto/IStructure.cs index cb478710..13234655 100644 --- a/SysML2.NET/Core/AutoGenDto/IStructure.cs +++ b/SysML2.NET/Core/AutoGenDto/IStructure.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISubclassification.cs b/SysML2.NET/Core/AutoGenDto/ISubclassification.cs index fb271bad..519c681d 100644 --- a/SysML2.NET/Core/AutoGenDto/ISubclassification.cs +++ b/SysML2.NET/Core/AutoGenDto/ISubclassification.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISubjectMembership.cs b/SysML2.NET/Core/AutoGenDto/ISubjectMembership.cs index 09e595ba..0a4fb093 100644 --- a/SysML2.NET/Core/AutoGenDto/ISubjectMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ISubjectMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISubsetting.cs b/SysML2.NET/Core/AutoGenDto/ISubsetting.cs index 115627ef..e7c9dd93 100644 --- a/SysML2.NET/Core/AutoGenDto/ISubsetting.cs +++ b/SysML2.NET/Core/AutoGenDto/ISubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISuccession.cs b/SysML2.NET/Core/AutoGenDto/ISuccession.cs index 5abcd6d1..44798b26 100644 --- a/SysML2.NET/Core/AutoGenDto/ISuccession.cs +++ b/SysML2.NET/Core/AutoGenDto/ISuccession.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISuccessionAsUsage.cs b/SysML2.NET/Core/AutoGenDto/ISuccessionAsUsage.cs index 125901e5..3aef9e37 100644 --- a/SysML2.NET/Core/AutoGenDto/ISuccessionAsUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ISuccessionAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISuccessionFlow.cs b/SysML2.NET/Core/AutoGenDto/ISuccessionFlow.cs index 4fa98260..7a036c79 100644 --- a/SysML2.NET/Core/AutoGenDto/ISuccessionFlow.cs +++ b/SysML2.NET/Core/AutoGenDto/ISuccessionFlow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ISuccessionFlowUsage.cs b/SysML2.NET/Core/AutoGenDto/ISuccessionFlowUsage.cs index 93637fea..d8bbf948 100644 --- a/SysML2.NET/Core/AutoGenDto/ISuccessionFlowUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ISuccessionFlowUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ITerminateActionUsage.cs b/SysML2.NET/Core/AutoGenDto/ITerminateActionUsage.cs index 61e268d9..38dcc5be 100644 --- a/SysML2.NET/Core/AutoGenDto/ITerminateActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ITerminateActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ITextualRepresentation.cs b/SysML2.NET/Core/AutoGenDto/ITextualRepresentation.cs index 45c04bb9..2f1ab327 100644 --- a/SysML2.NET/Core/AutoGenDto/ITextualRepresentation.cs +++ b/SysML2.NET/Core/AutoGenDto/ITextualRepresentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,26 +35,30 @@ namespace SysML2.NET.Core.DTO.Root.Annotations /// given language. The representedElement must be the owner of the TextualRepresentation. The named /// language can be a natural language, in which case the body is an informal representation, or an /// artificial language, in which case the body is expected to be a formal, machine-parsable - /// representation.If the named language of a TextualRepresentation is machine-parsable, then the body - /// text should be legal input text as defined for that language. The interpretation of the named - /// language string shall be case insensitive. The following language names are defined to correspond to - /// the given standard languages:
kerml Kernel Modeling Language
ocl Object Constraint - /// Language
alf Action Language for fUML
Other specifications may - /// define specific language strings, other than those shown above, to be used to indicate the use of - /// languages from those specifications in KerML TextualRepresentation.If the language of a - /// TextualRepresentation is "kerml", then the body text shall be a legal representation of - /// the representedElement in the KerML textual concrete syntax. A conforming tool can use such a - /// TextualRepresentation Annotation to record the original KerML concrete syntax text from which an - /// Element was parsed. In this case, it is a tool responsibility to ensure that the body of the - /// TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element - /// changes other than by re-parsing the body text.An Element with a TextualRepresentation in a language - /// other than KerML is essentially a semantically "opaque" Element specified in the other - /// language. However, a conforming KerML tool may interpret such an element consistently with the - /// specification of the named language. + /// representation. If the named language of a TextualRepresentation is + /// machine-parsable, then the body text should be legal input text as defined for that language. The + /// interpretation of the named language string shall be case insensitive. The following language names + /// are defined to correspond to the given standard languages: + /// + /// + /// + /// + ///
kerml Kernel Modeling Language
ocl Object Constraint Language
alfAction Language for fUML
Other + /// specifications may define specific language strings, other than those shown above, to be used to + /// indicate the use of languages from those specifications in KerML TextualRepresentation. + /// If the language of a TextualRepresentation is "kerml", then the body text shall + /// be a legal representation of the representedElement in the KerML textual concrete syntax. A + /// conforming tool can use such a TextualRepresentation Annotation to record the original KerML + /// concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to + /// ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if + /// the annotated Element changes other than by re-parsing the body text. An + /// Element with a TextualRepresentation in a language other than KerML is essentially a semantically + /// "opaque" Element specified in the other language. However, a conforming KerML tool may + /// interpret such an element consistently with the specification of the named language. ///
[Class(xmiId: "_19_0_2_12e503d9_1594152214531_455349_2448", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/ITransitionFeatureMembership.cs b/SysML2.NET/Core/AutoGenDto/ITransitionFeatureMembership.cs index 5c966d0f..c47b211b 100644 --- a/SysML2.NET/Core/AutoGenDto/ITransitionFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ITransitionFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ITransitionUsage.cs b/SysML2.NET/Core/AutoGenDto/ITransitionUsage.cs index 33076623..d2b9be98 100644 --- a/SysML2.NET/Core/AutoGenDto/ITransitionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ITransitionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,9 +37,9 @@ namespace SysML2.NET.Core.DTO.Systems.States /// A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or /// StateUsages. When triggered by a triggerAction, when its guardExpression is true, the /// TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and - /// then its target is entered.A TransitionUsage can be related to some of its ownedFeatures using - /// TransitionFeatureMembership Relationships, corresponding to the triggerAction, guardExpression and - /// effectAction of the TransitionUsage. + /// then its target is entered. A TransitionUsage can be related to some of its + /// ownedFeatures using TransitionFeatureMembership Relationships, corresponding to the triggerAction, + /// guardExpression and effectAction of the TransitionUsage. /// [Class(xmiId: "_19_0_2_12e503d9_1575672078353_626298_450", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/ITriggerInvocationExpression.cs b/SysML2.NET/Core/AutoGenDto/ITriggerInvocationExpression.cs index d68968c0..0582f716 100644 --- a/SysML2.NET/Core/AutoGenDto/ITriggerInvocationExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/ITriggerInvocationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IType.cs b/SysML2.NET/Core/AutoGenDto/IType.cs index 0c10f9f3..48eda47d 100644 --- a/SysML2.NET/Core/AutoGenDto/IType.cs +++ b/SysML2.NET/Core/AutoGenDto/IType.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -130,11 +130,11 @@ public partial interface IType : INamespace /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] bool IsSufficient { get; set; } diff --git a/SysML2.NET/Core/AutoGenDto/ITypeFeaturing.cs b/SysML2.NET/Core/AutoGenDto/ITypeFeaturing.cs index eb4e1eed..a632aaf0 100644 --- a/SysML2.NET/Core/AutoGenDto/ITypeFeaturing.cs +++ b/SysML2.NET/Core/AutoGenDto/ITypeFeaturing.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IUnioning.cs b/SysML2.NET/Core/AutoGenDto/IUnioning.cs index 656379d9..ddce7be6 100644 --- a/SysML2.NET/Core/AutoGenDto/IUnioning.cs +++ b/SysML2.NET/Core/AutoGenDto/IUnioning.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IUsage.cs b/SysML2.NET/Core/AutoGenDto/IUsage.cs index 6875c18c..9b6c801c 100644 --- a/SysML2.NET/Core/AutoGenDto/IUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,13 +33,14 @@ namespace SysML2.NET.Core.DTO.Systems.DefinitionAndUsage using SysML2.NET.Decorators; /// - /// A Usage is a usage of a Definition.A Usage may have nestedUsages that model features that apply in - /// the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no - /// semantic significance, other than the nested scoping resulting from the Usage being considered as a - /// Namespace for any nested Definitions.However, if a Usage has isVariation = true, then it represents - /// a variation point Usage. In this case, all of its members must be variant Usages, related to the - /// Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages - /// model different concrete alternatives that can be chosen to fill in for the variation point Usage. + /// A Usage is a usage of a Definition. A Usage may have nestedUsages that model + /// features that apply in the context of the owningUsage. A Usage may also have Definitions nested in + /// it, but this has no semantic significance, other than the nested scoping resulting from the Usage + /// being considered as a Namespace for any nested Definitions. However, if a + /// Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its + /// members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than + /// being features of the Usage, variant Usages model different concrete alternatives that can be chosen + /// to fill in for the variation point Usage. /// [Class(xmiId: "_18_5_3_12e503d9_1565469997820_598571_19982", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -59,7 +60,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List directedUsage { get; } /// @@ -79,9 +79,9 @@ public partial interface IUsage : IFeature /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -248,7 +248,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List nestedUsage { get; } /// @@ -284,7 +283,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] Guid? owningDefinition { get; } /// diff --git a/SysML2.NET/Core/AutoGenDto/IUseCaseDefinition.cs b/SysML2.NET/Core/AutoGenDto/IUseCaseDefinition.cs index 0e299201..cf5ca132 100644 --- a/SysML2.NET/Core/AutoGenDto/IUseCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IUseCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IUseCaseUsage.cs b/SysML2.NET/Core/AutoGenDto/IUseCaseUsage.cs index 46843133..bec179c3 100644 --- a/SysML2.NET/Core/AutoGenDto/IUseCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IUseCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IVariantMembership.cs b/SysML2.NET/Core/AutoGenDto/IVariantMembership.cs index cc865178..7ef8515f 100644 --- a/SysML2.NET/Core/AutoGenDto/IVariantMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IVariantMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IVerificationCaseDefinition.cs b/SysML2.NET/Core/AutoGenDto/IVerificationCaseDefinition.cs index 995dcbba..0abede1c 100644 --- a/SysML2.NET/Core/AutoGenDto/IVerificationCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IVerificationCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IVerificationCaseUsage.cs b/SysML2.NET/Core/AutoGenDto/IVerificationCaseUsage.cs index 471ceed2..d9d03554 100644 --- a/SysML2.NET/Core/AutoGenDto/IVerificationCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IVerificationCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IViewDefinition.cs b/SysML2.NET/Core/AutoGenDto/IViewDefinition.cs index 1e649016..eee528f8 100644 --- a/SysML2.NET/Core/AutoGenDto/IViewDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IViewDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IViewRenderingMembership.cs b/SysML2.NET/Core/AutoGenDto/IViewRenderingMembership.cs index 48ea49bc..24e44c8c 100644 --- a/SysML2.NET/Core/AutoGenDto/IViewRenderingMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/IViewRenderingMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IViewUsage.cs b/SysML2.NET/Core/AutoGenDto/IViewUsage.cs index 4d94e5ab..fc5ff737 100644 --- a/SysML2.NET/Core/AutoGenDto/IViewUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IViewUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IViewpointDefinition.cs b/SysML2.NET/Core/AutoGenDto/IViewpointDefinition.cs index cf7dab3a..824d086c 100644 --- a/SysML2.NET/Core/AutoGenDto/IViewpointDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/IViewpointDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IViewpointUsage.cs b/SysML2.NET/Core/AutoGenDto/IViewpointUsage.cs index ac6f930f..6bfc54cf 100644 --- a/SysML2.NET/Core/AutoGenDto/IViewpointUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IViewpointUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IWhileLoopActionUsage.cs b/SysML2.NET/Core/AutoGenDto/IWhileLoopActionUsage.cs index ff2349fa..7dd023c7 100644 --- a/SysML2.NET/Core/AutoGenDto/IWhileLoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IWhileLoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/IfActionUsage.cs b/SysML2.NET/Core/AutoGenDto/IfActionUsage.cs index a7a48fac..0a7d844c 100644 --- a/SysML2.NET/Core/AutoGenDto/IfActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IfActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -55,7 +55,6 @@ public partial class IfActionUsage : IIfActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -123,7 +122,7 @@ public partial class IfActionUsage : IIfActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -152,7 +151,6 @@ public partial class IfActionUsage : IIfActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -406,11 +404,11 @@ public partial class IfActionUsage : IIfActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -448,9 +446,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -676,7 +674,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -719,9 +716,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -961,7 +957,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/IncludeUseCaseUsage.cs b/SysML2.NET/Core/AutoGenDto/IncludeUseCaseUsage.cs index 3e0b6682..e323411c 100644 --- a/SysML2.NET/Core/AutoGenDto/IncludeUseCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/IncludeUseCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -57,17 +57,14 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.HasValue ? [((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.Value] : []; + public List actionDefinition { get; internal set; } = []; /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -94,7 +91,6 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] Guid? Systems.Calculations.ICalculationUsage.calculationDefinition => ((SysML2.NET.Core.DTO.Systems.Cases.ICaseUsage)this).caseDefinition.HasValue ? ((SysML2.NET.Core.DTO.Systems.Cases.ICaseUsage)this).caseDefinition.Value : Guid.Empty; @@ -156,7 +152,7 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -185,7 +181,6 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -467,11 +462,11 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -509,9 +504,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -737,7 +732,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -788,9 +782,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1030,7 +1023,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1152,7 +1144,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/IndexExpression.cs b/SysML2.NET/Core/AutoGenDto/IndexExpression.cs index c1911bc5..4c8d1119 100644 --- a/SysML2.NET/Core/AutoGenDto/IndexExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/IndexExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,8 +56,8 @@ public partial class IndexExpression : IIndexExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -368,11 +368,11 @@ public partial class IndexExpression : IIndexExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Interaction.cs b/SysML2.NET/Core/AutoGenDto/Interaction.cs index 5e65b4e8..d3b5bbbf 100644 --- a/SysML2.NET/Core/AutoGenDto/Interaction.cs +++ b/SysML2.NET/Core/AutoGenDto/Interaction.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -235,11 +235,11 @@ public partial class Interaction : IInteraction /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/InterfaceDefinition.cs b/SysML2.NET/Core/AutoGenDto/InterfaceDefinition.cs index cff3edb1..6cc83aea 100644 --- a/SysML2.NET/Core/AutoGenDto/InterfaceDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/InterfaceDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -116,7 +116,6 @@ public partial class InterfaceDefinition : IInterfaceDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -275,11 +274,11 @@ public partial class InterfaceDefinition : IInterfaceDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [RedefinedByProperty("IConnectionDefinition.IsSufficient")] @@ -685,7 +684,6 @@ bool Core.Types.IType.IsSufficient /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/InterfaceUsage.cs b/SysML2.NET/Core/AutoGenDto/InterfaceUsage.cs index 6067ca3a..8938ca2e 100644 --- a/SysML2.NET/Core/AutoGenDto/InterfaceUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/InterfaceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -171,7 +171,6 @@ public partial class InterfaceUsage : IInterfaceUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -426,11 +425,11 @@ public partial class InterfaceUsage : IInterfaceUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -478,9 +477,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -706,7 +705,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -998,7 +996,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Intersecting.cs b/SysML2.NET/Core/AutoGenDto/Intersecting.cs index 155e2fe8..0d143174 100644 --- a/SysML2.NET/Core/AutoGenDto/Intersecting.cs +++ b/SysML2.NET/Core/AutoGenDto/Intersecting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Invariant.cs b/SysML2.NET/Core/AutoGenDto/Invariant.cs index 5554731b..18e76391 100644 --- a/SysML2.NET/Core/AutoGenDto/Invariant.cs +++ b/SysML2.NET/Core/AutoGenDto/Invariant.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -359,11 +359,11 @@ public partial class Invariant : IInvariant /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/InvocationExpression.cs b/SysML2.NET/Core/AutoGenDto/InvocationExpression.cs index 35863eb8..b99b0949 100644 --- a/SysML2.NET/Core/AutoGenDto/InvocationExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/InvocationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -60,8 +60,8 @@ public partial class InvocationExpression : IInvocationExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -372,11 +372,11 @@ public partial class InvocationExpression : IInvocationExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/ItemDefinition.cs b/SysML2.NET/Core/AutoGenDto/ItemDefinition.cs index 6a30e0df..65b1d5ab 100644 --- a/SysML2.NET/Core/AutoGenDto/ItemDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ItemDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -99,7 +99,6 @@ public partial class ItemDefinition : IItemDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -233,11 +232,11 @@ public partial class ItemDefinition : IItemDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -627,7 +626,6 @@ public partial class ItemDefinition : IItemDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/ItemUsage.cs b/SysML2.NET/Core/AutoGenDto/ItemUsage.cs index 8efb35d5..0c3ae04e 100644 --- a/SysML2.NET/Core/AutoGenDto/ItemUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ItemUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -133,7 +133,6 @@ public partial class ItemUsage : IItemUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -371,11 +370,11 @@ public partial class ItemUsage : IItemUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -423,9 +422,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -651,7 +650,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -935,7 +933,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/JoinNode.cs b/SysML2.NET/Core/AutoGenDto/JoinNode.cs index 418f25ec..b3a733a8 100644 --- a/SysML2.NET/Core/AutoGenDto/JoinNode.cs +++ b/SysML2.NET/Core/AutoGenDto/JoinNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,7 +54,6 @@ public partial class JoinNode : IJoinNode /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -122,7 +121,7 @@ public partial class JoinNode : IJoinNode [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -151,7 +150,6 @@ public partial class JoinNode : IJoinNode /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -389,11 +387,11 @@ public partial class JoinNode : IJoinNode /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -431,9 +429,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -659,7 +657,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -702,9 +699,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -944,7 +940,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/LibraryPackage.cs b/SysML2.NET/Core/AutoGenDto/LibraryPackage.cs index 2dff89d7..1b583705 100644 --- a/SysML2.NET/Core/AutoGenDto/LibraryPackage.cs +++ b/SysML2.NET/Core/AutoGenDto/LibraryPackage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/LiteralBoolean.cs b/SysML2.NET/Core/AutoGenDto/LiteralBoolean.cs index c05e14c5..1d9f3ea1 100644 --- a/SysML2.NET/Core/AutoGenDto/LiteralBoolean.cs +++ b/SysML2.NET/Core/AutoGenDto/LiteralBoolean.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class LiteralBoolean : ILiteralBoolean /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/LiteralExpression.cs b/SysML2.NET/Core/AutoGenDto/LiteralExpression.cs index 70965371..43d44f01 100644 --- a/SysML2.NET/Core/AutoGenDto/LiteralExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/LiteralExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class LiteralExpression : ILiteralExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/LiteralInfinity.cs b/SysML2.NET/Core/AutoGenDto/LiteralInfinity.cs index 483b0883..88c35a4d 100644 --- a/SysML2.NET/Core/AutoGenDto/LiteralInfinity.cs +++ b/SysML2.NET/Core/AutoGenDto/LiteralInfinity.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class LiteralInfinity : ILiteralInfinity /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/LiteralInteger.cs b/SysML2.NET/Core/AutoGenDto/LiteralInteger.cs index a40a3179..3981ee1a 100644 --- a/SysML2.NET/Core/AutoGenDto/LiteralInteger.cs +++ b/SysML2.NET/Core/AutoGenDto/LiteralInteger.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class LiteralInteger : ILiteralInteger /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/LiteralRational.cs b/SysML2.NET/Core/AutoGenDto/LiteralRational.cs index 4655b8b3..f3774662 100644 --- a/SysML2.NET/Core/AutoGenDto/LiteralRational.cs +++ b/SysML2.NET/Core/AutoGenDto/LiteralRational.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class LiteralRational : ILiteralRational /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/LiteralString.cs b/SysML2.NET/Core/AutoGenDto/LiteralString.cs index aeccceb7..71b460eb 100644 --- a/SysML2.NET/Core/AutoGenDto/LiteralString.cs +++ b/SysML2.NET/Core/AutoGenDto/LiteralString.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class LiteralString : ILiteralString /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Membership.cs b/SysML2.NET/Core/AutoGenDto/Membership.cs index 4facf846..54980e57 100644 --- a/SysML2.NET/Core/AutoGenDto/Membership.cs +++ b/SysML2.NET/Core/AutoGenDto/Membership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,10 +36,11 @@ namespace SysML2.NET.Core.DTO.Root.Namespaces /// A Membership is a Relationship between a Namespace and an Element that indicates the Element is a /// member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is /// identified in the Namespace and the visibility specifies whether or not the memberElement is - /// publicly visible from outside the Namespace.If a Membership is an OwningMembership, then it owns its - /// memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the - /// memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an - /// Element with a separate OwningMembership in the same or a different Namespace. + /// publicly visible from outside the Namespace. If a Membership is an + /// OwningMembership, then it owns its memberElement, which becomes an ownedMember of the + /// membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within + /// the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a + /// different Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651680_888716_42152", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/MembershipExpose.cs b/SysML2.NET/Core/AutoGenDto/MembershipExpose.cs index 014218ee..1440285f 100644 --- a/SysML2.NET/Core/AutoGenDto/MembershipExpose.cs +++ b/SysML2.NET/Core/AutoGenDto/MembershipExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/MembershipImport.cs b/SysML2.NET/Core/AutoGenDto/MembershipImport.cs index 32e3facd..4c5fba04 100644 --- a/SysML2.NET/Core/AutoGenDto/MembershipImport.cs +++ b/SysML2.NET/Core/AutoGenDto/MembershipImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/MergeNode.cs b/SysML2.NET/Core/AutoGenDto/MergeNode.cs index 9538e9e4..547635d2 100644 --- a/SysML2.NET/Core/AutoGenDto/MergeNode.cs +++ b/SysML2.NET/Core/AutoGenDto/MergeNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,7 +54,6 @@ public partial class MergeNode : IMergeNode /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -122,7 +121,7 @@ public partial class MergeNode : IMergeNode [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -151,7 +150,6 @@ public partial class MergeNode : IMergeNode /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -389,11 +387,11 @@ public partial class MergeNode : IMergeNode /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -431,9 +429,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -659,7 +657,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -702,9 +699,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -944,7 +940,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Metaclass.cs b/SysML2.NET/Core/AutoGenDto/Metaclass.cs index 39d7d34a..0ce5370d 100644 --- a/SysML2.NET/Core/AutoGenDto/Metaclass.cs +++ b/SysML2.NET/Core/AutoGenDto/Metaclass.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -213,11 +213,11 @@ public partial class Metaclass : IMetaclass /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/MetadataAccessExpression.cs b/SysML2.NET/Core/AutoGenDto/MetadataAccessExpression.cs index 3701c637..42bfc988 100644 --- a/SysML2.NET/Core/AutoGenDto/MetadataAccessExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/MetadataAccessExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -353,11 +353,11 @@ public partial class MetadataAccessExpression : IMetadataAccessExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/MetadataDefinition.cs b/SysML2.NET/Core/AutoGenDto/MetadataDefinition.cs index ea1ce24e..36476396 100644 --- a/SysML2.NET/Core/AutoGenDto/MetadataDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/MetadataDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -96,7 +96,6 @@ public partial class MetadataDefinition : IMetadataDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -230,11 +229,11 @@ public partial class MetadataDefinition : IMetadataDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -624,7 +623,6 @@ public partial class MetadataDefinition : IMetadataDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/MetadataFeature.cs b/SysML2.NET/Core/AutoGenDto/MetadataFeature.cs index 6b8cf5fd..831f11b4 100644 --- a/SysML2.NET/Core/AutoGenDto/MetadataFeature.cs +++ b/SysML2.NET/Core/AutoGenDto/MetadataFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -345,11 +345,11 @@ public partial class MetadataFeature : IMetadataFeature /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/MetadataUsage.cs b/SysML2.NET/Core/AutoGenDto/MetadataUsage.cs index bd9e5ab2..35ab5e7e 100644 --- a/SysML2.NET/Core/AutoGenDto/MetadataUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/MetadataUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -152,7 +152,6 @@ public partial class MetadataUsage : IMetadataUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -390,11 +389,11 @@ public partial class MetadataUsage : IMetadataUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -435,17 +434,16 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565471361757_649736_20796", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("IMetadataUsage.MetadataDefinition")] [Implements(implementation: "IItemUsage.ItemDefinition")] - List Systems.Items.IItemUsage.itemDefinition => this.metadataDefinition.HasValue ? [this.metadataDefinition.Value] : []; + public List itemDefinition { get; internal set; } = []; /// /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -481,7 +479,6 @@ bool Core.Features.IFeature.IsVariable /// The MetadataDefinition that is the definition of this MetadataUsage. /// [Property(xmiId: "_19_0_4_12e503d9_1647727047674_847094_2563", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565471361757_649736_20796")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1606345564958_925589_327")] [Implements(implementation: "IMetadataUsage.MetadataDefinition")] public Guid? metadataDefinition { get; internal set; } @@ -689,7 +686,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -992,7 +988,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Multiplicity.cs b/SysML2.NET/Core/AutoGenDto/Multiplicity.cs index eab42914..9ce0bca0 100644 --- a/SysML2.NET/Core/AutoGenDto/Multiplicity.cs +++ b/SysML2.NET/Core/AutoGenDto/Multiplicity.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,15 +35,16 @@ namespace SysML2.NET.Core.DTO.Core.Types /// /// A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed /// cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, - /// depending on whether the Type is a Classifier or Feature.
  • Classifier – The number of basic - /// instances of the Classifier, that is, those instances representing things, which are not instances - /// of any subtypes of the Classifier that are Features.
  • Features – The number of instances with the - /// same featuring instances. In the case of a Feature with a Classifier as its featuringType, this is - /// the number of values of Feature for each basic instance of the Classifier. Note that, for non-unique - /// Features, all duplicate values are included in this count.
Multiplicity co-domains (in - /// models) can be specified by Expression that might vary in their results. If the typeWithMultiplicity - /// is a Classifier, the domain of the Multiplicity shall be Base::Anything. If the - /// typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the + /// depending on whether the Type is a Classifier or Feature.
    + ///
  • Classifier – The number of basic instances of the Classifier, that is, those instances + /// representing things, which are not instances of any subtypes of the Classifier that are Features. + ///
  • Features – The number of instances with the same featuring instances. In the + /// case of a Feature with a Classifier as its featuringType, this is the number of values of Feature + /// for each basic instance of the Classifier. Note that, for non-unique Features, all duplicate values + /// are included in this count.
Multiplicity + /// co-domains (in models) can be specified by Expression that might vary in their results. If the + /// typeWithMultiplicity is a Classifier, the domain of the Multiplicity shall be Base::Anything. If + /// the typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the /// typeWithMultiplicity. ///
[Class(xmiId: "_19_0_2_12e503d9_1573083797505_495205_3879", isAbstract: false, isFinalSpecialization: false, isActive: false)] @@ -335,11 +336,11 @@ public partial class Multiplicity : IMultiplicity /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/MultiplicityRange.cs b/SysML2.NET/Core/AutoGenDto/MultiplicityRange.cs index 77cf50c2..a64091ff 100644 --- a/SysML2.NET/Core/AutoGenDto/MultiplicityRange.cs +++ b/SysML2.NET/Core/AutoGenDto/MultiplicityRange.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -339,11 +339,11 @@ public partial class MultiplicityRange : IMultiplicityRange /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Namespace.cs b/SysML2.NET/Core/AutoGenDto/Namespace.cs index 17bcec69..dc67677e 100644 --- a/SysML2.NET/Core/AutoGenDto/Namespace.cs +++ b/SysML2.NET/Core/AutoGenDto/Namespace.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -34,13 +34,14 @@ namespace SysML2.NET.Core.DTO.Root.Namespaces /// /// A Namespace is an Element that contains other Elements, known as its members, via Membership /// Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased - /// in the Namespace, or imported into the Namespace via Import Relationships.A Namespace can provide - /// names for its members via the memberNames and memberShortNames specified by the Memberships in the - /// Namespace. If a Membership specifies a memberName and/or memberShortName, then those are names of - /// the corresponding memberElement relative to the Namespace. For an OwningMembership, the - /// ownedMemberName and ownedMemberShortName are given by the Element name and shortName. Note that the - /// same Element may be the memberElement of multiple Memberships in a Namespace (though it may be owned - /// at most once), each of which may define a separate alias for the Element relative to the Namespace. + /// in the Namespace, or imported into the Namespace via Import Relationships. A + /// Namespace can provide names for its members via the memberNames and memberShortNames specified by + /// the Memberships in the Namespace. If a Membership specifies a memberName and/or memberShortName, + /// then those are names of the corresponding memberElement relative to the Namespace. For an + /// OwningMembership, the ownedMemberName and ownedMemberShortName are given by the Element name and + /// shortName. Note that the same Element may be the memberElement of multiple Memberships in a + /// Namespace (though it may be owned at most once), each of which may define a separate alias for the + /// Element relative to the Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651694_110063_42176", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/NamespaceExpose.cs b/SysML2.NET/Core/AutoGenDto/NamespaceExpose.cs index 0194dd6e..b83336e6 100644 --- a/SysML2.NET/Core/AutoGenDto/NamespaceExpose.cs +++ b/SysML2.NET/Core/AutoGenDto/NamespaceExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/NamespaceImport.cs b/SysML2.NET/Core/AutoGenDto/NamespaceImport.cs index 9f1a72e0..085c9fbe 100644 --- a/SysML2.NET/Core/AutoGenDto/NamespaceImport.cs +++ b/SysML2.NET/Core/AutoGenDto/NamespaceImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/NullExpression.cs b/SysML2.NET/Core/AutoGenDto/NullExpression.cs index 7a8a15f6..382bd1d2 100644 --- a/SysML2.NET/Core/AutoGenDto/NullExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/NullExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -350,11 +350,11 @@ public partial class NullExpression : INullExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/ObjectiveMembership.cs b/SysML2.NET/Core/AutoGenDto/ObjectiveMembership.cs index e6843fac..90b01a1a 100644 --- a/SysML2.NET/Core/AutoGenDto/ObjectiveMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ObjectiveMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/OccurrenceDefinition.cs b/SysML2.NET/Core/AutoGenDto/OccurrenceDefinition.cs index 2398d417..2f283a97 100644 --- a/SysML2.NET/Core/AutoGenDto/OccurrenceDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/OccurrenceDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -99,7 +99,6 @@ public partial class OccurrenceDefinition : IOccurrenceDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -233,11 +232,11 @@ public partial class OccurrenceDefinition : IOccurrenceDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -627,7 +626,6 @@ public partial class OccurrenceDefinition : IOccurrenceDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/OccurrenceUsage.cs b/SysML2.NET/Core/AutoGenDto/OccurrenceUsage.cs index 404044ac..caa09212 100644 --- a/SysML2.NET/Core/AutoGenDto/OccurrenceUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/OccurrenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -133,7 +133,6 @@ public partial class OccurrenceUsage : IOccurrenceUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -371,11 +370,11 @@ public partial class OccurrenceUsage : IOccurrenceUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -413,9 +412,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -641,7 +640,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -925,7 +923,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/OperatorExpression.cs b/SysML2.NET/Core/AutoGenDto/OperatorExpression.cs index 2bff310a..c90d9e5c 100644 --- a/SysML2.NET/Core/AutoGenDto/OperatorExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/OperatorExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,8 +56,8 @@ public partial class OperatorExpression : IOperatorExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -368,11 +368,11 @@ public partial class OperatorExpression : IOperatorExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/OwningMembership.cs b/SysML2.NET/Core/AutoGenDto/OwningMembership.cs index c614e2c3..9fa7639c 100644 --- a/SysML2.NET/Core/AutoGenDto/OwningMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/OwningMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Package.cs b/SysML2.NET/Core/AutoGenDto/Package.cs index 170d3fbf..4099e4c4 100644 --- a/SysML2.NET/Core/AutoGenDto/Package.cs +++ b/SysML2.NET/Core/AutoGenDto/Package.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ParameterMembership.cs b/SysML2.NET/Core/AutoGenDto/ParameterMembership.cs index de965cc7..cf51707d 100644 --- a/SysML2.NET/Core/AutoGenDto/ParameterMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ParameterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/PartDefinition.cs b/SysML2.NET/Core/AutoGenDto/PartDefinition.cs index ec6e6c86..1ba4e80f 100644 --- a/SysML2.NET/Core/AutoGenDto/PartDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/PartDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -97,7 +97,6 @@ public partial class PartDefinition : IPartDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -231,11 +230,11 @@ public partial class PartDefinition : IPartDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -625,7 +624,6 @@ public partial class PartDefinition : IPartDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/PartUsage.cs b/SysML2.NET/Core/AutoGenDto/PartUsage.cs index f3061be0..5b204047 100644 --- a/SysML2.NET/Core/AutoGenDto/PartUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/PartUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,8 +35,8 @@ namespace SysML2.NET.Core.DTO.Systems.Parts /// /// A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one - /// of the itemDefinitions of the PartUsage must be a PartDefinition.A PartUsage must subset, directly - /// or indirectly, the base PartUsage parts from the Systems Model Library. + /// of the itemDefinitions of the PartUsage must be a PartDefinition. A PartUsage + /// must subset, directly or indirectly, the base PartUsage parts from the Systems Model Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471239590_312157_20701", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -132,7 +132,6 @@ public partial class PartUsage : IPartUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -370,11 +369,11 @@ public partial class PartUsage : IPartUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -422,9 +421,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -650,7 +649,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -934,7 +932,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/PayloadFeature.cs b/SysML2.NET/Core/AutoGenDto/PayloadFeature.cs index c61a3a62..a83b4e1e 100644 --- a/SysML2.NET/Core/AutoGenDto/PayloadFeature.cs +++ b/SysML2.NET/Core/AutoGenDto/PayloadFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -325,11 +325,11 @@ public partial class PayloadFeature : IPayloadFeature /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/PerformActionUsage.cs b/SysML2.NET/Core/AutoGenDto/PerformActionUsage.cs index 259a8a29..5ba14b70 100644 --- a/SysML2.NET/Core/AutoGenDto/PerformActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/PerformActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -57,7 +57,6 @@ public partial class PerformActionUsage : IPerformActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -125,7 +124,7 @@ public partial class PerformActionUsage : IPerformActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -154,7 +153,6 @@ public partial class PerformActionUsage : IPerformActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -411,11 +409,11 @@ public partial class PerformActionUsage : IPerformActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -453,9 +451,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -681,7 +679,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -724,9 +721,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -966,7 +962,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/PortConjugation.cs b/SysML2.NET/Core/AutoGenDto/PortConjugation.cs index dd1ced45..2da112a6 100644 --- a/SysML2.NET/Core/AutoGenDto/PortConjugation.cs +++ b/SysML2.NET/Core/AutoGenDto/PortConjugation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/PortDefinition.cs b/SysML2.NET/Core/AutoGenDto/PortDefinition.cs index a850b228..e5222679 100644 --- a/SysML2.NET/Core/AutoGenDto/PortDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/PortDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -106,7 +106,6 @@ public partial class PortDefinition : IPortDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -240,11 +239,11 @@ public partial class PortDefinition : IPortDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -634,7 +633,6 @@ public partial class PortDefinition : IPortDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/PortUsage.cs b/SysML2.NET/Core/AutoGenDto/PortUsage.cs index 9cb96f6e..b3456b0b 100644 --- a/SysML2.NET/Core/AutoGenDto/PortUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/PortUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -131,7 +131,6 @@ public partial class PortUsage : IPortUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -369,11 +368,11 @@ public partial class PortUsage : IPortUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -411,9 +410,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -639,7 +638,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -924,7 +922,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Predicate.cs b/SysML2.NET/Core/AutoGenDto/Predicate.cs index 2333d9c8..91bb7600 100644 --- a/SysML2.NET/Core/AutoGenDto/Predicate.cs +++ b/SysML2.NET/Core/AutoGenDto/Predicate.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -222,9 +222,9 @@ public partial class Predicate : IPredicate /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -232,11 +232,11 @@ public partial class Predicate : IPredicate /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Redefinition.cs b/SysML2.NET/Core/AutoGenDto/Redefinition.cs index 31060336..fe2ea430 100644 --- a/SysML2.NET/Core/AutoGenDto/Redefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/Redefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ReferenceSubsetting.cs b/SysML2.NET/Core/AutoGenDto/ReferenceSubsetting.cs index 261e201b..c2a6119e 100644 --- a/SysML2.NET/Core/AutoGenDto/ReferenceSubsetting.cs +++ b/SysML2.NET/Core/AutoGenDto/ReferenceSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,8 +35,8 @@ namespace SysML2.NET.Core.DTO.Core.Features /// distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the /// same semantics as Subsetting, but the referencedFeature may have a special purpose relative to the /// referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a - /// Connector.ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature - /// can have at most one ownedReferenceSubsetting. + /// Connector. ReferenceSubsetting is always an ownedRelationship of its + /// referencingFeature. A Feature can have at most one ownedReferenceSubsetting. /// [Class(xmiId: "_19_0_4_12e503d9_1661554793960_500657_60", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/ReferenceUsage.cs b/SysML2.NET/Core/AutoGenDto/ReferenceUsage.cs index 1fcad0db..1a2563f0 100644 --- a/SysML2.NET/Core/AutoGenDto/ReferenceUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ReferenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -131,7 +131,6 @@ public partial class ReferenceUsage : IReferenceUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -362,11 +361,11 @@ public partial class ReferenceUsage : IReferenceUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -404,9 +403,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -632,7 +631,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -906,7 +904,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/RenderingDefinition.cs b/SysML2.NET/Core/AutoGenDto/RenderingDefinition.cs index 3ac9d433..d846d266 100644 --- a/SysML2.NET/Core/AutoGenDto/RenderingDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/RenderingDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -96,7 +96,6 @@ public partial class RenderingDefinition : IRenderingDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -230,11 +229,11 @@ public partial class RenderingDefinition : IRenderingDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -624,7 +623,6 @@ public partial class RenderingDefinition : IRenderingDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/RenderingUsage.cs b/SysML2.NET/Core/AutoGenDto/RenderingUsage.cs index c12a1f91..de227ef6 100644 --- a/SysML2.NET/Core/AutoGenDto/RenderingUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/RenderingUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -131,7 +131,6 @@ public partial class RenderingUsage : IRenderingUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -369,11 +368,11 @@ public partial class RenderingUsage : IRenderingUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -421,9 +420,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -649,7 +648,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -933,7 +931,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/RequirementConstraintMembership.cs b/SysML2.NET/Core/AutoGenDto/RequirementConstraintMembership.cs index a36ae695..6167a6c5 100644 --- a/SysML2.NET/Core/AutoGenDto/RequirementConstraintMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/RequirementConstraintMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/RequirementDefinition.cs b/SysML2.NET/Core/AutoGenDto/RequirementDefinition.cs index d8558d27..ce711179 100644 --- a/SysML2.NET/Core/AutoGenDto/RequirementDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/RequirementDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -52,7 +52,6 @@ public partial class RequirementDefinition : IRequirementDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621564041941_652319_2722", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -125,7 +124,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -277,9 +275,9 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -287,11 +285,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -681,7 +679,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; @@ -816,7 +813,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_4_12e503d9_1624033010374_29375_40166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.StakeholderParameter")] public List stakeholderParameter { get; internal set; } = []; @@ -833,7 +829,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1595189007408_784255_586", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/RequirementUsage.cs b/SysML2.NET/Core/AutoGenDto/RequirementUsage.cs index ca53ccbf..1a0ebdf4 100644 --- a/SysML2.NET/Core/AutoGenDto/RequirementUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/RequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -52,7 +52,6 @@ public partial class RequirementUsage : IRequirementUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -178,7 +177,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -442,11 +440,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -484,9 +482,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -712,7 +710,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -996,7 +993,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1145,7 +1141,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter { get; internal set; } = []; @@ -1154,7 +1149,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/RequirementVerificationMembership.cs b/SysML2.NET/Core/AutoGenDto/RequirementVerificationMembership.cs index 48d1e9d6..c0adbcb3 100644 --- a/SysML2.NET/Core/AutoGenDto/RequirementVerificationMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/RequirementVerificationMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ResultExpressionMembership.cs b/SysML2.NET/Core/AutoGenDto/ResultExpressionMembership.cs index 8d7b27e8..ea82f814 100644 --- a/SysML2.NET/Core/AutoGenDto/ResultExpressionMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ResultExpressionMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ReturnParameterMembership.cs b/SysML2.NET/Core/AutoGenDto/ReturnParameterMembership.cs index 754cf8cb..7361bda3 100644 --- a/SysML2.NET/Core/AutoGenDto/ReturnParameterMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ReturnParameterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/SatisfyRequirementUsage.cs b/SysML2.NET/Core/AutoGenDto/SatisfyRequirementUsage.cs index 7bf4de40..401eb3dd 100644 --- a/SysML2.NET/Core/AutoGenDto/SatisfyRequirementUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/SatisfyRequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -55,7 +55,6 @@ public partial class SatisfyRequirementUsage : ISatisfyRequirementUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -191,7 +190,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -462,11 +460,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -504,9 +502,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -732,7 +730,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -1016,7 +1013,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1183,7 +1179,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter { get; internal set; } = []; @@ -1192,7 +1187,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/SelectExpression.cs b/SysML2.NET/Core/AutoGenDto/SelectExpression.cs index d7f30dd3..cc962dc7 100644 --- a/SysML2.NET/Core/AutoGenDto/SelectExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/SelectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,8 +56,8 @@ public partial class SelectExpression : ISelectExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -368,11 +368,11 @@ public partial class SelectExpression : ISelectExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/SendActionUsage.cs b/SysML2.NET/Core/AutoGenDto/SendActionUsage.cs index b6fffc37..6846c04e 100644 --- a/SysML2.NET/Core/AutoGenDto/SendActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/SendActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -58,7 +58,6 @@ public partial class SendActionUsage : ISendActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -126,7 +125,7 @@ public partial class SendActionUsage : ISendActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -155,7 +154,6 @@ public partial class SendActionUsage : ISendActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -393,11 +391,11 @@ public partial class SendActionUsage : ISendActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -435,9 +433,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -663,7 +661,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -706,9 +703,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -948,7 +944,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Specialization.cs b/SysML2.NET/Core/AutoGenDto/Specialization.cs index 623f53f3..b46aa92f 100644 --- a/SysML2.NET/Core/AutoGenDto/Specialization.cs +++ b/SysML2.NET/Core/AutoGenDto/Specialization.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/StakeholderMembership.cs b/SysML2.NET/Core/AutoGenDto/StakeholderMembership.cs index 04d5b451..76c2f818 100644 --- a/SysML2.NET/Core/AutoGenDto/StakeholderMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/StakeholderMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/StateDefinition.cs b/SysML2.NET/Core/AutoGenDto/StateDefinition.cs index b8b5f9c4..66efcfc8 100644 --- a/SysML2.NET/Core/AutoGenDto/StateDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/StateDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,9 +33,9 @@ namespace SysML2.NET.Core.DTO.Systems.States /// /// A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain - /// state condition.A StateDefinition may be related to up to three of its ownedFeatures by - /// StateBehaviorMembership Relationships, all of different kinds, corresponding to the entry, do and - /// exit actions of the StateDefinition. + /// state condition. A StateDefinition may be related to up to three of its + /// ownedFeatures by StateBehaviorMembership Relationships, all of different kinds, corresponding to the + /// entry, do and exit actions of the StateDefinition. /// [Class(xmiId: "_19_0_2_12e503d9_1575587534200_898246_600", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -54,7 +54,6 @@ public partial class StateDefinition : IStateDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action { get; internal set; } = []; @@ -109,7 +108,6 @@ public partial class StateDefinition : IStateDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -279,11 +277,11 @@ public partial class StateDefinition : IStateDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -673,7 +671,6 @@ public partial class StateDefinition : IStateDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/StateSubactionMembership.cs b/SysML2.NET/Core/AutoGenDto/StateSubactionMembership.cs index bb907492..5101afc1 100644 --- a/SysML2.NET/Core/AutoGenDto/StateSubactionMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/StateSubactionMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/StateUsage.cs b/SysML2.NET/Core/AutoGenDto/StateUsage.cs index e4ef00ec..73fb269c 100644 --- a/SysML2.NET/Core/AutoGenDto/StateUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/StateUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,9 +35,10 @@ namespace SysML2.NET.Core.DTO.Systems.States /// /// A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other - /// kinds of kernel Behaviors are also allowed as types, to permit use of BehaviorsA StateUsage may be - /// related to up to three of its ownedFeatures by StateSubactionMembership Relationships, all of - /// different kinds, corresponding to the entry, do and exit actions of the StateUsage. + /// kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors + /// A StateUsage may be related to up to three of its ownedFeatures by StateSubactionMembership + /// Relationships, all of different kinds, corresponding to the entry, do and exit actions of the + /// StateUsage. /// [Class(xmiId: "_19_0_2_12e503d9_1575587557729_586912_651", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -57,7 +58,6 @@ public partial class StateUsage : IStateUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [RedefinedByProperty("IStateUsage.StateDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] List Systems.Actions.IActionUsage.actionDefinition => [.. this.stateDefinition]; @@ -126,7 +126,7 @@ public partial class StateUsage : IStateUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -155,7 +155,6 @@ public partial class StateUsage : IStateUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -429,11 +428,11 @@ public partial class StateUsage : IStateUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -471,9 +470,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -699,7 +698,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -742,9 +740,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -984,7 +981,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/Step.cs b/SysML2.NET/Core/AutoGenDto/Step.cs index 6fe071d0..c0bfb2bc 100644 --- a/SysML2.NET/Core/AutoGenDto/Step.cs +++ b/SysML2.NET/Core/AutoGenDto/Step.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -336,11 +336,11 @@ public partial class Step : IStep /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Structure.cs b/SysML2.NET/Core/AutoGenDto/Structure.cs index a9d397e1..646cee12 100644 --- a/SysML2.NET/Core/AutoGenDto/Structure.cs +++ b/SysML2.NET/Core/AutoGenDto/Structure.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -215,11 +215,11 @@ public partial class Structure : IStructure /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Subclassification.cs b/SysML2.NET/Core/AutoGenDto/Subclassification.cs index 63ebf703..1efae4f0 100644 --- a/SysML2.NET/Core/AutoGenDto/Subclassification.cs +++ b/SysML2.NET/Core/AutoGenDto/Subclassification.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/SubjectMembership.cs b/SysML2.NET/Core/AutoGenDto/SubjectMembership.cs index 5103272f..ec841cab 100644 --- a/SysML2.NET/Core/AutoGenDto/SubjectMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/SubjectMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Subsetting.cs b/SysML2.NET/Core/AutoGenDto/Subsetting.cs index 988ff38b..2a4b681f 100644 --- a/SysML2.NET/Core/AutoGenDto/Subsetting.cs +++ b/SysML2.NET/Core/AutoGenDto/Subsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Succession.cs b/SysML2.NET/Core/AutoGenDto/Succession.cs index 9a3be57a..5d84a8b7 100644 --- a/SysML2.NET/Core/AutoGenDto/Succession.cs +++ b/SysML2.NET/Core/AutoGenDto/Succession.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -359,11 +359,11 @@ public partial class Succession : ISuccession /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/SuccessionAsUsage.cs b/SysML2.NET/Core/AutoGenDto/SuccessionAsUsage.cs index a7696779..a889bc5e 100644 --- a/SysML2.NET/Core/AutoGenDto/SuccessionAsUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/SuccessionAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -155,7 +155,6 @@ public partial class SuccessionAsUsage : ISuccessionAsUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -386,11 +385,11 @@ public partial class SuccessionAsUsage : ISuccessionAsUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -428,9 +427,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -656,7 +655,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -938,7 +936,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/SuccessionFlow.cs b/SysML2.NET/Core/AutoGenDto/SuccessionFlow.cs index 3331cf32..bfa68ce9 100644 --- a/SysML2.NET/Core/AutoGenDto/SuccessionFlow.cs +++ b/SysML2.NET/Core/AutoGenDto/SuccessionFlow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -391,11 +391,11 @@ public partial class SuccessionFlow : ISuccessionFlow /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/SuccessionFlowUsage.cs b/SysML2.NET/Core/AutoGenDto/SuccessionFlowUsage.cs index d552a260..1441103e 100644 --- a/SysML2.NET/Core/AutoGenDto/SuccessionFlowUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/SuccessionFlowUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,10 +54,8 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("IFlowUsage.FlowDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => [.. this.flowDefinition]; + public List actionDefinition { get; internal set; } = []; /// /// Various alternative identifiers for this Element. Generally, these will be set by tools. @@ -151,7 +149,7 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -180,7 +178,6 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -268,7 +265,6 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage /// Model Libraries. /// [Property(xmiId: "_19_0_4_12e503d9_1661892878973_977062_185", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1661900477937_518125_727")] [Implements(implementation: "IFlowUsage.FlowDefinition")] public List flowDefinition { get; internal set; } = []; @@ -457,11 +453,11 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -499,9 +495,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -727,7 +723,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -770,9 +765,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1020,7 +1014,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/TerminateActionUsage.cs b/SysML2.NET/Core/AutoGenDto/TerminateActionUsage.cs index 9cc2e877..e596ea90 100644 --- a/SysML2.NET/Core/AutoGenDto/TerminateActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/TerminateActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -57,7 +57,6 @@ public partial class TerminateActionUsage : ITerminateActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -125,7 +124,7 @@ public partial class TerminateActionUsage : ITerminateActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -154,7 +153,6 @@ public partial class TerminateActionUsage : ITerminateActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -392,11 +390,11 @@ public partial class TerminateActionUsage : ITerminateActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -434,9 +432,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -662,7 +660,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -705,9 +702,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -947,7 +943,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/TextualRepresentation.cs b/SysML2.NET/Core/AutoGenDto/TextualRepresentation.cs index 769ba1f9..761fc7b8 100644 --- a/SysML2.NET/Core/AutoGenDto/TextualRepresentation.cs +++ b/SysML2.NET/Core/AutoGenDto/TextualRepresentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,26 +35,30 @@ namespace SysML2.NET.Core.DTO.Root.Annotations /// given language. The representedElement must be the owner of the TextualRepresentation. The named /// language can be a natural language, in which case the body is an informal representation, or an /// artificial language, in which case the body is expected to be a formal, machine-parsable - /// representation.If the named language of a TextualRepresentation is machine-parsable, then the body - /// text should be legal input text as defined for that language. The interpretation of the named - /// language string shall be case insensitive. The following language names are defined to correspond to - /// the given standard languages:
kerml Kernel Modeling Language
ocl Object Constraint - /// Language
alf Action Language for fUML
Other specifications may - /// define specific language strings, other than those shown above, to be used to indicate the use of - /// languages from those specifications in KerML TextualRepresentation.If the language of a - /// TextualRepresentation is "kerml", then the body text shall be a legal representation of - /// the representedElement in the KerML textual concrete syntax. A conforming tool can use such a - /// TextualRepresentation Annotation to record the original KerML concrete syntax text from which an - /// Element was parsed. In this case, it is a tool responsibility to ensure that the body of the - /// TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element - /// changes other than by re-parsing the body text.An Element with a TextualRepresentation in a language - /// other than KerML is essentially a semantically "opaque" Element specified in the other - /// language. However, a conforming KerML tool may interpret such an element consistently with the - /// specification of the named language. + /// representation. If the named language of a TextualRepresentation is + /// machine-parsable, then the body text should be legal input text as defined for that language. The + /// interpretation of the named language string shall be case insensitive. The following language names + /// are defined to correspond to the given standard languages: + /// + /// + /// + /// + ///
kerml Kernel Modeling Language
ocl Object Constraint Language
alfAction Language for fUML
Other + /// specifications may define specific language strings, other than those shown above, to be used to + /// indicate the use of languages from those specifications in KerML TextualRepresentation. + /// If the language of a TextualRepresentation is "kerml", then the body text shall + /// be a legal representation of the representedElement in the KerML textual concrete syntax. A + /// conforming tool can use such a TextualRepresentation Annotation to record the original KerML + /// concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to + /// ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if + /// the annotated Element changes other than by re-parsing the body text. An + /// Element with a TextualRepresentation in a language other than KerML is essentially a semantically + /// "opaque" Element specified in the other language. However, a conforming KerML tool may + /// interpret such an element consistently with the specification of the named language. /// [Class(xmiId: "_19_0_2_12e503d9_1594152214531_455349_2448", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenDto/TransitionFeatureMembership.cs b/SysML2.NET/Core/AutoGenDto/TransitionFeatureMembership.cs index 10cf479d..d5b0a624 100644 --- a/SysML2.NET/Core/AutoGenDto/TransitionFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/TransitionFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/TransitionUsage.cs b/SysML2.NET/Core/AutoGenDto/TransitionUsage.cs index 705fd5e2..3d281238 100644 --- a/SysML2.NET/Core/AutoGenDto/TransitionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/TransitionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,9 +37,9 @@ namespace SysML2.NET.Core.DTO.Systems.States /// A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or /// StateUsages. When triggered by a triggerAction, when its guardExpression is true, the /// TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and - /// then its target is entered.A TransitionUsage can be related to some of its ownedFeatures using - /// TransitionFeatureMembership Relationships, corresponding to the triggerAction, guardExpression and - /// effectAction of the TransitionUsage. + /// then its target is entered. A TransitionUsage can be related to some of its + /// ownedFeatures using TransitionFeatureMembership Relationships, corresponding to the triggerAction, + /// guardExpression and effectAction of the TransitionUsage. /// [Class(xmiId: "_19_0_2_12e503d9_1575672078353_626298_450", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -59,7 +59,6 @@ public partial class TransitionUsage : ITransitionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -127,7 +126,7 @@ public partial class TransitionUsage : ITransitionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -156,7 +155,6 @@ public partial class TransitionUsage : ITransitionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -414,11 +412,11 @@ public partial class TransitionUsage : ITransitionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -456,9 +454,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -684,7 +682,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -727,9 +724,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -969,7 +965,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/TriggerInvocationExpression.cs b/SysML2.NET/Core/AutoGenDto/TriggerInvocationExpression.cs index efb859a5..c9fd2728 100644 --- a/SysML2.NET/Core/AutoGenDto/TriggerInvocationExpression.cs +++ b/SysML2.NET/Core/AutoGenDto/TriggerInvocationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -58,8 +58,8 @@ public partial class TriggerInvocationExpression : ITriggerInvocationExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -370,11 +370,11 @@ public partial class TriggerInvocationExpression : ITriggerInvocationExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/Type.cs b/SysML2.NET/Core/AutoGenDto/Type.cs index 23d83e23..3985264c 100644 --- a/SysML2.NET/Core/AutoGenDto/Type.cs +++ b/SysML2.NET/Core/AutoGenDto/Type.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -215,11 +215,11 @@ public partial class Type : IType /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenDto/TypeFeaturing.cs b/SysML2.NET/Core/AutoGenDto/TypeFeaturing.cs index 6bd77540..859fcfca 100644 --- a/SysML2.NET/Core/AutoGenDto/TypeFeaturing.cs +++ b/SysML2.NET/Core/AutoGenDto/TypeFeaturing.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Unioning.cs b/SysML2.NET/Core/AutoGenDto/Unioning.cs index ed1edb8c..3570a6a6 100644 --- a/SysML2.NET/Core/AutoGenDto/Unioning.cs +++ b/SysML2.NET/Core/AutoGenDto/Unioning.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/Usage.cs b/SysML2.NET/Core/AutoGenDto/Usage.cs index 2f485017..1edfaf59 100644 --- a/SysML2.NET/Core/AutoGenDto/Usage.cs +++ b/SysML2.NET/Core/AutoGenDto/Usage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -33,13 +33,14 @@ namespace SysML2.NET.Core.DTO.Systems.DefinitionAndUsage using SysML2.NET.Decorators; /// - /// A Usage is a usage of a Definition.A Usage may have nestedUsages that model features that apply in - /// the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no - /// semantic significance, other than the nested scoping resulting from the Usage being considered as a - /// Namespace for any nested Definitions.However, if a Usage has isVariation = true, then it represents - /// a variation point Usage. In this case, all of its members must be variant Usages, related to the - /// Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages - /// model different concrete alternatives that can be chosen to fill in for the variation point Usage. + /// A Usage is a usage of a Definition. A Usage may have nestedUsages that model + /// features that apply in the context of the owningUsage. A Usage may also have Definitions nested in + /// it, but this has no semantic significance, other than the nested scoping resulting from the Usage + /// being considered as a Namespace for any nested Definitions. However, if a + /// Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its + /// members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than + /// being features of the Usage, variant Usages model different concrete alternatives that can be chosen + /// to fill in for the variation point Usage. /// [Class(xmiId: "_18_5_3_12e503d9_1565469997820_598571_19982", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -134,7 +135,6 @@ public partial class Usage : IUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -356,11 +356,11 @@ public partial class Usage : IUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -398,9 +398,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -626,7 +626,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -900,7 +899,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/UseCaseDefinition.cs b/SysML2.NET/Core/AutoGenDto/UseCaseDefinition.cs index 9f3865e2..297cc6b2 100644 --- a/SysML2.NET/Core/AutoGenDto/UseCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/UseCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -53,7 +53,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action { get; internal set; } = []; @@ -62,7 +61,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -77,7 +75,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation { get; internal set; } = []; @@ -126,7 +123,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -277,9 +273,9 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -287,11 +283,11 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -689,7 +685,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; @@ -812,7 +807,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/UseCaseUsage.cs b/SysML2.NET/Core/AutoGenDto/UseCaseUsage.cs index e150e287..0116dad5 100644 --- a/SysML2.NET/Core/AutoGenDto/UseCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/UseCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,17 +54,14 @@ public partial class UseCaseUsage : IUseCaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.HasValue ? [((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.Value] : []; + public List actionDefinition { get; internal set; } = []; /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -91,7 +88,6 @@ public partial class UseCaseUsage : IUseCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] Guid? Systems.Calculations.ICalculationUsage.calculationDefinition => ((SysML2.NET.Core.DTO.Systems.Cases.ICaseUsage)this).caseDefinition.HasValue ? ((SysML2.NET.Core.DTO.Systems.Cases.ICaseUsage)this).caseDefinition.Value : Guid.Empty; @@ -153,7 +149,7 @@ public partial class UseCaseUsage : IUseCaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -182,7 +178,6 @@ public partial class UseCaseUsage : IUseCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -445,11 +440,11 @@ public partial class UseCaseUsage : IUseCaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -487,9 +482,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -715,7 +710,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -766,9 +760,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1008,7 +1001,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1120,7 +1112,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/VariantMembership.cs b/SysML2.NET/Core/AutoGenDto/VariantMembership.cs index b5eafca2..8efb5ba1 100644 --- a/SysML2.NET/Core/AutoGenDto/VariantMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/VariantMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/VerificationCaseDefinition.cs b/SysML2.NET/Core/AutoGenDto/VerificationCaseDefinition.cs index 892097cd..344d6b05 100644 --- a/SysML2.NET/Core/AutoGenDto/VerificationCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/VerificationCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -52,7 +52,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action { get; internal set; } = []; @@ -61,7 +60,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -76,7 +74,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation { get; internal set; } = []; @@ -125,7 +122,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -268,9 +264,9 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -278,11 +274,11 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -680,7 +676,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; @@ -803,7 +798,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/VerificationCaseUsage.cs b/SysML2.NET/Core/AutoGenDto/VerificationCaseUsage.cs index 5ff366ff..61662f79 100644 --- a/SysML2.NET/Core/AutoGenDto/VerificationCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/VerificationCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -54,17 +54,14 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.HasValue ? [((SysML2.NET.Core.DTO.Systems.Calculations.ICalculationUsage)this).calculationDefinition.Value] : []; + public List actionDefinition { get; internal set; } = []; /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -91,7 +88,6 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] Guid? Systems.Calculations.ICalculationUsage.calculationDefinition => this.caseDefinition.HasValue ? this.caseDefinition.Value : Guid.Empty; @@ -152,7 +148,7 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -181,7 +177,6 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -436,11 +431,11 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -478,9 +473,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -706,7 +701,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -757,9 +751,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.DTO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -999,7 +992,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1111,7 +1103,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ViewDefinition.cs b/SysML2.NET/Core/AutoGenDto/ViewDefinition.cs index dbe4a6cb..700c0808 100644 --- a/SysML2.NET/Core/AutoGenDto/ViewDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ViewDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -97,7 +97,6 @@ public partial class ViewDefinition : IViewDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -231,11 +230,11 @@ public partial class ViewDefinition : IViewDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -625,7 +624,6 @@ public partial class ViewDefinition : IViewDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; diff --git a/SysML2.NET/Core/AutoGenDto/ViewRenderingMembership.cs b/SysML2.NET/Core/AutoGenDto/ViewRenderingMembership.cs index 4c299582..6aa9358e 100644 --- a/SysML2.NET/Core/AutoGenDto/ViewRenderingMembership.cs +++ b/SysML2.NET/Core/AutoGenDto/ViewRenderingMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenDto/ViewUsage.cs b/SysML2.NET/Core/AutoGenDto/ViewUsage.cs index 0c64397a..cd692512 100644 --- a/SysML2.NET/Core/AutoGenDto/ViewUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ViewUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -132,7 +132,6 @@ public partial class ViewUsage : IViewUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -379,11 +378,11 @@ public partial class ViewUsage : IViewUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -431,9 +430,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -659,7 +658,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -943,7 +941,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ViewpointDefinition.cs b/SysML2.NET/Core/AutoGenDto/ViewpointDefinition.cs index 071391e5..fec898f8 100644 --- a/SysML2.NET/Core/AutoGenDto/ViewpointDefinition.cs +++ b/SysML2.NET/Core/AutoGenDto/ViewpointDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -51,7 +51,6 @@ public partial class ViewpointDefinition : IViewpointDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621564041941_652319_2722", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -124,7 +123,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -276,9 +274,9 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -286,11 +284,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -680,7 +678,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage { get; internal set; } = []; @@ -815,7 +812,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_4_12e503d9_1624033010374_29375_40166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.StakeholderParameter")] public List stakeholderParameter { get; internal set; } = []; @@ -832,7 +828,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1595189007408_784255_586", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/ViewpointUsage.cs b/SysML2.NET/Core/AutoGenDto/ViewpointUsage.cs index eed4da2f..9e00c48c 100644 --- a/SysML2.NET/Core/AutoGenDto/ViewpointUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/ViewpointUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -52,7 +52,6 @@ public partial class ViewpointUsage : IViewpointUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter { get; internal set; } = []; @@ -178,7 +177,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -442,11 +440,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -484,9 +482,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -712,7 +710,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -996,7 +993,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } @@ -1146,7 +1142,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter { get; internal set; } = []; @@ -1155,7 +1150,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public Guid subjectParameter { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenDto/WhileLoopActionUsage.cs b/SysML2.NET/Core/AutoGenDto/WhileLoopActionUsage.cs index c0171b5c..a3ae3ab0 100644 --- a/SysML2.NET/Core/AutoGenDto/WhileLoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenDto/WhileLoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -57,7 +57,6 @@ public partial class WhileLoopActionUsage : IWhileLoopActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition { get; internal set; } = []; @@ -133,7 +132,7 @@ public partial class WhileLoopActionUsage : IWhileLoopActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.DTO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -162,7 +161,6 @@ public partial class WhileLoopActionUsage : IWhileLoopActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage { get; internal set; } = []; @@ -400,11 +398,11 @@ public partial class WhileLoopActionUsage : IWhileLoopActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -442,9 +440,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -670,7 +668,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage { get; internal set; } = []; @@ -713,9 +710,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition { get; internal set; } = []; /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -955,7 +951,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public Guid? owningDefinition { get; internal set; } diff --git a/SysML2.NET/Core/AutoGenEnum/FeatureDirectionKind.cs b/SysML2.NET/Core/AutoGenEnum/FeatureDirectionKind.cs index 421453cc..7761b69b 100644 --- a/SysML2.NET/Core/AutoGenEnum/FeatureDirectionKind.cs +++ b/SysML2.NET/Core/AutoGenEnum/FeatureDirectionKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenEnum/PortionKind.cs b/SysML2.NET/Core/AutoGenEnum/PortionKind.cs index cc263945..1c8ae1c5 100644 --- a/SysML2.NET/Core/AutoGenEnum/PortionKind.cs +++ b/SysML2.NET/Core/AutoGenEnum/PortionKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenEnum/RequirementConstraintKind.cs b/SysML2.NET/Core/AutoGenEnum/RequirementConstraintKind.cs index 1d8bed1e..c1a5e02e 100644 --- a/SysML2.NET/Core/AutoGenEnum/RequirementConstraintKind.cs +++ b/SysML2.NET/Core/AutoGenEnum/RequirementConstraintKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenEnum/StateSubactionKind.cs b/SysML2.NET/Core/AutoGenEnum/StateSubactionKind.cs index 3cfdc617..9fdf8628 100644 --- a/SysML2.NET/Core/AutoGenEnum/StateSubactionKind.cs +++ b/SysML2.NET/Core/AutoGenEnum/StateSubactionKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenEnum/TransitionFeatureKind.cs b/SysML2.NET/Core/AutoGenEnum/TransitionFeatureKind.cs index ec9438e8..9c6e8402 100644 --- a/SysML2.NET/Core/AutoGenEnum/TransitionFeatureKind.cs +++ b/SysML2.NET/Core/AutoGenEnum/TransitionFeatureKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenEnum/TriggerKind.cs b/SysML2.NET/Core/AutoGenEnum/TriggerKind.cs index 6acb3307..19b6bf86 100644 --- a/SysML2.NET/Core/AutoGenEnum/TriggerKind.cs +++ b/SysML2.NET/Core/AutoGenEnum/TriggerKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenEnum/VisibilityKind.cs b/SysML2.NET/Core/AutoGenEnum/VisibilityKind.cs index 3a526784..54273f75 100644 --- a/SysML2.NET/Core/AutoGenEnum/VisibilityKind.cs +++ b/SysML2.NET/Core/AutoGenEnum/VisibilityKind.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright 2022-2025 Starion Group S.A. +// Copyright 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/AcceptActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/AcceptActionUsage.cs index d285bd9f..b227dac9 100644 --- a/SysML2.NET/Core/AutoGenPoco/AcceptActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/AcceptActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -88,7 +88,6 @@ public partial class AcceptActionUsage : IAcceptActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -156,7 +155,7 @@ public partial class AcceptActionUsage : IAcceptActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -185,7 +184,6 @@ public partial class AcceptActionUsage : IAcceptActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -423,11 +421,11 @@ public partial class AcceptActionUsage : IAcceptActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -465,9 +463,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -693,7 +691,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -736,9 +733,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -978,7 +974,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1056,7 +1051,6 @@ bool Core.Features.IFeature.IsVariable /// base AcceptActionUsage AcceptAction from the Systems Model Library. /// [Property(xmiId: "_19_0_4_12e503d9_1642701018287_478584_4462", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591477541360_47573_933")] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] [Implements(implementation: "IAcceptActionUsage.PayloadParameter")] public IReferenceUsage payloadParameter => this.ComputePayloadParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/ActionDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ActionDefinition.cs index dc38da8d..0bd3c3b9 100644 --- a/SysML2.NET/Core/AutoGenPoco/ActionDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ActionDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -80,7 +80,6 @@ public partial class ActionDefinition : IActionDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action => this.ComputeAction(); @@ -135,7 +134,6 @@ public partial class ActionDefinition : IActionDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -269,11 +267,11 @@ public partial class ActionDefinition : IActionDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -663,7 +661,6 @@ public partial class ActionDefinition : IActionDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/ActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/ActionUsage.cs index 1c6e8a48..f1adb12e 100644 --- a/SysML2.NET/Core/AutoGenPoco/ActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -86,7 +86,6 @@ public partial class ActionUsage : IActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -154,7 +153,7 @@ public partial class ActionUsage : IActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -183,7 +182,6 @@ public partial class ActionUsage : IActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -421,11 +419,11 @@ public partial class ActionUsage : IActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -463,9 +461,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -691,7 +689,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -734,9 +731,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -976,7 +972,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/ActorMembership.cs b/SysML2.NET/Core/AutoGenPoco/ActorMembership.cs index 1b081eb3..3a300a87 100644 --- a/SysML2.NET/Core/AutoGenPoco/ActorMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ActorMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/AllocationDefinition.cs b/SysML2.NET/Core/AutoGenPoco/AllocationDefinition.cs index 99001fcf..42010ba0 100644 --- a/SysML2.NET/Core/AutoGenPoco/AllocationDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/AllocationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -155,7 +155,6 @@ public partial class AllocationDefinition : IAllocationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -306,11 +305,11 @@ public partial class AllocationDefinition : IAllocationDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [RedefinedByProperty("IConnectionDefinition.IsSufficient")] @@ -716,7 +715,6 @@ bool Core.Types.IType.IsSufficient /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/AllocationUsage.cs b/SysML2.NET/Core/AutoGenPoco/AllocationUsage.cs index 3c93ec7e..b5012fd2 100644 --- a/SysML2.NET/Core/AutoGenPoco/AllocationUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/AllocationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -210,7 +210,6 @@ public partial class AllocationUsage : IAllocationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -457,11 +456,11 @@ public partial class AllocationUsage : IAllocationUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -509,9 +508,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -737,7 +736,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1029,7 +1027,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/AnalysisCaseDefinition.cs b/SysML2.NET/Core/AutoGenPoco/AnalysisCaseDefinition.cs index e2423c44..79bde19d 100644 --- a/SysML2.NET/Core/AutoGenPoco/AnalysisCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/AnalysisCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -80,7 +80,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action => this.ComputeAction(); @@ -89,7 +88,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -104,7 +102,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation => this.ComputeCalculation(); @@ -153,7 +150,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -296,9 +292,9 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -306,11 +302,11 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -708,7 +704,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); @@ -841,7 +836,6 @@ public partial class AnalysisCaseDefinition : IAnalysisCaseDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/AnalysisCaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/AnalysisCaseUsage.cs index 20c1817d..f3aed76f 100644 --- a/SysML2.NET/Core/AutoGenPoco/AnalysisCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/AnalysisCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -84,17 +84,14 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition != null ? [((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition] : []; + public List actionDefinition => this.ComputeActionDefinition(); /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -129,7 +126,6 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] IFunction Systems.Calculations.ICalculationUsage.calculationDefinition => ((SysML2.NET.Core.POCO.Systems.Cases.ICaseUsage)this).caseDefinition; @@ -191,7 +187,7 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -220,7 +216,6 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -475,11 +470,11 @@ public partial class AnalysisCaseUsage : IAnalysisCaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -517,9 +512,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -745,7 +740,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -796,9 +790,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1038,7 +1031,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1159,7 +1151,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/AnnotatingElement.cs b/SysML2.NET/Core/AutoGenPoco/AnnotatingElement.cs index d08787b1..54c761f8 100644 --- a/SysML2.NET/Core/AutoGenPoco/AnnotatingElement.cs +++ b/SysML2.NET/Core/AutoGenPoco/AnnotatingElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Annotation.cs b/SysML2.NET/Core/AutoGenPoco/Annotation.cs index f9e5b028..8d3fecb0 100644 --- a/SysML2.NET/Core/AutoGenPoco/Annotation.cs +++ b/SysML2.NET/Core/AutoGenPoco/Annotation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/AssertConstraintUsage.cs b/SysML2.NET/Core/AutoGenPoco/AssertConstraintUsage.cs index a0b081b3..f40d06f4 100644 --- a/SysML2.NET/Core/AutoGenPoco/AssertConstraintUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/AssertConstraintUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -191,7 +191,6 @@ public partial class AssertConstraintUsage : IAssertConstraintUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -453,11 +452,11 @@ public partial class AssertConstraintUsage : IAssertConstraintUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -495,9 +494,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -723,7 +722,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1007,7 +1005,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/AssignmentActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/AssignmentActionUsage.cs index 9ab249d0..e2ca5039 100644 --- a/SysML2.NET/Core/AutoGenPoco/AssignmentActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/AssignmentActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -87,7 +87,6 @@ public partial class AssignmentActionUsage : IAssignmentActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -155,7 +154,7 @@ public partial class AssignmentActionUsage : IAssignmentActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -184,7 +183,6 @@ public partial class AssignmentActionUsage : IAssignmentActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -422,11 +420,11 @@ public partial class AssignmentActionUsage : IAssignmentActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -464,9 +462,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -692,7 +690,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -735,9 +732,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -977,7 +973,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Association.cs b/SysML2.NET/Core/AutoGenPoco/Association.cs index b571d899..e8af5ece 100644 --- a/SysML2.NET/Core/AutoGenPoco/Association.cs +++ b/SysML2.NET/Core/AutoGenPoco/Association.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -240,11 +240,11 @@ public partial class Association : IAssociation /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/AssociationStructure.cs b/SysML2.NET/Core/AutoGenPoco/AssociationStructure.cs index aa9e11cc..9f85bf34 100644 --- a/SysML2.NET/Core/AutoGenPoco/AssociationStructure.cs +++ b/SysML2.NET/Core/AutoGenPoco/AssociationStructure.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -242,11 +242,11 @@ public partial class AssociationStructure : IAssociationStructure /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/AttributeDefinition.cs b/SysML2.NET/Core/AutoGenPoco/AttributeDefinition.cs index 6dcc1bf8..d078f6f2 100644 --- a/SysML2.NET/Core/AutoGenPoco/AttributeDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/AttributeDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -62,9 +62,9 @@ namespace SysML2.NET.Core.POCO.Systems.Attributes /// /// An AttributeDefinition is a Definition and a DataType of information about a quality or /// characteristic of a system or part of a system that has no independent identity other than its - /// value. All features of an AttributeDefinition must be referential (non-composite).As a DataType, an - /// AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from - /// the Kernel Semantic Library. + /// value. All features of an AttributeDefinition must be referential (non-composite). + /// As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base + /// DataType Base::DataValue from the Kernel Semantic Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471213468_167708_20650", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -127,7 +127,6 @@ public partial class AttributeDefinition : IAttributeDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -254,11 +253,11 @@ public partial class AttributeDefinition : IAttributeDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -648,7 +647,6 @@ public partial class AttributeDefinition : IAttributeDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/AttributeUsage.cs b/SysML2.NET/Core/AutoGenPoco/AttributeUsage.cs index 8251d562..210755b3 100644 --- a/SysML2.NET/Core/AutoGenPoco/AttributeUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/AttributeUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -65,8 +65,9 @@ namespace SysML2.NET.Core.POCO.Systems.Attributes /// AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of /// some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to /// permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its - /// nested features must be referential (non-composite).An AttributeUsage must specialize, directly or - /// indirectly, the base Feature Base::dataValues from the Kernel Semantic Library. + /// nested features must be referential (non-composite). An AttributeUsage must + /// specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic + /// Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471291545_950196_20762", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -172,7 +173,6 @@ public partial class AttributeUsage : IAttributeUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -403,11 +403,11 @@ public partial class AttributeUsage : IAttributeUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -445,9 +445,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -673,7 +673,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -947,7 +946,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Behavior.cs b/SysML2.NET/Core/AutoGenPoco/Behavior.cs index 016a2754..a06ccfe0 100644 --- a/SysML2.NET/Core/AutoGenPoco/Behavior.cs +++ b/SysML2.NET/Core/AutoGenPoco/Behavior.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -222,11 +222,11 @@ public partial class Behavior : IBehavior /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/BindingConnector.cs b/SysML2.NET/Core/AutoGenPoco/BindingConnector.cs index 54c9199c..f1431b81 100644 --- a/SysML2.NET/Core/AutoGenPoco/BindingConnector.cs +++ b/SysML2.NET/Core/AutoGenPoco/BindingConnector.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -367,11 +367,11 @@ public partial class BindingConnector : IBindingConnector /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/BindingConnectorAsUsage.cs b/SysML2.NET/Core/AutoGenPoco/BindingConnectorAsUsage.cs index 06f3a26a..cc5ba451 100644 --- a/SysML2.NET/Core/AutoGenPoco/BindingConnectorAsUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/BindingConnectorAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -184,7 +184,6 @@ public partial class BindingConnectorAsUsage : IBindingConnectorAsUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -415,11 +414,11 @@ public partial class BindingConnectorAsUsage : IBindingConnectorAsUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -457,9 +456,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -685,7 +684,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -967,7 +965,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/BooleanExpression.cs b/SysML2.NET/Core/AutoGenPoco/BooleanExpression.cs index 3468ceff..baddd3f4 100644 --- a/SysML2.NET/Core/AutoGenPoco/BooleanExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/BooleanExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -358,11 +358,11 @@ public partial class BooleanExpression : IBooleanExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/CalculationDefinition.cs b/SysML2.NET/Core/AutoGenPoco/CalculationDefinition.cs index e174f6ed..a4ac0cf9 100644 --- a/SysML2.NET/Core/AutoGenPoco/CalculationDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/CalculationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -81,7 +81,6 @@ public partial class CalculationDefinition : ICalculationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action => this.ComputeAction(); @@ -96,7 +95,6 @@ public partial class CalculationDefinition : ICalculationDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation => this.ComputeCalculation(); @@ -145,7 +143,6 @@ public partial class CalculationDefinition : ICalculationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -288,9 +285,9 @@ public partial class CalculationDefinition : ICalculationDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -298,11 +295,11 @@ public partial class CalculationDefinition : ICalculationDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -692,7 +689,6 @@ public partial class CalculationDefinition : ICalculationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/CalculationUsage.cs b/SysML2.NET/Core/AutoGenPoco/CalculationUsage.cs index 346c38f4..5f8e7021 100644 --- a/SysML2.NET/Core/AutoGenPoco/CalculationUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/CalculationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -87,10 +87,8 @@ public partial class CalculationUsage : ICalculationUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => this.calculationDefinition != null ? [this.calculationDefinition] : []; + public List actionDefinition => this.ComputeActionDefinition(); /// /// Various alternative identifiers for this Element. Generally, these will be set by tools. @@ -115,7 +113,6 @@ public partial class CalculationUsage : ICalculationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] public IFunction calculationDefinition => this.ComputeCalculationDefinition(); @@ -167,7 +164,7 @@ public partial class CalculationUsage : ICalculationUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -196,7 +193,6 @@ public partial class CalculationUsage : ICalculationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -451,11 +447,11 @@ public partial class CalculationUsage : ICalculationUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -493,9 +489,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -721,7 +717,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -764,9 +759,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1006,7 +1000,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/CaseDefinition.cs b/SysML2.NET/Core/AutoGenPoco/CaseDefinition.cs index a3526e6e..5c17c9cf 100644 --- a/SysML2.NET/Core/AutoGenPoco/CaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/CaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -82,7 +82,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action => this.ComputeAction(); @@ -91,7 +90,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -106,7 +104,6 @@ public partial class CaseDefinition : ICaseDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation => this.ComputeCalculation(); @@ -155,7 +152,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -298,9 +294,9 @@ public partial class CaseDefinition : ICaseDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -308,11 +304,11 @@ public partial class CaseDefinition : ICaseDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -710,7 +706,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); @@ -833,7 +828,6 @@ public partial class CaseDefinition : ICaseDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/CaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/CaseUsage.cs index 4cce4686..1d8104d1 100644 --- a/SysML2.NET/Core/AutoGenPoco/CaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/CaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -84,17 +84,14 @@ public partial class CaseUsage : ICaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition != null ? [((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition] : []; + public List actionDefinition => this.ComputeActionDefinition(); /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -121,7 +118,6 @@ public partial class CaseUsage : ICaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] IFunction Systems.Calculations.ICalculationUsage.calculationDefinition => this.caseDefinition; @@ -182,7 +178,7 @@ public partial class CaseUsage : ICaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -211,7 +207,6 @@ public partial class CaseUsage : ICaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -466,11 +461,11 @@ public partial class CaseUsage : ICaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -508,9 +503,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -736,7 +731,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -787,9 +781,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1029,7 +1022,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1141,7 +1133,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/Class.cs b/SysML2.NET/Core/AutoGenPoco/Class.cs index cea9c753..3b41bc19 100644 --- a/SysML2.NET/Core/AutoGenPoco/Class.cs +++ b/SysML2.NET/Core/AutoGenPoco/Class.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -221,11 +221,11 @@ public partial class Class : IClass /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/Classifier.cs b/SysML2.NET/Core/AutoGenPoco/Classifier.cs index 120553f1..1dbdb57a 100644 --- a/SysML2.NET/Core/AutoGenPoco/Classifier.cs +++ b/SysML2.NET/Core/AutoGenPoco/Classifier.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,12 +37,13 @@ namespace SysML2.NET.Core.POCO.Core.Classifiers using SysML2.NET.Decorators; /// - /// A Classifier is a Type that classifies:
  • Things (in the universe) regardless of how Features - /// relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • How - /// the above things are related by Features. (These are interpreted semantically as sequences of - /// multiple things, such that the last thing in the sequence is also classified by the Classifier. Note - /// that this means that a Classifier modeled as specializing a Feature cannot classify - /// anything.)
+ /// A Classifier is a Type that classifies:
    + ///
  • Things (in the universe) regardless of how Features relate them. (These are interpreted + /// semantically as sequences of exactly one thing.)
  • How the above + /// things are related by Features. (These are interpreted semantically as sequences of multiple things, + /// such that the last thing in the sequence is also classified by the Classifier. Note that this means + /// that a Classifier modeled as specializing a Feature cannot classify anything.)
  • + ///
///
[Class(xmiId: "_18_5_3_12e503d9_1533160651676_375105_42143", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -223,11 +224,11 @@ public partial class Classifier : IClassifier /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/CollectExpression.cs b/SysML2.NET/Core/AutoGenPoco/CollectExpression.cs index 7f22095f..dc03deb1 100644 --- a/SysML2.NET/Core/AutoGenPoco/CollectExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/CollectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,8 +64,8 @@ public partial class CollectExpression : ICollectExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -376,11 +376,11 @@ public partial class CollectExpression : ICollectExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/Comment.cs b/SysML2.NET/Core/AutoGenPoco/Comment.cs index 6349da29..940db1de 100644 --- a/SysML2.NET/Core/AutoGenPoco/Comment.cs +++ b/SysML2.NET/Core/AutoGenPoco/Comment.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ConcernDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ConcernDefinition.cs index 374ef274..15db0482 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConcernDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConcernDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -81,7 +81,6 @@ public partial class ConcernDefinition : IConcernDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621564041941_652319_2722", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -154,7 +153,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -306,9 +304,9 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -316,11 +314,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -710,7 +708,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); @@ -845,7 +842,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_4_12e503d9_1624033010374_29375_40166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.StakeholderParameter")] public List stakeholderParameter => this.ComputeStakeholderParameter(); @@ -862,7 +858,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1595189007408_784255_586", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/ConcernUsage.cs b/SysML2.NET/Core/AutoGenPoco/ConcernUsage.cs index d9c2e512..4d38f7c8 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConcernUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConcernUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,10 +64,10 @@ namespace SysML2.NET.Core.POCO.Systems.Requirements using SysML2.NET.Decorators; /// - /// A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder features of the ConcernUsage - /// shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an - /// ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an - /// ownedStakeholder feature that is bound to the self feature of its owner. + /// A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder + /// features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If + /// the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the + /// ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner. /// [Class(xmiId: "_19_0_4_12e503d9_1617051561652_163085_1288", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -85,7 +85,6 @@ public partial class ConcernUsage : IConcernUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -219,7 +218,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -483,11 +481,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -525,9 +523,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -753,7 +751,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1037,7 +1034,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1187,7 +1183,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter => this.ComputeStakeholderParameter(); @@ -1196,7 +1191,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/ConjugatedPortDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ConjugatedPortDefinition.cs index 4b5918ca..b8c3ea09 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConjugatedPortDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConjugatedPortDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -136,7 +136,6 @@ public partial class ConjugatedPortDefinition : IConjugatedPortDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -270,11 +269,11 @@ public partial class ConjugatedPortDefinition : IConjugatedPortDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -683,7 +682,6 @@ public partial class ConjugatedPortDefinition : IConjugatedPortDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/ConjugatedPortTyping.cs b/SysML2.NET/Core/AutoGenPoco/ConjugatedPortTyping.cs index 1e42d153..311af6e2 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConjugatedPortTyping.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConjugatedPortTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Conjugation.cs b/SysML2.NET/Core/AutoGenPoco/Conjugation.cs index 5e6c2176..4f4b88b1 100644 --- a/SysML2.NET/Core/AutoGenPoco/Conjugation.cs +++ b/SysML2.NET/Core/AutoGenPoco/Conjugation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,9 +40,9 @@ namespace SysML2.NET.Core.POCO.Core.Types /// with a direction in relative to the originalType are considered to have an effective direction of /// out relative to the conjugatedType and, similarly, Features with direction out in the originalType /// are considered to have an effective direction of in in the conjugatedType. Features with direction - /// inout, or with no direction, in the originalType, are inherited without change.A Type may - /// participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not - /// also be the specific Type in any Specialization relationship. + /// inout, or with no direction, in the originalType, are inherited without change. + /// A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a + /// Type may not also be the specific Type in any Specialization relationship. /// [Class(xmiId: "_19_0_2_12e503d9_1575482328287_696279_181", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/ConnectionDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ConnectionDefinition.cs index e5aa838d..0022fc5f 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConnectionDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConnectionDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -143,7 +143,6 @@ public partial class ConnectionDefinition : IConnectionDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -294,11 +293,11 @@ public partial class ConnectionDefinition : IConnectionDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [RedefinedByProperty("IConnectionDefinition.IsSufficient")] @@ -704,7 +703,6 @@ bool Core.Types.IType.IsSufficient /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/ConnectionUsage.cs b/SysML2.NET/Core/AutoGenPoco/ConnectionUsage.cs index 21c66052..2391830b 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConnectionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConnectionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -203,7 +203,6 @@ public partial class ConnectionUsage : IConnectionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -450,11 +449,11 @@ public partial class ConnectionUsage : IConnectionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -502,9 +501,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -730,7 +729,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1022,7 +1020,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Connector.cs b/SysML2.NET/Core/AutoGenPoco/Connector.cs index 52395cf4..4a7d5ab9 100644 --- a/SysML2.NET/Core/AutoGenPoco/Connector.cs +++ b/SysML2.NET/Core/AutoGenPoco/Connector.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -369,11 +369,11 @@ public partial class Connector : IConnector /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/ConnectorAsUsage.cs b/SysML2.NET/Core/AutoGenPoco/ConnectorAsUsage.cs deleted file mode 100644 index ccf0f2bc..00000000 --- a/SysML2.NET/Core/AutoGenPoco/ConnectorAsUsage.cs +++ /dev/null @@ -1,1183 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// -// -// Copyright (C) 2022-2025 Starion Group S.A. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// ------------------------------------------------------------------------------------------------ - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ - -namespace SysML2.NET.Core.POCO.Systems.Connections -{ - using System; - using System.CodeDom.Compiler; - using System.Collections.Generic; - using System.Linq; - - using SysML2.NET.Core.Core.Types; - using SysML2.NET.Core.POCO.Core.Classifiers; - using SysML2.NET.Core.POCO.Core.Features; - using SysML2.NET.Core.POCO.Core.Types; - using SysML2.NET.Core.POCO.Kernel.Associations; - using SysML2.NET.Core.POCO.Kernel.Connectors; - using SysML2.NET.Core.POCO.Root.Annotations; - using SysML2.NET.Core.POCO.Root.Elements; - using SysML2.NET.Core.POCO.Root.Namespaces; - using SysML2.NET.Core.POCO.Systems.Actions; - using SysML2.NET.Core.POCO.Systems.Allocations; - using SysML2.NET.Core.POCO.Systems.AnalysisCases; - using SysML2.NET.Core.POCO.Systems.Attributes; - using SysML2.NET.Core.POCO.Systems.Calculations; - using SysML2.NET.Core.POCO.Systems.Cases; - using SysML2.NET.Core.POCO.Systems.Constraints; - using SysML2.NET.Core.POCO.Systems.DefinitionAndUsage; - using SysML2.NET.Core.POCO.Systems.Enumerations; - using SysML2.NET.Core.POCO.Systems.Flows; - using SysML2.NET.Core.POCO.Systems.Interfaces; - using SysML2.NET.Core.POCO.Systems.Items; - using SysML2.NET.Core.POCO.Systems.Metadata; - using SysML2.NET.Core.POCO.Systems.Occurrences; - using SysML2.NET.Core.POCO.Systems.Parts; - using SysML2.NET.Core.POCO.Systems.Ports; - using SysML2.NET.Core.POCO.Systems.Requirements; - using SysML2.NET.Core.POCO.Systems.States; - using SysML2.NET.Core.POCO.Systems.UseCases; - using SysML2.NET.Core.POCO.Systems.VerificationCases; - using SysML2.NET.Core.POCO.Systems.Views; - using SysML2.NET.Decorators; - - /// - /// A ConnectorAsUsage is both a Connector and a Usage. ConnectorAsUsage cannot itself be instantiated - /// in a SysML model, but it is a base class for the concrete classes BindingConnectorAsUsage, - /// SuccessionAsUsage, ConnectionUsage and FlowConnectionUsage. - /// - [Class(xmiId: "_19_0_4_12e503d9_1624053320057_820842_471", isAbstract: true, isFinalSpecialization: false, isActive: false)] - [GeneratedCode("SysML2.NET", "latest")] - public partial class ConnectorAsUsage : IConnectorAsUsage - { - /// - /// Gets or sets the unique identifier - /// - [Property(xmiId: "sysml2.net", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IData.Id")] - public Guid Id { get; set; } - - /// - /// Various alternative identifiers for this Element. Generally, these will be set by tools. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594312532679_496267_4310", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.AliasIds")] - public List AliasIds { get; set; } = []; - - /// - /// The Associations that type the Connector. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674983_471497_43284", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] - [Implements(implementation: "IConnector.Association")] - public List association => this.ComputeAssociation(); - - /// - /// The Feature that are chained together to determine the values of this Feature, derived from the - /// chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a - /// Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be - /// found by starting with the values of the first Feature (for each instance of the domain of the - /// original Feature), then using each of those as domain instances to find the values of the second - /// Feature in chainingFeatures, and so on, to values of the last Feature. - /// - [Property(xmiId: "_19_0_4_b9102da_1619792219511_543311_445", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [Implements(implementation: "IFeature.ChainingFeature")] - public List chainingFeature => this.ComputeChainingFeature(); - - /// - /// The endFeatures of a Connector, which redefine the endFeatures of the associations of the Connector. - /// The connectorEnds determine via ReferenceSubsetting Relationships which Features are related by the - /// Connector. - /// - [Property(xmiId: "_18_5_3_12e503d9_1556735067666_827798_21922", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1562476168385_824569_22106")] - [Implements(implementation: "IConnector.ConnectorEnd")] - public List connectorEnd => this.ComputeConnectorEnd(); - - /// - /// The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it - /// has one. Semantically, the values of the crossFeature of an end Feature must include all values of - /// the end Feature obtained when navigating from values of the other end Features of the same - /// owningType. - /// - [Property(xmiId: "_19_0_4_b9102da_1689616227528_355910_218", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.CrossFeature")] - public IFeature crossFeature => this.ComputeCrossFeature(); - - /// - /// The declared name of this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674987_737648_43307", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredName")] - public string DeclaredName { get; set; } - - /// - /// An optional alternative name for the Element that is intended to be shorter or in some way more - /// succinct than its primary name. It may act as a modeler-specified identifier for the Element, though - /// it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a - /// model or relative to some other context. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594160442439_915308_4153", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredShortName")] - public string DeclaredShortName { get; set; } - - /// - /// The innermost Type that is a common direct or indirect featuringType of the relatedFeatures, such - /// that, if it exists and was the featuringType of this Connector, the Connector would satisfy the - /// checkConnectorTypeFeaturing constraint. - /// - [Property(xmiId: "_2022x_2_12e503d9_1737751598145_444042_71", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IConnector.DefaultFeaturingType")] - public IType defaultFeaturingType => this.ComputeDefaultFeaturingType(); - - /// - /// The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds - /// of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model - /// Libraries. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591477641252_179221_958", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] - [Implements(implementation: "IUsage.Definition")] - public List definition => this.ComputeDefinition(); - - /// - /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those - /// Types, but not including those of the remaining Types. For example, a Classifier might be the - /// difference of a Classifier for people and another for people of a particular nationality, leaving - /// people who are not of that nationality. Similarly, a feature of people might be the difference - /// between a feature for their children and a Classifier for people of a particular sex, identifying - /// their children not of that sex (because the interpretations of the children Feature that identify - /// those of that sex are also interpretations of the Classifier for that sex). - /// - [Property(xmiId: "_19_0_4_b9102da_1661975883472_645501_1372", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.DifferencingType")] - public List differencingType => this.ComputeDifferencingType(); - - /// - /// The features of this Type that have a non-null direction. - /// - [Property(xmiId: "_19_0_4_12e503d9_1623952188842_882068_37169", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IType.DirectedFeature")] - public List directedFeature => this.ComputeDirectedFeature(); - - /// - /// The usages of this Usage that are directedFeatures. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] - [Implements(implementation: "IUsage.DirectedUsage")] - public List directedUsage => this.ComputeDirectedUsage(); - - /// - /// Indicates how values of this Feature are determined or used (as specified for the - /// FeatureDirectionKind). - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674994_447677_43347", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.Direction")] - public FeatureDirectionKind? Direction { get; set; } - - /// - /// The Documentation owned by this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594150061166_345630_1621", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.Documentation")] - public List documentation => this.ComputeDocumentation(); - - /// - /// The globally unique identifier for this Element. This is intended to be set by tooling, and it must - /// not change during the lifetime of the Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_844338_43305", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ElementId")] - public string ElementId { get; set; } - - /// - /// All features of this Type with isEnd = true. - /// - [Property(xmiId: "_18_5_3_12e503d9_1562476168385_824569_22106", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [RedefinedByProperty("IConnector.ConnectorEnd")] - [Implements(implementation: "IType.EndFeature")] - List Core.Types.IType.endFeature => [.. this.connectorEnd]; - - /// - /// The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an - /// ownedMemberFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1563834516279_920295_20653", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1562476168386_366266_22107")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [Implements(implementation: "IFeature.EndOwningType")] - public IType endOwningType => this.ComputeEndOwningType(); - - /// - /// The ownedMemberFeatures of the featureMemberships of this Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_326391_43166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "IType.Feature")] - public List feature => this.ComputeFeature(); - - /// - /// The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and - /// those inheritedMemberships that are FeatureMemberships (but does not include any - /// importedMemberships). - /// - [Property(xmiId: "_19_0_4_12e503d9_1651076866512_962346_485", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.FeatureMembership")] - public List featureMembership => this.ComputeFeatureMembership(); - - /// - /// The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. - /// - [Property(xmiId: "_2022x_2_12e503d9_1715790852907_110671_19", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.FeatureTarget")] - public IFeature featureTarget => this.ComputeFeatureTarget(); - - /// - /// Types that feature this Feature, such that any instance in the domain of the Feature must be - /// classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. - /// If the Feature is chained, then the featuringTypes of the first Feature in the chain are also - /// featuringTypes of the chained Feature. - /// - [Property(xmiId: "_19_0_4_12e503d9_1603905619975_304385_743", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.FeaturingType")] - public List featuringType => this.ComputeFeaturingType(); - - /// - /// The Memberships in this Namespace that result from the ownedImports of this Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_207869_43270", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [Implements(implementation: "INamespace.ImportedMembership")] - public List importedMembership => this.ComputeImportedMembership(); - - /// - /// All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575499020770_15576_2334", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IType.InheritedFeature")] - public List inheritedFeature => this.ComputeInheritedFeature(); - - /// - /// All Memberships inherited by this Type via Specialization or Conjugation. These are included in the - /// derived union for the memberships of the Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1551972927538_787976_19004", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [Implements(implementation: "IType.InheritedMembership")] - public List inheritedMembership => this.ComputeInheritedMembership(); - - /// - /// All features related to this Type by FeatureMemberships that have direction in or inout. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_37384_43169", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IType.Input")] - public List input => this.ComputeInput(); - - /// - /// The interpretations of a Type with intersectingTypes are asserted to be those in common among the - /// intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings - /// of this Type. For example, a Classifier might be an intersection of Classifiers for people of a - /// particular sex and of a particular nationality. Similarly, a feature for people's children of a - /// particular sex might be the intersection of a Feature for their children and a Classifier for people - /// of that sex (because the interpretations of the children Feature that identify those of that sex are - /// also interpretations of the Classifier for that sex). - /// - [Property(xmiId: "_19_0_4_b9102da_1661973922199_584242_1045", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.IntersectingType")] - public List intersectingType => this.ComputeIntersectingType(); - - /// - /// Indicates whether instances of this Type must also be instances of at least one of its specialized - /// Types. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_741353_43165", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IType.IsAbstract")] - public bool IsAbstract { get; set; } - - /// - /// Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature - /// cannot exist after its featuring instance no longer does and cannot be values of another composite - /// feature that is not on the same featuring instance. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_331870_43224", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsComposite")] - public bool IsComposite { get; set; } - - /// - /// Indicates whether this Type has an ownedConjugator. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575485930816_796088_1933", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.IsConjugated")] - public bool isConjugated => this.ComputeIsConjugated(); - - /// - /// If isVariable is true, then whether the value of this Feature nevertheless does not change over all - /// snapshots of its owningType. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674993_300560_43342", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsConstant")] - public bool IsConstant { get; set; } - - /// - /// Whether the values of this Feature can always be computed from the values of other Features. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674992_500504_43341", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsDerived")] - public bool IsDerived { get; set; } - - /// - /// Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping - /// each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in - /// which case values of the crossFeature must be the same as those found by navigation across instances - /// of the owningType from values of other end Features to values of this Feature. If the owningType has - /// n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any - /// one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of - /// values of that Feature reached by navigation when the values of the other n-1 end Features are held - /// fixed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1562475749426_705395_21984", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsEnd")] - public bool IsEnd { get; set; } - - /// - /// Whether this Relationship was generated by tooling to meet semantic rules, rather than being - /// directly created by a modeler. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070829631_521257_3623", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IRelationship.IsImplied")] - public bool IsImplied { get; set; } - - /// - /// Whether all necessary implied Relationships have been included in the ownedRelationships of this - /// Element. This property may be true, even if there are not actually any ownedRelationships with - /// isImplied = true, meaning that no such Relationships are actually implied for this Element. However, - /// if it is false, then ownedRelationships may not contain any implied Relationships. That is, either - /// all required implied Relationships must be included, or none of them. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070949317_79713_3658", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IElement.IsImpliedIncluded")] - public bool IsImpliedIncluded { get; set; } - - /// - /// Whether this Element is contained in the ownership tree of a library model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1665443500960_5561_723", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.IsLibraryElement")] - public bool isLibraryElement => this.ComputeIsLibraryElement(); - - /// - /// Whether an order exists for the values of this Feature or not. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674969_728225_43215", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsOrdered")] - public bool IsOrdered { get; set; } - - /// - /// Whether the values of this Feature are contained in the space and time of instances of the domain of - /// the Feature and represent the same thing as those instances. - /// - [Property(xmiId: "_18_5_3_b9102da_1559231981638_234817_22063", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsPortion")] - public bool IsPortion { get; set; } - - /// - /// Whether this Usage is a referential Usage, that is, it has isComposite = false. - /// - [Property(xmiId: "_19_0_4_12e503d9_1624035114787_488767_41423", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IUsage.IsReference")] - public bool isReference => this.ComputeIsReference(); - - /// - /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) - /// - [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IType.IsSufficient")] - public bool IsSufficient { get; set; } - - /// - /// Whether or not values for this Feature must have no duplicates or not. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674968_321342_43214", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "true")] - [Implements(implementation: "IFeature.IsUnique")] - public bool IsUnique { get; set; } = true; - - /// - /// Whether the value of this Feature might vary over time. That is, whether the Feature may have a - /// different value for each snapshot of an owningType that is an Occurrence. - /// - [Property(xmiId: "_2022x_2_12e503d9_1725998273002_23711_212", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [RedefinedByProperty("IUsage.MayTimeVary")] - [Implements(implementation: "IFeature.IsVariable")] - bool Core.Features.IFeature.IsVariable - { - get => this.mayTimeVary; - set { } - } - - /// - /// Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage - /// must be VariantMemberships. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590978312364_290951_421", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IUsage.IsVariation")] - public bool IsVariation { get; set; } - - /// - /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its - /// owningType, rather than being featured by the owningType itself). However, if isConstant is also - /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. - /// - [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] - [Implements(implementation: "IUsage.MayTimeVary")] - public bool mayTimeVary => this.ComputeMayTimeVary(); - - /// - /// The set of all member Elements of this Namespace, which are the memberElements of all memberships of - /// the Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_644335_43267", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "INamespace.Member")] - public List member => this.ComputeMember(); - - /// - /// All Memberships in this Namespace, including (at least) the union of ownedMemberships and - /// importedMemberships. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674962_198288_43183", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: true, isUnique: true, defaultValue: null)] - [Implements(implementation: "INamespace.Membership")] - public List membership => this.ComputeMembership(); - - /// - /// An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. - /// If there is no such ownedMember, then the cardinality of this Type is constrained by all the - /// Multiplicity constraints applicable to any direct supertypes. - /// - [Property(xmiId: "_19_0_2_12e503d9_1573095852093_324833_5396", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IType.Multiplicity")] - public IMultiplicity multiplicity => this.ComputeMultiplicity(); - - /// - /// The name to be used for this Element during name resolution within its owningNamespace. This is - /// derived using the effectiveName() operation. By default, it is the same as the declaredName, but - /// this is overridden for certain kinds of Elements to compute a name even when the declaredName is - /// null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617485009541_709355_27528", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Name")] - public string name => this.ComputeName(); - - /// - /// The ActionUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565501745142_70952_31609", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedAction")] - public List nestedAction => this.ComputeNestedAction(); - - /// - /// The AllocationUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611430983774_648557_1053", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedAllocation")] - public List nestedAllocation => this.ComputeNestedAllocation(); - - /// - /// The AnalysisCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591152666850_226358_3749", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedAnalysisCase")] - public List nestedAnalysisCase => this.ComputeNestedAnalysisCase(); - - /// - /// The code>AttributeUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591500785349_111324_4486", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedAttribute")] - public List nestedAttribute => this.ComputeNestedAttribute(); - - /// - /// The CalculationUsage that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1588215112283_215964_632", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565501745142_70952_31609")] - [Implements(implementation: "IUsage.NestedCalculation")] - public List nestedCalculation => this.ComputeNestedCalculation(); - - /// - /// The CaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591135021853_494751_737", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1588215112283_215964_632")] - [Implements(implementation: "IUsage.NestedCase")] - public List nestedCase => this.ComputeNestedCase(); - - /// - /// The ConcernUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617051711833_106553_1460", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1583000447195_878123_1244")] - [Implements(implementation: "IUsage.NestedConcern")] - public List nestedConcern => this.ComputeNestedConcern(); - - /// - /// The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes - /// BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are - /// ConnectorAsUsages even though they are not ConnectionUsages. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591479754895_422988_1242", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedConnection")] - public List nestedConnection => this.ComputeNestedConnection(); - - /// - /// The ConstraintUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1578067664051_434365_1774", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedConstraint")] - public List nestedConstraint => this.ComputeNestedConstraint(); - - /// - /// The code>EnumerationUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1606946589000_158124_239", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591500785349_111324_4486")] - [Implements(implementation: "IUsage.NestedEnumeration")] - public List nestedEnumeration => this.ComputeNestedEnumeration(); - - /// - /// The code>FlowUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1624054938718_124518_1464", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedFlow")] - public List nestedFlow => this.ComputeNestedFlow(); - - /// - /// The InterfaceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591498454569_383419_3839", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedInterface")] - public List nestedInterface => this.ComputeNestedInterface(); - - /// - /// The ItemUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591482421103_284620_2978", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedItem")] - public List nestedItem => this.ComputeNestedItem(); - - /// - /// The MetadataUsages that are nestedUsages of this of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1661488589862_120785_2970", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591482421103_284620_2978")] - [Implements(implementation: "IUsage.NestedMetadata")] - public List nestedMetadata => this.ComputeNestedMetadata(); - - /// - /// The OccurrenceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618943853976_48759_278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedOccurrence")] - public List nestedOccurrence => this.ComputeNestedOccurrence(); - - /// - /// The PartUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591496406876_479979_3188", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591482421103_284620_2978")] - [Implements(implementation: "IUsage.NestedPart")] - public List nestedPart => this.ComputeNestedPart(); - - /// - /// The PortUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565494459494_859367_26042", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedPort")] - public List nestedPort => this.ComputeNestedPort(); - - /// - /// The ReferenceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591477541360_47573_933", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedReference")] - public List nestedReference => this.ComputeNestedReference(); - - /// - /// The RenderingUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596741501454_147708_6545", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591496406876_479979_3188")] - [Implements(implementation: "IUsage.NestedRendering")] - public List nestedRendering => this.ComputeNestedRendering(); - - /// - /// The RequirementUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1583000447195_878123_1244", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1578067664051_434365_1774")] - [Implements(implementation: "IUsage.NestedRequirement")] - public List nestedRequirement => this.ComputeNestedRequirement(); - - /// - /// The StateUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575587743891_973819_756", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565501745142_70952_31609")] - [Implements(implementation: "IUsage.NestedState")] - public List nestedState => this.ComputeNestedState(); - - /// - /// The TransitionUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1578597913303_768272_3894", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedTransition")] - public List nestedTransition => this.ComputeNestedTransition(); - - /// - /// The Usages that are ownedFeatures of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] - [Implements(implementation: "IUsage.NestedUsage")] - public List nestedUsage => this.ComputeNestedUsage(); - - /// - /// The UseCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1621463992900_247262_1080", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedUseCase")] - public List nestedUseCase => this.ComputeNestedUseCase(); - - /// - /// The VerificationCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596821592100_42801_10499", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedVerificationCase")] - public List nestedVerificationCase => this.ComputeNestedVerificationCase(); - - /// - /// The ViewUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596644669126_858176_809", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591496406876_479979_3188")] - [Implements(implementation: "IUsage.NestedView")] - public List nestedView => this.ComputeNestedView(); - - /// - /// The ViewpointUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596649930212_443356_3818", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1583000447195_878123_1244")] - [Implements(implementation: "IUsage.NestedViewpoint")] - public List nestedViewpoint => this.ComputeNestedViewpoint(); - - /// - /// All features related to this Type by FeatureMemberships that have direction out or inout. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_365618_43170", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IType.Output")] - public List output => this.ComputeOutput(); - - /// - /// The ownedRelationships of this Element that are Annotations, for which this Element is the - /// annotatedElement. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594152527165_702130_2500", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543094430277_599480_18543")] - [Implements(implementation: "IElement.OwnedAnnotation")] - public List ownedAnnotation => this.ComputeOwnedAnnotation(); - - /// - /// A Conjugation owned by this Type for which the Type is the originalType. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575482646809_280165_440", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1575482490144_309557_300")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedConjugator")] - public IConjugation ownedConjugator => this.ComputeOwnedConjugator(); - - /// - /// The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature - /// is the crossingFeature. - /// - [Property(xmiId: "_19_0_4_b9102da_1689616916594_145818_277", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedCrossSubsetting")] - public ICrossSubsetting ownedCrossSubsetting => this.ComputeOwnedCrossSubsetting(); - - /// - /// The ownedRelationships of this Type that are Differencings, having this Type as their - /// typeDifferenced. - /// - [Property(xmiId: "_19_0_4_b9102da_1661871168454_98082_797", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedDifferencing")] - public List ownedDifferencing => this.ComputeOwnedDifferencing(); - - /// - /// The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined - /// Type. - /// - [Property(xmiId: "_19_0_4_12e503d9_1627447519613_145554_370", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_19_0_4_b9102da_1623183194914_502526_616")] - [Implements(implementation: "IType.OwnedDisjoining")] - public List ownedDisjoining => this.ComputeOwnedDisjoining(); - - /// - /// The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of - /// this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_112608_17278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.OwnedElement")] - public List ownedElement => this.ComputeOwnedElement(); - - /// - /// All endFeatures of this Type that are ownedFeatures. - /// - [Property(xmiId: "_18_5_3_12e503d9_1563834516278_687758_20652", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1562476168385_824569_22106")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [Implements(implementation: "IType.OwnedEndFeature")] - public List ownedEndFeature => this.ComputeOwnedEndFeature(); - - /// - /// The ownedMemberFeatures of the ownedFeatureMemberships of this Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_226999_43167", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IType.OwnedFeature")] - public List ownedFeature => this.ComputeOwnedFeature(); - - /// - /// The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the - /// featureChained. - /// - [Property(xmiId: "_19_0_4_b9102da_1622125589880_791465_72", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "IFeature.OwnedFeatureChaining")] - public List ownedFeatureChaining => this.ComputeOwnedFeatureChaining(); - - /// - /// The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the - /// featureInverted. - /// - [Property(xmiId: "_19_0_4_b9102da_1653567738671_359235_43", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_b9102da_1623178838861_768019_145")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IFeature.OwnedFeatureInverting")] - public List ownedFeatureInverting => this.ComputeOwnedFeatureInverting(); - - /// - /// The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. - /// Each such FeatureMembership identifies an ownedFeature of the Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_868417_43171", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_190614_43269")] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1651076866512_962346_485")] - [Implements(implementation: "IType.OwnedFeatureMembership")] - public List ownedFeatureMembership => this.ComputeOwnedFeatureMembership(); - - /// - /// The ownedRelationships of this Namespace that are Imports, for which the Namespace is the - /// importOwningNamespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674974_746786_43247", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "INamespace.OwnedImport")] - public List ownedImport => this.ComputeOwnedImport(); - - /// - /// The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. - /// - [Property(xmiId: "_19_0_4_b9102da_1623242552144_910757_524", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedIntersecting")] - public List ownedIntersecting => this.ComputeOwnedIntersecting(); - - /// - /// The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships - /// of the Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_259543_43268", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "INamespace.OwnedMember")] - public List ownedMember => this.ComputeOwnedMember(); - - /// - /// The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the - /// membershipOwningNamespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_190614_43269", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "INamespace.OwnedMembership")] - public List ownedMembership => this.ComputeOwnedMembership(); - - /// - /// The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the - /// redefiningFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_161813_43220", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedRedefinition")] - public List ownedRedefinition => this.ComputeOwnedRedefinition(); - - /// - /// The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the - /// Feature is the referencingFeature. - /// - [Property(xmiId: "_19_0_4_12e503d9_1661555161564_247405_255", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedReferenceSubsetting")] - public IReferenceSubsetting ownedReferenceSubsetting => this.ComputeOwnedReferenceSubsetting(); - - /// - /// The relatedElements of this Relationship that are owned by the Relationship. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_59873_43302", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.OwnedRelatedElement")] - public List OwnedRelatedElement { get; set; } = []; - - /// - /// The Relationships for which this Element is the owningRelatedElement. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_217766_16748", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwnedRelationship")] - public List OwnedRelationship { get; set; } = []; - - /// - /// The ownedRelationships of this Type that are Specializations, for which the Type is the specific - /// Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_579676_43168", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674984_558067_43292")] - [Implements(implementation: "IType.OwnedSpecialization")] - public List ownedSpecialization => this.ComputeOwnedSpecialization(); - - /// - /// The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the - /// subsettingFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_472382_43221", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_579676_43168")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674966_718145_43205")] - [Implements(implementation: "IFeature.OwnedSubsetting")] - public List ownedSubsetting => this.ComputeOwnedSubsetting(); - - /// - /// The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the - /// featureOfType. - /// - [Property(xmiId: "_19_0_4_12e503d9_1603905673975_310948_762", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1603904928950_196800_580")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IFeature.OwnedTypeFeaturing")] - public List ownedTypeFeaturing => this.ComputeOwnedTypeFeaturing(); - - /// - /// The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the - /// typedFeature. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596597427751_965862_42", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_579676_43168")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543180501615_804591_21100")] - [Implements(implementation: "IFeature.OwnedTyping")] - public List ownedTyping => this.ComputeOwnedTyping(); - - /// - /// The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. - /// - [Property(xmiId: "_19_0_4_b9102da_1661869978505_968809_460", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "IType.OwnedUnioning")] - public List ownedUnioning => this.ComputeOwnedUnioning(); - - /// - /// The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this - /// Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_744477_17277", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Owner")] - public IElement owner => this.ComputeOwner(); - - /// - /// The Definition that owns this Usage (if any). - /// - [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] - [Implements(implementation: "IUsage.OwningDefinition")] - public IDefinition owningDefinition => this.ComputeOwningDefinition(); - - /// - /// The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_68441_43223", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674972_622493_43236")] - [Implements(implementation: "IFeature.OwningFeatureMembership")] - public IFeatureMembership owningFeatureMembership => this.ComputeOwningFeatureMembership(); - - /// - /// The owningRelationship of this Element, if that Relationship is a Membership. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674972_622493_43236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674973_469277_43243")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_482273_43303")] - [Implements(implementation: "IElement.OwningMembership")] - public IOwningMembership owningMembership => this.ComputeOwningMembership(); - - /// - /// The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership - /// of this Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_474739_43306", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674980_717955_43271")] - [Implements(implementation: "IElement.OwningNamespace")] - public INamespace owningNamespace => this.ComputeOwningNamespace(); - - /// - /// The relatedElement of this Relationship that owns the Relationship, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_693018_16749", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.OwningRelatedElement")] - public IElement OwningRelatedElement { get; set; } - - /// - /// The Relationship for which this Element is an ownedRelatedElement, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_482273_43303", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwningRelationship")] - public IRelationship OwningRelationship { get; set; } - - /// - /// The Type that is the owningType of the owningFeatureMembership of this Feature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674965_592215_43200", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674987_297074_43308")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_474739_43306")] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1603905619975_304385_743")] - [Implements(implementation: "IFeature.OwningType")] - public IType owningType => this.ComputeOwningType(); - - /// - /// The Usage in which this Usage is nested (if any). - /// - [Property(xmiId: "_18_5_3_12e503d9_1565472757327_504924_21260", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [Implements(implementation: "IUsage.OwningUsage")] - public IUsage owningUsage => this.ComputeOwningUsage(); - - /// - /// The full ownership-qualified name of this Element, represented in a form that is valid according to - /// the KerML textual concrete syntax for qualified names (including use of unrestricted name notation - /// and escaped characters, as necessary). The qualifiedName is null if this Element has no - /// owningNamespace or if there is not a complete ownership chain of named Namespaces from a root - /// Namespace to this Element. If the owningNamespace has other Elements with the same name as this one, - /// then the qualifiedName is null for all such Elements other than the first. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611356604987_900871_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.QualifiedName")] - public string qualifiedName => this.ComputeQualifiedName(); - - /// - /// The Elements that are related by this Relationship, derived as the union of the source and target - /// Elements of the Relationship. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674961_132339_43177", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [RedefinedByProperty("IConnector.RelatedFeature")] - [Implements(implementation: "IRelationship.RelatedElement")] - List Root.Elements.IRelationship.relatedElement => [.. this.relatedFeature]; - - /// - /// The Features that are related by this Connector considered as a Relationship and that restrict the - /// links it identifies, given by the referenced Features of the connectorEnds of the Connector. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674968_916334_43210", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IConnector.RelatedFeature")] - public List relatedFeature => this.ComputeRelatedFeature(); - - /// - /// The short name to be used for this Element during name resolution within its owningNamespace. This - /// is derived using the effectiveShortName() operation. By default, it is the same as the - /// declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even - /// when the declaredName is null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1673496405504_544235_24", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ShortName")] - public string shortName => this.ComputeShortName(); - - /// - /// The relatedElements from which this Relationship is considered to be directed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674971_696758_43228", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [RedefinedByProperty("IConnector.SourceFeature")] - [Implements(implementation: "IRelationship.Source")] - List Root.Elements.IRelationship.Source - { - get => this.sourceFeature != null ? [this.sourceFeature] : []; - set { } - } - - /// - /// The source relatedFeature for this Connector. It is the first relatedFeature. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594953058873_558253_3897", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674968_916334_43210")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_696758_43228")] - [Implements(implementation: "IConnector.SourceFeature")] - public IFeature sourceFeature => this.ComputeSourceFeature(); - - /// - /// The relatedElements to which this Relationship is considered to be directed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674961_138197_43179", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [RedefinedByProperty("IConnector.TargetFeature")] - [Implements(implementation: "IRelationship.Target")] - List Root.Elements.IRelationship.Target - { - get => [.. this.targetFeature]; - set { } - } - - /// - /// The target relatedFeatures for this Connector. This includes all the relatedFeatures other than the - /// sourceFeature. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594953128207_991867_3946", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674968_916334_43210")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_138197_43179")] - [Implements(implementation: "IConnector.TargetFeature")] - public List targetFeature => this.ComputeTargetFeature(); - - /// - /// The TextualRepresentations that annotate this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594154758493_640290_3388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.TextualRepresentation")] - public List textualRepresentation => this.ComputeTextualRepresentation(); - - /// - /// Types that restrict the values of this Feature, such that the values must be instances of all the - /// types. The types of a Feature are derived from its typings and the types of its subsettings. If the - /// Feature is chained, then the types of the last Feature in the chain are also types of the chained - /// Feature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674969_376003_43216", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedByProperty("IUsage.Definition")] - [Implements(implementation: "IFeature.Type")] - List Core.Features.IFeature.type => [.. this.definition]; - - /// - /// The interpretations of a Type with unioningTypes are asserted to be the same as those of all the - /// unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of - /// this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. - /// Similarly, a feature for people's children might be the union of features dividing them in the - /// same ways as people in general. - /// - [Property(xmiId: "_19_0_4_b9102da_1661974896766_783268_1231", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.UnioningType")] - public List unioningType => this.ComputeUnioningType(); - - /// - /// The Usages that are features of this Usage (not necessarily owned). - /// - [Property(xmiId: "_19_0_2_12e503d9_1591217543254_26688_475", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IUsage.Usage")] - public List usage => this.ComputeUsage(); - - /// - /// The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = - /// true. If isVariation = false, then there must be no variants. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590979649160_380466_999", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IUsage.Variant")] - public List variant => this.ComputeVariant(); - - /// - /// The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this - /// must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590979136735_982171_914", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_190614_43269")] - [Implements(implementation: "IUsage.VariantMembership")] - public List variantMembership => this.ComputeVariantMembership(); - - } -} - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ diff --git a/SysML2.NET/Core/AutoGenPoco/ConstraintDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ConstraintDefinition.cs index 6330d922..0d000afd 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConstraintDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConstraintDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -126,7 +126,6 @@ public partial class ConstraintDefinition : IConstraintDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -269,9 +268,9 @@ public partial class ConstraintDefinition : IConstraintDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -279,11 +278,11 @@ public partial class ConstraintDefinition : IConstraintDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -673,7 +672,6 @@ public partial class ConstraintDefinition : IConstraintDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/ConstraintUsage.cs b/SysML2.NET/Core/AutoGenPoco/ConstraintUsage.cs index fde3ba6d..ca1111e7 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConstraintUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConstraintUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -183,7 +183,6 @@ public partial class ConstraintUsage : IConstraintUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -438,11 +437,11 @@ public partial class ConstraintUsage : IConstraintUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -480,9 +479,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -708,7 +707,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -992,7 +990,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/ConstructorExpression.cs b/SysML2.NET/Core/AutoGenPoco/ConstructorExpression.cs index 473da2ee..eddaccc2 100644 --- a/SysML2.NET/Core/AutoGenPoco/ConstructorExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/ConstructorExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -65,8 +65,8 @@ public partial class ConstructorExpression : IConstructorExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -377,11 +377,11 @@ public partial class ConstructorExpression : IConstructorExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/ControlNode.cs b/SysML2.NET/Core/AutoGenPoco/ControlNode.cs deleted file mode 100644 index 4d967784..00000000 --- a/SysML2.NET/Core/AutoGenPoco/ControlNode.cs +++ /dev/null @@ -1,1136 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// -// -// Copyright (C) 2022-2025 Starion Group S.A. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// ------------------------------------------------------------------------------------------------ - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ - -namespace SysML2.NET.Core.POCO.Systems.Actions -{ - using System; - using System.CodeDom.Compiler; - using System.Collections.Generic; - using System.Linq; - - using SysML2.NET.Core.Core.Types; - using SysML2.NET.Core.Systems.Occurrences; - using SysML2.NET.Core.POCO.Core.Classifiers; - using SysML2.NET.Core.POCO.Core.Features; - using SysML2.NET.Core.POCO.Core.Types; - using SysML2.NET.Core.POCO.Kernel.Behaviors; - using SysML2.NET.Core.POCO.Kernel.Classes; - using SysML2.NET.Core.POCO.Root.Annotations; - using SysML2.NET.Core.POCO.Root.Elements; - using SysML2.NET.Core.POCO.Root.Namespaces; - using SysML2.NET.Core.POCO.Systems.Allocations; - using SysML2.NET.Core.POCO.Systems.AnalysisCases; - using SysML2.NET.Core.POCO.Systems.Attributes; - using SysML2.NET.Core.POCO.Systems.Calculations; - using SysML2.NET.Core.POCO.Systems.Cases; - using SysML2.NET.Core.POCO.Systems.Connections; - using SysML2.NET.Core.POCO.Systems.Constraints; - using SysML2.NET.Core.POCO.Systems.DefinitionAndUsage; - using SysML2.NET.Core.POCO.Systems.Enumerations; - using SysML2.NET.Core.POCO.Systems.Flows; - using SysML2.NET.Core.POCO.Systems.Interfaces; - using SysML2.NET.Core.POCO.Systems.Items; - using SysML2.NET.Core.POCO.Systems.Metadata; - using SysML2.NET.Core.POCO.Systems.Occurrences; - using SysML2.NET.Core.POCO.Systems.Parts; - using SysML2.NET.Core.POCO.Systems.Ports; - using SysML2.NET.Core.POCO.Systems.Requirements; - using SysML2.NET.Core.POCO.Systems.States; - using SysML2.NET.Core.POCO.Systems.UseCases; - using SysML2.NET.Core.POCO.Systems.VerificationCases; - using SysML2.NET.Core.POCO.Systems.Views; - using SysML2.NET.Decorators; - - /// - /// A ControlNode is an ActionUsage that does not have any inherent behavior but provides constraints on - /// incoming and outgoing Successions that are used to control other Actions. A ControlNode must be a - /// composite owned usage of an ActionDefinition or ActionUsage. - /// - [Class(xmiId: "_19_0_2_12e503d9_1567281323333_776611_544", isAbstract: true, isFinalSpecialization: false, isActive: false)] - [GeneratedCode("SysML2.NET", "latest")] - public partial class ControlNode : IControlNode - { - /// - /// Gets or sets the unique identifier - /// - [Property(xmiId: "sysml2.net", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IData.Id")] - public Guid Id { get; set; } - - /// - /// The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, - /// but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel - /// Model Libraries. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [Implements(implementation: "IActionUsage.ActionDefinition")] - public List actionDefinition => this.ComputeActionDefinition(); - - /// - /// Various alternative identifiers for this Element. Generally, these will be set by tools. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594312532679_496267_4310", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.AliasIds")] - public List AliasIds { get; set; } = []; - - /// - /// The Behaviors that type this Step. - /// - [Property(xmiId: "_18_5_3_b9102da_1536346315176_954314_17388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] - [Implements(implementation: "IStep.Behavior")] - List Kernel.Behaviors.IStep.behavior => [.. this.actionDefinition]; - - /// - /// The Feature that are chained together to determine the values of this Feature, derived from the - /// chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a - /// Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be - /// found by starting with the values of the first Feature (for each instance of the domain of the - /// original Feature), then using each of those as domain instances to find the values of the second - /// Feature in chainingFeatures, and so on, to values of the last Feature. - /// - [Property(xmiId: "_19_0_4_b9102da_1619792219511_543311_445", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [Implements(implementation: "IFeature.ChainingFeature")] - public List chainingFeature => this.ComputeChainingFeature(); - - /// - /// The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it - /// has one. Semantically, the values of the crossFeature of an end Feature must include all values of - /// the end Feature obtained when navigating from values of the other end Features of the same - /// owningType. - /// - [Property(xmiId: "_19_0_4_b9102da_1689616227528_355910_218", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.CrossFeature")] - public IFeature crossFeature => this.ComputeCrossFeature(); - - /// - /// The declared name of this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674987_737648_43307", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredName")] - public string DeclaredName { get; set; } - - /// - /// An optional alternative name for the Element that is intended to be shorter or in some way more - /// succinct than its primary name. It may act as a modeler-specified identifier for the Element, though - /// it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a - /// model or relative to some other context. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594160442439_915308_4153", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredShortName")] - public string DeclaredShortName { get; set; } - - /// - /// The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds - /// of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model - /// Libraries. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591477641252_179221_958", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] - [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] - [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; - - /// - /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those - /// Types, but not including those of the remaining Types. For example, a Classifier might be the - /// difference of a Classifier for people and another for people of a particular nationality, leaving - /// people who are not of that nationality. Similarly, a feature of people might be the difference - /// between a feature for their children and a Classifier for people of a particular sex, identifying - /// their children not of that sex (because the interpretations of the children Feature that identify - /// those of that sex are also interpretations of the Classifier for that sex). - /// - [Property(xmiId: "_19_0_4_b9102da_1661975883472_645501_1372", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.DifferencingType")] - public List differencingType => this.ComputeDifferencingType(); - - /// - /// The features of this Type that have a non-null direction. - /// - [Property(xmiId: "_19_0_4_12e503d9_1623952188842_882068_37169", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [RedefinedByProperty("IStep.Parameter")] - [Implements(implementation: "IType.DirectedFeature")] - List Core.Types.IType.directedFeature => [.. this.parameter]; - - /// - /// The usages of this Usage that are directedFeatures. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] - [Implements(implementation: "IUsage.DirectedUsage")] - public List directedUsage => this.ComputeDirectedUsage(); - - /// - /// Indicates how values of this Feature are determined or used (as specified for the - /// FeatureDirectionKind). - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674994_447677_43347", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.Direction")] - public FeatureDirectionKind? Direction { get; set; } - - /// - /// The Documentation owned by this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594150061166_345630_1621", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.Documentation")] - public List documentation => this.ComputeDocumentation(); - - /// - /// The globally unique identifier for this Element. This is intended to be set by tooling, and it must - /// not change during the lifetime of the Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_844338_43305", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ElementId")] - public string ElementId { get; set; } - - /// - /// All features of this Type with isEnd = true. - /// - [Property(xmiId: "_18_5_3_12e503d9_1562476168385_824569_22106", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IType.EndFeature")] - public List endFeature => this.ComputeEndFeature(); - - /// - /// The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an - /// ownedMemberFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1563834516279_920295_20653", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1562476168386_366266_22107")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [Implements(implementation: "IFeature.EndOwningType")] - public IType endOwningType => this.ComputeEndOwningType(); - - /// - /// The ownedMemberFeatures of the featureMemberships of this Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_326391_43166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "IType.Feature")] - public List feature => this.ComputeFeature(); - - /// - /// The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and - /// those inheritedMemberships that are FeatureMemberships (but does not include any - /// importedMemberships). - /// - [Property(xmiId: "_19_0_4_12e503d9_1651076866512_962346_485", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.FeatureMembership")] - public List featureMembership => this.ComputeFeatureMembership(); - - /// - /// The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. - /// - [Property(xmiId: "_2022x_2_12e503d9_1715790852907_110671_19", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.FeatureTarget")] - public IFeature featureTarget => this.ComputeFeatureTarget(); - - /// - /// Types that feature this Feature, such that any instance in the domain of the Feature must be - /// classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. - /// If the Feature is chained, then the featuringTypes of the first Feature in the chain are also - /// featuringTypes of the chained Feature. - /// - [Property(xmiId: "_19_0_4_12e503d9_1603905619975_304385_743", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.FeaturingType")] - public List featuringType => this.ComputeFeaturingType(); - - /// - /// The Memberships in this Namespace that result from the ownedImports of this Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_207869_43270", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [Implements(implementation: "INamespace.ImportedMembership")] - public List importedMembership => this.ComputeImportedMembership(); - - /// - /// The at most one occurrenceDefinition that has isIndividual = true. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618958878775_52798_7090", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [Implements(implementation: "IOccurrenceUsage.IndividualDefinition")] - public IOccurrenceDefinition individualDefinition => this.ComputeIndividualDefinition(); - - /// - /// All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575499020770_15576_2334", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IType.InheritedFeature")] - public List inheritedFeature => this.ComputeInheritedFeature(); - - /// - /// All Memberships inherited by this Type via Specialization or Conjugation. These are included in the - /// derived union for the memberships of the Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1551972927538_787976_19004", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [Implements(implementation: "IType.InheritedMembership")] - public List inheritedMembership => this.ComputeInheritedMembership(); - - /// - /// All features related to this Type by FeatureMemberships that have direction in or inout. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_37384_43169", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IType.Input")] - public List input => this.ComputeInput(); - - /// - /// The interpretations of a Type with intersectingTypes are asserted to be those in common among the - /// intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings - /// of this Type. For example, a Classifier might be an intersection of Classifiers for people of a - /// particular sex and of a particular nationality. Similarly, a feature for people's children of a - /// particular sex might be the intersection of a Feature for their children and a Classifier for people - /// of that sex (because the interpretations of the children Feature that identify those of that sex are - /// also interpretations of the Classifier for that sex). - /// - [Property(xmiId: "_19_0_4_b9102da_1661973922199_584242_1045", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.IntersectingType")] - public List intersectingType => this.ComputeIntersectingType(); - - /// - /// Indicates whether instances of this Type must also be instances of at least one of its specialized - /// Types. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_741353_43165", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IType.IsAbstract")] - public bool IsAbstract { get; set; } - - /// - /// Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature - /// cannot exist after its featuring instance no longer does and cannot be values of another composite - /// feature that is not on the same featuring instance. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_331870_43224", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsComposite")] - public bool IsComposite { get; set; } - - /// - /// Indicates whether this Type has an ownedConjugator. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575485930816_796088_1933", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.IsConjugated")] - public bool isConjugated => this.ComputeIsConjugated(); - - /// - /// If isVariable is true, then whether the value of this Feature nevertheless does not change over all - /// snapshots of its owningType. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674993_300560_43342", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsConstant")] - public bool IsConstant { get; set; } - - /// - /// Whether the values of this Feature can always be computed from the values of other Features. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674992_500504_43341", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsDerived")] - public bool IsDerived { get; set; } - - /// - /// Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping - /// each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in - /// which case values of the crossFeature must be the same as those found by navigation across instances - /// of the owningType from values of other end Features to values of this Feature. If the owningType has - /// n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any - /// one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of - /// values of that Feature reached by navigation when the values of the other n-1 end Features are held - /// fixed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1562475749426_705395_21984", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsEnd")] - public bool IsEnd { get; set; } - - /// - /// Whether all necessary implied Relationships have been included in the ownedRelationships of this - /// Element. This property may be true, even if there are not actually any ownedRelationships with - /// isImplied = true, meaning that no such Relationships are actually implied for this Element. However, - /// if it is false, then ownedRelationships may not contain any implied Relationships. That is, either - /// all required implied Relationships must be included, or none of them. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070949317_79713_3658", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IElement.IsImpliedIncluded")] - public bool IsImpliedIncluded { get; set; } - - /// - /// Whether this OccurrenceUsage represents the usage of the specific individual represented by its - /// individualDefinition. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618959865886_548379_7149", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IOccurrenceUsage.IsIndividual")] - public bool IsIndividual { get; set; } - - /// - /// Whether this Element is contained in the ownership tree of a library model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1665443500960_5561_723", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.IsLibraryElement")] - public bool isLibraryElement => this.ComputeIsLibraryElement(); - - /// - /// Whether an order exists for the values of this Feature or not. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674969_728225_43215", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsOrdered")] - public bool IsOrdered { get; set; } - - /// - /// Whether the values of this Feature are contained in the space and time of instances of the domain of - /// the Feature and represent the same thing as those instances. - /// - [Property(xmiId: "_18_5_3_b9102da_1559231981638_234817_22063", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsPortion")] - public bool IsPortion { get; set; } - - /// - /// Whether this Usage is a referential Usage, that is, it has isComposite = false. - /// - [Property(xmiId: "_19_0_4_12e503d9_1624035114787_488767_41423", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IUsage.IsReference")] - public bool isReference => this.ComputeIsReference(); - - /// - /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) - /// - [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IType.IsSufficient")] - public bool IsSufficient { get; set; } - - /// - /// Whether or not values for this Feature must have no duplicates or not. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674968_321342_43214", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "true")] - [Implements(implementation: "IFeature.IsUnique")] - public bool IsUnique { get; set; } = true; - - /// - /// Whether the value of this Feature might vary over time. That is, whether the Feature may have a - /// different value for each snapshot of an owningType that is an Occurrence. - /// - [Property(xmiId: "_2022x_2_12e503d9_1725998273002_23711_212", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [RedefinedByProperty("IUsage.MayTimeVary")] - [Implements(implementation: "IFeature.IsVariable")] - bool Core.Features.IFeature.IsVariable - { - get => this.mayTimeVary; - set { } - } - - /// - /// Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage - /// must be VariantMemberships. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590978312364_290951_421", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IUsage.IsVariation")] - public bool IsVariation { get; set; } - - /// - /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its - /// owningType, rather than being featured by the owningType itself). However, if isConstant is also - /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. - /// - [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] - [Implements(implementation: "IUsage.MayTimeVary")] - public bool mayTimeVary => this.ComputeMayTimeVary(); - - /// - /// The set of all member Elements of this Namespace, which are the memberElements of all memberships of - /// the Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_644335_43267", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "INamespace.Member")] - public List member => this.ComputeMember(); - - /// - /// All Memberships in this Namespace, including (at least) the union of ownedMemberships and - /// importedMemberships. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674962_198288_43183", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: true, isUnique: true, defaultValue: null)] - [Implements(implementation: "INamespace.Membership")] - public List membership => this.ComputeMembership(); - - /// - /// An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. - /// If there is no such ownedMember, then the cardinality of this Type is constrained by all the - /// Multiplicity constraints applicable to any direct supertypes. - /// - [Property(xmiId: "_19_0_2_12e503d9_1573095852093_324833_5396", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IType.Multiplicity")] - public IMultiplicity multiplicity => this.ComputeMultiplicity(); - - /// - /// The name to be used for this Element during name resolution within its owningNamespace. This is - /// derived using the effectiveName() operation. By default, it is the same as the declaredName, but - /// this is overridden for certain kinds of Elements to compute a name even when the declaredName is - /// null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617485009541_709355_27528", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Name")] - public string name => this.ComputeName(); - - /// - /// The ActionUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565501745142_70952_31609", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedAction")] - public List nestedAction => this.ComputeNestedAction(); - - /// - /// The AllocationUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611430983774_648557_1053", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedAllocation")] - public List nestedAllocation => this.ComputeNestedAllocation(); - - /// - /// The AnalysisCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591152666850_226358_3749", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedAnalysisCase")] - public List nestedAnalysisCase => this.ComputeNestedAnalysisCase(); - - /// - /// The code>AttributeUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591500785349_111324_4486", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedAttribute")] - public List nestedAttribute => this.ComputeNestedAttribute(); - - /// - /// The CalculationUsage that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1588215112283_215964_632", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565501745142_70952_31609")] - [Implements(implementation: "IUsage.NestedCalculation")] - public List nestedCalculation => this.ComputeNestedCalculation(); - - /// - /// The CaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591135021853_494751_737", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1588215112283_215964_632")] - [Implements(implementation: "IUsage.NestedCase")] - public List nestedCase => this.ComputeNestedCase(); - - /// - /// The ConcernUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617051711833_106553_1460", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1583000447195_878123_1244")] - [Implements(implementation: "IUsage.NestedConcern")] - public List nestedConcern => this.ComputeNestedConcern(); - - /// - /// The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes - /// BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are - /// ConnectorAsUsages even though they are not ConnectionUsages. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591479754895_422988_1242", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedConnection")] - public List nestedConnection => this.ComputeNestedConnection(); - - /// - /// The ConstraintUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1578067664051_434365_1774", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedConstraint")] - public List nestedConstraint => this.ComputeNestedConstraint(); - - /// - /// The code>EnumerationUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1606946589000_158124_239", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591500785349_111324_4486")] - [Implements(implementation: "IUsage.NestedEnumeration")] - public List nestedEnumeration => this.ComputeNestedEnumeration(); - - /// - /// The code>FlowUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1624054938718_124518_1464", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedFlow")] - public List nestedFlow => this.ComputeNestedFlow(); - - /// - /// The InterfaceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591498454569_383419_3839", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedInterface")] - public List nestedInterface => this.ComputeNestedInterface(); - - /// - /// The ItemUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591482421103_284620_2978", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedItem")] - public List nestedItem => this.ComputeNestedItem(); - - /// - /// The MetadataUsages that are nestedUsages of this of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1661488589862_120785_2970", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591482421103_284620_2978")] - [Implements(implementation: "IUsage.NestedMetadata")] - public List nestedMetadata => this.ComputeNestedMetadata(); - - /// - /// The OccurrenceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618943853976_48759_278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedOccurrence")] - public List nestedOccurrence => this.ComputeNestedOccurrence(); - - /// - /// The PartUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591496406876_479979_3188", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591482421103_284620_2978")] - [Implements(implementation: "IUsage.NestedPart")] - public List nestedPart => this.ComputeNestedPart(); - - /// - /// The PortUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565494459494_859367_26042", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedPort")] - public List nestedPort => this.ComputeNestedPort(); - - /// - /// The ReferenceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591477541360_47573_933", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedReference")] - public List nestedReference => this.ComputeNestedReference(); - - /// - /// The RenderingUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596741501454_147708_6545", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591496406876_479979_3188")] - [Implements(implementation: "IUsage.NestedRendering")] - public List nestedRendering => this.ComputeNestedRendering(); - - /// - /// The RequirementUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1583000447195_878123_1244", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1578067664051_434365_1774")] - [Implements(implementation: "IUsage.NestedRequirement")] - public List nestedRequirement => this.ComputeNestedRequirement(); - - /// - /// The StateUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575587743891_973819_756", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565501745142_70952_31609")] - [Implements(implementation: "IUsage.NestedState")] - public List nestedState => this.ComputeNestedState(); - - /// - /// The TransitionUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1578597913303_768272_3894", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedTransition")] - public List nestedTransition => this.ComputeNestedTransition(); - - /// - /// The Usages that are ownedFeatures of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] - [Implements(implementation: "IUsage.NestedUsage")] - public List nestedUsage => this.ComputeNestedUsage(); - - /// - /// The UseCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1621463992900_247262_1080", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedUseCase")] - public List nestedUseCase => this.ComputeNestedUseCase(); - - /// - /// The VerificationCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596821592100_42801_10499", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedVerificationCase")] - public List nestedVerificationCase => this.ComputeNestedVerificationCase(); - - /// - /// The ViewUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596644669126_858176_809", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591496406876_479979_3188")] - [Implements(implementation: "IUsage.NestedView")] - public List nestedView => this.ComputeNestedView(); - - /// - /// The ViewpointUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596649930212_443356_3818", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1583000447195_878123_1244")] - [Implements(implementation: "IUsage.NestedViewpoint")] - public List nestedViewpoint => this.ComputeNestedViewpoint(); - - /// - /// The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, - /// but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model - /// Libraries. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] - [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; - - /// - /// All features related to this Type by FeatureMemberships that have direction out or inout. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_365618_43170", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IType.Output")] - public List output => this.ComputeOutput(); - - /// - /// The ownedRelationships of this Element that are Annotations, for which this Element is the - /// annotatedElement. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594152527165_702130_2500", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543094430277_599480_18543")] - [Implements(implementation: "IElement.OwnedAnnotation")] - public List ownedAnnotation => this.ComputeOwnedAnnotation(); - - /// - /// A Conjugation owned by this Type for which the Type is the originalType. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575482646809_280165_440", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1575482490144_309557_300")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedConjugator")] - public IConjugation ownedConjugator => this.ComputeOwnedConjugator(); - - /// - /// The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature - /// is the crossingFeature. - /// - [Property(xmiId: "_19_0_4_b9102da_1689616916594_145818_277", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedCrossSubsetting")] - public ICrossSubsetting ownedCrossSubsetting => this.ComputeOwnedCrossSubsetting(); - - /// - /// The ownedRelationships of this Type that are Differencings, having this Type as their - /// typeDifferenced. - /// - [Property(xmiId: "_19_0_4_b9102da_1661871168454_98082_797", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedDifferencing")] - public List ownedDifferencing => this.ComputeOwnedDifferencing(); - - /// - /// The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined - /// Type. - /// - [Property(xmiId: "_19_0_4_12e503d9_1627447519613_145554_370", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_19_0_4_b9102da_1623183194914_502526_616")] - [Implements(implementation: "IType.OwnedDisjoining")] - public List ownedDisjoining => this.ComputeOwnedDisjoining(); - - /// - /// The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of - /// this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_112608_17278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.OwnedElement")] - public List ownedElement => this.ComputeOwnedElement(); - - /// - /// All endFeatures of this Type that are ownedFeatures. - /// - [Property(xmiId: "_18_5_3_12e503d9_1563834516278_687758_20652", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1562476168385_824569_22106")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [Implements(implementation: "IType.OwnedEndFeature")] - public List ownedEndFeature => this.ComputeOwnedEndFeature(); - - /// - /// The ownedMemberFeatures of the ownedFeatureMemberships of this Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_226999_43167", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IType.OwnedFeature")] - public List ownedFeature => this.ComputeOwnedFeature(); - - /// - /// The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the - /// featureChained. - /// - [Property(xmiId: "_19_0_4_b9102da_1622125589880_791465_72", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "IFeature.OwnedFeatureChaining")] - public List ownedFeatureChaining => this.ComputeOwnedFeatureChaining(); - - /// - /// The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the - /// featureInverted. - /// - [Property(xmiId: "_19_0_4_b9102da_1653567738671_359235_43", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_b9102da_1623178838861_768019_145")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IFeature.OwnedFeatureInverting")] - public List ownedFeatureInverting => this.ComputeOwnedFeatureInverting(); - - /// - /// The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. - /// Each such FeatureMembership identifies an ownedFeature of the Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_868417_43171", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_190614_43269")] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1651076866512_962346_485")] - [Implements(implementation: "IType.OwnedFeatureMembership")] - public List ownedFeatureMembership => this.ComputeOwnedFeatureMembership(); - - /// - /// The ownedRelationships of this Namespace that are Imports, for which the Namespace is the - /// importOwningNamespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674974_746786_43247", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "INamespace.OwnedImport")] - public List ownedImport => this.ComputeOwnedImport(); - - /// - /// The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. - /// - [Property(xmiId: "_19_0_4_b9102da_1623242552144_910757_524", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedIntersecting")] - public List ownedIntersecting => this.ComputeOwnedIntersecting(); - - /// - /// The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships - /// of the Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_259543_43268", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "INamespace.OwnedMember")] - public List ownedMember => this.ComputeOwnedMember(); - - /// - /// The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the - /// membershipOwningNamespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_190614_43269", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "INamespace.OwnedMembership")] - public List ownedMembership => this.ComputeOwnedMembership(); - - /// - /// The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the - /// redefiningFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_161813_43220", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedRedefinition")] - public List ownedRedefinition => this.ComputeOwnedRedefinition(); - - /// - /// The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the - /// Feature is the referencingFeature. - /// - [Property(xmiId: "_19_0_4_12e503d9_1661555161564_247405_255", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedReferenceSubsetting")] - public IReferenceSubsetting ownedReferenceSubsetting => this.ComputeOwnedReferenceSubsetting(); - - /// - /// The Relationships for which this Element is the owningRelatedElement. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_217766_16748", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwnedRelationship")] - public List OwnedRelationship { get; set; } = []; - - /// - /// The ownedRelationships of this Type that are Specializations, for which the Type is the specific - /// Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_579676_43168", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674984_558067_43292")] - [Implements(implementation: "IType.OwnedSpecialization")] - public List ownedSpecialization => this.ComputeOwnedSpecialization(); - - /// - /// The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the - /// subsettingFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_472382_43221", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_579676_43168")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674966_718145_43205")] - [Implements(implementation: "IFeature.OwnedSubsetting")] - public List ownedSubsetting => this.ComputeOwnedSubsetting(); - - /// - /// The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the - /// featureOfType. - /// - [Property(xmiId: "_19_0_4_12e503d9_1603905673975_310948_762", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1603904928950_196800_580")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IFeature.OwnedTypeFeaturing")] - public List ownedTypeFeaturing => this.ComputeOwnedTypeFeaturing(); - - /// - /// The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the - /// typedFeature. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596597427751_965862_42", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_579676_43168")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543180501615_804591_21100")] - [Implements(implementation: "IFeature.OwnedTyping")] - public List ownedTyping => this.ComputeOwnedTyping(); - - /// - /// The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. - /// - [Property(xmiId: "_19_0_4_b9102da_1661869978505_968809_460", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "IType.OwnedUnioning")] - public List ownedUnioning => this.ComputeOwnedUnioning(); - - /// - /// The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this - /// Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_744477_17277", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Owner")] - public IElement owner => this.ComputeOwner(); - - /// - /// The Definition that owns this Usage (if any). - /// - [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] - [Implements(implementation: "IUsage.OwningDefinition")] - public IDefinition owningDefinition => this.ComputeOwningDefinition(); - - /// - /// The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_68441_43223", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674972_622493_43236")] - [Implements(implementation: "IFeature.OwningFeatureMembership")] - public IFeatureMembership owningFeatureMembership => this.ComputeOwningFeatureMembership(); - - /// - /// The owningRelationship of this Element, if that Relationship is a Membership. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674972_622493_43236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674973_469277_43243")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_482273_43303")] - [Implements(implementation: "IElement.OwningMembership")] - public IOwningMembership owningMembership => this.ComputeOwningMembership(); - - /// - /// The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership - /// of this Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_474739_43306", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674980_717955_43271")] - [Implements(implementation: "IElement.OwningNamespace")] - public INamespace owningNamespace => this.ComputeOwningNamespace(); - - /// - /// The Relationship for which this Element is an ownedRelatedElement, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_482273_43303", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwningRelationship")] - public IRelationship OwningRelationship { get; set; } - - /// - /// The Type that is the owningType of the owningFeatureMembership of this Feature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674965_592215_43200", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674987_297074_43308")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_474739_43306")] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1603905619975_304385_743")] - [Implements(implementation: "IFeature.OwningType")] - public IType owningType => this.ComputeOwningType(); - - /// - /// The Usage in which this Usage is nested (if any). - /// - [Property(xmiId: "_18_5_3_12e503d9_1565472757327_504924_21260", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [Implements(implementation: "IUsage.OwningUsage")] - public IUsage owningUsage => this.ComputeOwningUsage(); - - /// - /// The parameters of this Step, which are defined as its directedFeatures, whose values are passed into - /// and/or out of a performance of the Step. - /// - [Property(xmiId: "_19_0_2_12e503d9_1595189174990_213826_657", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IStep.Parameter")] - public List parameter => this.ComputeParameter(); - - /// - /// The kind of temporal portion (time slice or snapshot) is represented by this OccurrenceUsage. If - /// portionKind is not null, then the owningType of the OccurrenceUsage must be non-null, and the - /// OccurrenceUsage represents portions of the featuring instance of the owningType. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618959362712_182798_7138", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IOccurrenceUsage.PortionKind")] - public PortionKind? PortionKind { get; set; } - - /// - /// The full ownership-qualified name of this Element, represented in a form that is valid according to - /// the KerML textual concrete syntax for qualified names (including use of unrestricted name notation - /// and escaped characters, as necessary). The qualifiedName is null if this Element has no - /// owningNamespace or if there is not a complete ownership chain of named Namespaces from a root - /// Namespace to this Element. If the owningNamespace has other Elements with the same name as this one, - /// then the qualifiedName is null for all such Elements other than the first. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611356604987_900871_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.QualifiedName")] - public string qualifiedName => this.ComputeQualifiedName(); - - /// - /// The short name to be used for this Element during name resolution within its owningNamespace. This - /// is derived using the effectiveShortName() operation. By default, it is the same as the - /// declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even - /// when the declaredName is null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1673496405504_544235_24", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ShortName")] - public string shortName => this.ComputeShortName(); - - /// - /// The TextualRepresentations that annotate this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594154758493_640290_3388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.TextualRepresentation")] - public List textualRepresentation => this.ComputeTextualRepresentation(); - - /// - /// Types that restrict the values of this Feature, such that the values must be instances of all the - /// types. The types of a Feature are derived from its typings and the types of its subsettings. If the - /// Feature is chained, then the types of the last Feature in the chain are also types of the chained - /// Feature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674969_376003_43216", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedByProperty("IUsage.Definition")] - [Implements(implementation: "IFeature.Type")] - List Core.Features.IFeature.type => [.. ((SysML2.NET.Core.POCO.Systems.DefinitionAndUsage.IUsage)this).definition]; - - /// - /// The interpretations of a Type with unioningTypes are asserted to be the same as those of all the - /// unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of - /// this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. - /// Similarly, a feature for people's children might be the union of features dividing them in the - /// same ways as people in general. - /// - [Property(xmiId: "_19_0_4_b9102da_1661974896766_783268_1231", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.UnioningType")] - public List unioningType => this.ComputeUnioningType(); - - /// - /// The Usages that are features of this Usage (not necessarily owned). - /// - [Property(xmiId: "_19_0_2_12e503d9_1591217543254_26688_475", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IUsage.Usage")] - public List usage => this.ComputeUsage(); - - /// - /// The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = - /// true. If isVariation = false, then there must be no variants. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590979649160_380466_999", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IUsage.Variant")] - public List variant => this.ComputeVariant(); - - /// - /// The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this - /// must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590979136735_982171_914", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_190614_43269")] - [Implements(implementation: "IUsage.VariantMembership")] - public List variantMembership => this.ComputeVariantMembership(); - - } -} - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ diff --git a/SysML2.NET/Core/AutoGenPoco/CrossSubsetting.cs b/SysML2.NET/Core/AutoGenPoco/CrossSubsetting.cs index 63584f21..8050aace 100644 --- a/SysML2.NET/Core/AutoGenPoco/CrossSubsetting.cs +++ b/SysML2.NET/Core/AutoGenPoco/CrossSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,17 +39,18 @@ namespace SysML2.NET.Core.POCO.Core.Features /// CrossSubsetting is a kind of Subsetting for end Features, as identified by crossingFeature, to /// subset a chained Feature, identified by crossedFeature. It navigates to instances of the end /// Feature’s type from instances of other end Feature types on the same owningType (at least two end - /// Features are required for any of them to have a CrossSubsetting).The crossedFeature of a - /// CrossSubsetting must have a feature chain of exactly two Features. The second Feature in the chain - /// is the crossFeature of the crossingFeature (end Feature), which has the same type as the - /// crossingFeature. When the owningType of the crossingFeature has exactly two end Features, the first - /// Feature in the chain of the crossedFeature is the other end Feature. The crossFeature’s - /// featuringType in this case is the other end Feature. When the owningType has more than two end - /// Features, the first Feature in the chain is a Feature that CrossMultiplies all the other end - /// Features, which is also the featuringType of the crossFeature.A crossFeature must be owned by its - /// featureCrossing (end Feature) when the featureCrossing owningType has more than two end Features. - /// Otherwise, for exactly two end Features, the crossFeatures of each the ends can instead optionally - /// be inherited by the other end from one of its types or a subsetted Feature. + /// Features are required for any of them to have a CrossSubsetting). The + /// crossedFeature of a CrossSubsetting must have a feature chain of exactly two Features. The second + /// Feature in the chain is the crossFeature of the crossingFeature (end Feature), which has the same + /// type as the crossingFeature. When the owningType of the crossingFeature has exactly two end + /// Features, the first Feature in the chain of the crossedFeature is the other end Feature. The + /// crossFeature’s featuringType in this case is the other end Feature. When the owningType has more + /// than two end Features, the first Feature in the chain is a Feature that CrossMultiplies all the + /// other end Features, which is also the featuringType of the crossFeature. A + /// crossFeature must be owned by its featureCrossing (end Feature) when the featureCrossing owningType + /// has more than two end Features. Otherwise, for exactly two end Features, the crossFeatures of each + /// the ends can instead optionally be inherited by the other end from one of its types or a subsetted + /// Feature. /// [Class(xmiId: "_19_0_4_b9102da_1689616180239_998062_127", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/DataType.cs b/SysML2.NET/Core/AutoGenPoco/DataType.cs index c1085589..8a743d77 100644 --- a/SysML2.NET/Core/AutoGenPoco/DataType.cs +++ b/SysML2.NET/Core/AutoGenPoco/DataType.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,10 +40,11 @@ namespace SysML2.NET.Core.POCO.Kernel.DataTypes /// /// A DataType is a Classifier of things (in the universe) that can only be distinguished by how they /// are related to other things (via Features). This means multiple things classified by the same - /// DataType
  • Cannot be distinguished when they are related to other things in exactly the same - /// way, even when they are intended to be about different things.
  • Can be distinguished when - /// they are related to other things in different ways, even when they are intended to be about the same - /// thing.
+ /// DataType
  • Cannot be distinguished when they + /// are related to other things in exactly the same way, even when they are intended to be about + /// different things.
  • Can be distinguished when they are related to + /// other things in different ways, even when they are intended to be about the same thing.
  • + ///
///
[Class(xmiId: "_18_5_3_12e503d9_1557527599533_240072_110321", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -224,11 +225,11 @@ public partial class DataType : IDataType /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/DecisionNode.cs b/SysML2.NET/Core/AutoGenPoco/DecisionNode.cs index 385a26bf..1e2bd9c1 100644 --- a/SysML2.NET/Core/AutoGenPoco/DecisionNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/DecisionNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -83,7 +83,6 @@ public partial class DecisionNode : IDecisionNode /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -151,7 +150,7 @@ public partial class DecisionNode : IDecisionNode [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -180,7 +179,6 @@ public partial class DecisionNode : IDecisionNode /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -418,11 +416,11 @@ public partial class DecisionNode : IDecisionNode /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -460,9 +458,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -688,7 +686,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -731,9 +728,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -973,7 +969,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Definition.cs b/SysML2.NET/Core/AutoGenPoco/Definition.cs index 380836cb..3d0761c7 100644 --- a/SysML2.NET/Core/AutoGenPoco/Definition.cs +++ b/SysML2.NET/Core/AutoGenPoco/Definition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -60,15 +60,15 @@ namespace SysML2.NET.Core.POCO.Systems.DefinitionAndUsage /// /// A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model - /// are given by the subclasses of Definition (possibly as extended with user-defined - /// SemanticMetadata).Normally, a Definition has owned Usages that model features of the thing being - /// defined. A Definition may also have other Definitions nested in it, but this has no semantic + /// are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata). + /// Normally, a Definition has owned Usages that model features of the thing + /// being defined. A Definition may also have other Definitions nested in it, but this has no semantic /// significance, other than the nested scoping resulting from the Definition being considered as a - /// Namespace for any nested Definitions.However, if a Definition has isVariation = true, then it - /// represents a variation point Definition. In this case, all of its members must be variant Usages, - /// related to the Definition by VariantMembership Relationships. Rather than being features of the - /// Definition, variant Usages model different concrete alternatives that can be chosen to fill in for - /// an abstract Usage of the variation point Definition. + /// Namespace for any nested Definitions. However, if a Definition has + /// isVariation = true, then it represents a variation point Definition. In this case, all of its + /// members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather + /// than being features of the Definition, variant Usages model different concrete alternatives that can + /// be chosen to fill in for an abstract Usage of the variation point Definition. /// [Class(xmiId: "_18_5_3_12e503d9_1565479032244_336549_22524", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -131,7 +131,6 @@ public partial class Definition : IDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -258,11 +257,11 @@ public partial class Definition : IDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -652,7 +651,6 @@ public partial class Definition : IDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/Dependency.cs b/SysML2.NET/Core/AutoGenPoco/Dependency.cs index 6bd8c27b..d16a6ddd 100644 --- a/SysML2.NET/Core/AutoGenPoco/Dependency.cs +++ b/SysML2.NET/Core/AutoGenPoco/Dependency.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,8 +37,9 @@ namespace SysML2.NET.Core.POCO.Root.Dependencies /// /// A Dependency is a Relationship that indicates that one or more client Elements require one more /// supplier Elements for their complete specification. In general, this means that a change to one of - /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note - /// that a Dependency is entirely a model-level Relationship, without instance-level semantics. + /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements. + /// Note that a Dependency is entirely a model-level Relationship, without + /// instance-level semantics. /// [Class(xmiId: "_19_0_2_12e503d9_1594006219028_628649_74", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/Differencing.cs b/SysML2.NET/Core/AutoGenPoco/Differencing.cs index 4d560dd4..95b42a8a 100644 --- a/SysML2.NET/Core/AutoGenPoco/Differencing.cs +++ b/SysML2.NET/Core/AutoGenPoco/Differencing.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Disjoining.cs b/SysML2.NET/Core/AutoGenPoco/Disjoining.cs index 8491af50..c077b5ef 100644 --- a/SysML2.NET/Core/AutoGenPoco/Disjoining.cs +++ b/SysML2.NET/Core/AutoGenPoco/Disjoining.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Documentation.cs b/SysML2.NET/Core/AutoGenPoco/Documentation.cs index 19b70f6a..11144d83 100644 --- a/SysML2.NET/Core/AutoGenPoco/Documentation.cs +++ b/SysML2.NET/Core/AutoGenPoco/Documentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Element.cs b/SysML2.NET/Core/AutoGenPoco/Element.cs deleted file mode 100644 index 57bd2368..00000000 --- a/SysML2.NET/Core/AutoGenPoco/Element.cs +++ /dev/null @@ -1,218 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// -// -// Copyright (C) 2022-2025 Starion Group S.A. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// ------------------------------------------------------------------------------------------------ - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ - -namespace SysML2.NET.Core.POCO.Root.Elements -{ - using System; - using System.CodeDom.Compiler; - using System.Collections.Generic; - using System.Linq; - - using SysML2.NET.Core.POCO.Root.Annotations; - using SysML2.NET.Core.POCO.Root.Namespaces; - using SysML2.NET.Decorators; - - /// - /// An Element is a constituent of a model that is uniquely identified relative to all other Elements. - /// It can have Relationships with other Elements. Some of these Relationships might imply ownership of - /// other Elements, which means that if an Element is deleted from a model, then so are all the Elements - /// that it owns. - /// - [Class(xmiId: "_18_5_3_12e503d9_1533160651703_306405_42199", isAbstract: true, isFinalSpecialization: false, isActive: false)] - [GeneratedCode("SysML2.NET", "latest")] - public partial class Element : IElement - { - /// - /// Gets or sets the unique identifier - /// - [Property(xmiId: "sysml2.net", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IData.Id")] - public Guid Id { get; set; } - - /// - /// Various alternative identifiers for this Element. Generally, these will be set by tools. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594312532679_496267_4310", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.AliasIds")] - public List AliasIds { get; set; } = []; - - /// - /// The declared name of this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674987_737648_43307", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredName")] - public string DeclaredName { get; set; } - - /// - /// An optional alternative name for the Element that is intended to be shorter or in some way more - /// succinct than its primary name. It may act as a modeler-specified identifier for the Element, though - /// it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a - /// model or relative to some other context. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594160442439_915308_4153", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredShortName")] - public string DeclaredShortName { get; set; } - - /// - /// The Documentation owned by this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594150061166_345630_1621", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.Documentation")] - public List documentation => this.ComputeDocumentation(); - - /// - /// The globally unique identifier for this Element. This is intended to be set by tooling, and it must - /// not change during the lifetime of the Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_844338_43305", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ElementId")] - public string ElementId { get; set; } - - /// - /// Whether all necessary implied Relationships have been included in the ownedRelationships of this - /// Element. This property may be true, even if there are not actually any ownedRelationships with - /// isImplied = true, meaning that no such Relationships are actually implied for this Element. However, - /// if it is false, then ownedRelationships may not contain any implied Relationships. That is, either - /// all required implied Relationships must be included, or none of them. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070949317_79713_3658", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IElement.IsImpliedIncluded")] - public bool IsImpliedIncluded { get; set; } - - /// - /// Whether this Element is contained in the ownership tree of a library model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1665443500960_5561_723", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.IsLibraryElement")] - public bool isLibraryElement => this.ComputeIsLibraryElement(); - - /// - /// The name to be used for this Element during name resolution within its owningNamespace. This is - /// derived using the effectiveName() operation. By default, it is the same as the declaredName, but - /// this is overridden for certain kinds of Elements to compute a name even when the declaredName is - /// null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617485009541_709355_27528", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Name")] - public string name => this.ComputeName(); - - /// - /// The ownedRelationships of this Element that are Annotations, for which this Element is the - /// annotatedElement. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594152527165_702130_2500", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543094430277_599480_18543")] - [Implements(implementation: "IElement.OwnedAnnotation")] - public List ownedAnnotation => this.ComputeOwnedAnnotation(); - - /// - /// The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of - /// this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_112608_17278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.OwnedElement")] - public List ownedElement => this.ComputeOwnedElement(); - - /// - /// The Relationships for which this Element is the owningRelatedElement. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_217766_16748", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwnedRelationship")] - public List OwnedRelationship { get; set; } = []; - - /// - /// The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this - /// Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_744477_17277", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Owner")] - public IElement owner => this.ComputeOwner(); - - /// - /// The owningRelationship of this Element, if that Relationship is a Membership. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674972_622493_43236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674973_469277_43243")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_482273_43303")] - [Implements(implementation: "IElement.OwningMembership")] - public IOwningMembership owningMembership => this.ComputeOwningMembership(); - - /// - /// The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership - /// of this Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_474739_43306", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674980_717955_43271")] - [Implements(implementation: "IElement.OwningNamespace")] - public INamespace owningNamespace => this.ComputeOwningNamespace(); - - /// - /// The Relationship for which this Element is an ownedRelatedElement, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_482273_43303", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwningRelationship")] - public IRelationship OwningRelationship { get; set; } - - /// - /// The full ownership-qualified name of this Element, represented in a form that is valid according to - /// the KerML textual concrete syntax for qualified names (including use of unrestricted name notation - /// and escaped characters, as necessary). The qualifiedName is null if this Element has no - /// owningNamespace or if there is not a complete ownership chain of named Namespaces from a root - /// Namespace to this Element. If the owningNamespace has other Elements with the same name as this one, - /// then the qualifiedName is null for all such Elements other than the first. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611356604987_900871_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.QualifiedName")] - public string qualifiedName => this.ComputeQualifiedName(); - - /// - /// The short name to be used for this Element during name resolution within its owningNamespace. This - /// is derived using the effectiveShortName() operation. By default, it is the same as the - /// declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even - /// when the declaredName is null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1673496405504_544235_24", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ShortName")] - public string shortName => this.ComputeShortName(); - - /// - /// The TextualRepresentations that annotate this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594154758493_640290_3388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.TextualRepresentation")] - public List textualRepresentation => this.ComputeTextualRepresentation(); - - } -} - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ diff --git a/SysML2.NET/Core/AutoGenPoco/ElementFilterMembership.cs b/SysML2.NET/Core/AutoGenPoco/ElementFilterMembership.cs index ebb3d492..59de26b5 100644 --- a/SysML2.NET/Core/AutoGenPoco/ElementFilterMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ElementFilterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/EndFeatureMembership.cs b/SysML2.NET/Core/AutoGenPoco/EndFeatureMembership.cs index d0c167cb..23bd540d 100644 --- a/SysML2.NET/Core/AutoGenPoco/EndFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/EndFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/EnumerationDefinition.cs b/SysML2.NET/Core/AutoGenPoco/EnumerationDefinition.cs index 30d19d2f..55ecbb10 100644 --- a/SysML2.NET/Core/AutoGenPoco/EnumerationDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/EnumerationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -124,7 +124,6 @@ public partial class EnumerationDefinition : IEnumerationDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -260,11 +259,11 @@ public partial class EnumerationDefinition : IEnumerationDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -671,7 +670,6 @@ bool Systems.DefinitionAndUsage.IDefinition.IsVariation /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/EnumerationUsage.cs b/SysML2.NET/Core/AutoGenPoco/EnumerationUsage.cs index fcb8a213..199de752 100644 --- a/SysML2.NET/Core/AutoGenPoco/EnumerationUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/EnumerationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -168,7 +168,6 @@ public partial class EnumerationUsage : IEnumerationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -407,11 +406,11 @@ public partial class EnumerationUsage : IEnumerationUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -449,9 +448,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -677,7 +676,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -951,7 +949,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/EventOccurrenceUsage.cs b/SysML2.NET/Core/AutoGenPoco/EventOccurrenceUsage.cs index 5332f945..32395f31 100644 --- a/SysML2.NET/Core/AutoGenPoco/EventOccurrenceUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/EventOccurrenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -65,9 +65,9 @@ namespace SysML2.NET.Core.POCO.Systems.Occurrences /// An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a /// suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the /// EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage - /// by a ReferenceSubsetting Relationship.If the EventOccurrenceUsage is owned by an - /// OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property - /// of the Class Occurrence from the Kernel Semantic Library model Occurrences. + /// by a ReferenceSubsetting Relationship. If the EventOccurrenceUsage is owned + /// by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences + /// property of the Class Occurrence from the Kernel Semantic Library model Occurrences. /// [Class(xmiId: "_19_0_4_12e503d9_1622831611763_442921_132", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -163,7 +163,6 @@ public partial class EventOccurrenceUsage : IEventOccurrenceUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -419,11 +418,11 @@ public partial class EventOccurrenceUsage : IEventOccurrenceUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -461,9 +460,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -689,7 +688,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -973,7 +971,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/ExhibitStateUsage.cs b/SysML2.NET/Core/AutoGenPoco/ExhibitStateUsage.cs index 7c7e11bb..07711f5b 100644 --- a/SysML2.NET/Core/AutoGenPoco/ExhibitStateUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ExhibitStateUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -86,7 +86,6 @@ public partial class ExhibitStateUsage : IExhibitStateUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [RedefinedByProperty("IStateUsage.StateDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] List Systems.Actions.IActionUsage.actionDefinition => [.. this.stateDefinition]; @@ -155,7 +154,7 @@ public partial class ExhibitStateUsage : IExhibitStateUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -184,7 +183,6 @@ public partial class ExhibitStateUsage : IExhibitStateUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -486,11 +484,11 @@ public partial class ExhibitStateUsage : IExhibitStateUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -528,9 +526,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -756,7 +754,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -799,9 +796,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1041,7 +1037,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Expose.cs b/SysML2.NET/Core/AutoGenPoco/Expose.cs deleted file mode 100644 index d3f8226b..00000000 --- a/SysML2.NET/Core/AutoGenPoco/Expose.cs +++ /dev/null @@ -1,343 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// -// -// Copyright (C) 2022-2025 Starion Group S.A. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// ------------------------------------------------------------------------------------------------ - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ - -namespace SysML2.NET.Core.POCO.Systems.Views -{ - using System; - using System.CodeDom.Compiler; - using System.Collections.Generic; - using System.Linq; - - using SysML2.NET.Core.Root.Namespaces; - using SysML2.NET.Core.POCO.Root.Annotations; - using SysML2.NET.Core.POCO.Root.Elements; - using SysML2.NET.Core.POCO.Root.Namespaces; - using SysML2.NET.Decorators; - - /// - /// An Expose is an Import of Memberships into a ViewUsage that provide the Elements to be included in a - /// view. Visibility is always ignored for an Expose (i.e., isImportAll = true). - /// - [Class(xmiId: "_19_0_2_12e503d9_1573075516960_794934_94", isAbstract: true, isFinalSpecialization: false, isActive: false)] - [GeneratedCode("SysML2.NET", "latest")] - public partial class Expose : IExpose - { - /// - /// Gets or sets the unique identifier - /// - [Property(xmiId: "sysml2.net", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IData.Id")] - public Guid Id { get; set; } - - /// - /// Various alternative identifiers for this Element. Generally, these will be set by tools. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594312532679_496267_4310", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.AliasIds")] - public List AliasIds { get; set; } = []; - - /// - /// The declared name of this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674987_737648_43307", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredName")] - public string DeclaredName { get; set; } - - /// - /// An optional alternative name for the Element that is intended to be shorter or in some way more - /// succinct than its primary name. It may act as a modeler-specified identifier for the Element, though - /// it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a - /// model or relative to some other context. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594160442439_915308_4153", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredShortName")] - public string DeclaredShortName { get; set; } - - /// - /// The Documentation owned by this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594150061166_345630_1621", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.Documentation")] - public List documentation => this.ComputeDocumentation(); - - /// - /// The globally unique identifier for this Element. This is intended to be set by tooling, and it must - /// not change during the lifetime of the Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_844338_43305", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ElementId")] - public string ElementId { get; set; } - - /// - /// The effectively imported Element for this Import. For a MembershipImport, this is the memberElement - /// of the importedMembership. For a NamespaceImport, it is the importedNamespace. - /// - [Property(xmiId: "_19_0_4_12e503d9_1668801846848_909736_64", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IImport.ImportedElement")] - public IElement importedElement => this.ComputeImportedElement(); - - /// - /// The Namespace into which Memberships are imported by this Import, which must be the - /// owningRelatedElement of the Import. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674974_548878_43248", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_693018_16749")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_696758_43228")] - [Implements(implementation: "IImport.ImportOwningNamespace")] - public INamespace importOwningNamespace => this.ComputeImportOwningNamespace(); - - /// - /// Whether this Relationship was generated by tooling to meet semantic rules, rather than being - /// directly created by a modeler. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070829631_521257_3623", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IRelationship.IsImplied")] - public bool IsImplied { get; set; } - - /// - /// Whether all necessary implied Relationships have been included in the ownedRelationships of this - /// Element. This property may be true, even if there are not actually any ownedRelationships with - /// isImplied = true, meaning that no such Relationships are actually implied for this Element. However, - /// if it is false, then ownedRelationships may not contain any implied Relationships. That is, either - /// all required implied Relationships must be included, or none of them. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070949317_79713_3658", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IElement.IsImpliedIncluded")] - public bool IsImpliedIncluded { get; set; } - - /// - /// An Expose always imports all Elements, regardless of visibility (isImportAll = true). - /// - [Property(xmiId: "_19_0_4_12e503d9_1622578615027_762161_80", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "true")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1622577942205_869984_64")] - [Implements(implementation: "IExpose.IsImportAll")] - public bool IsImportAll { get; set; } = true; - - /// - /// Whether to import memberships without regard to declared visibility. - /// - [Property(xmiId: "_19_0_4_12e503d9_1622577942205_869984_64", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [RedefinedByProperty("IExpose.IsImportAll")] - [Implements(implementation: "IImport.IsImportAll")] - bool Root.Namespaces.IImport.IsImportAll - { - get => this.IsImportAll; - set - { - this.IsImportAll = value; - } - } - - /// - /// Whether this Element is contained in the ownership tree of a library model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1665443500960_5561_723", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.IsLibraryElement")] - public bool isLibraryElement => this.ComputeIsLibraryElement(); - - /// - /// Whether to recursively import Memberships from visible, owned sub-Namespaces. - /// - [Property(xmiId: "_19_0_4_12e503d9_1605759116711_596237_5033", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IImport.IsRecursive")] - public bool IsRecursive { get; set; } - - /// - /// The name to be used for this Element during name resolution within its owningNamespace. This is - /// derived using the effectiveName() operation. By default, it is the same as the declaredName, but - /// this is overridden for certain kinds of Elements to compute a name even when the declaredName is - /// null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617485009541_709355_27528", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Name")] - public string name => this.ComputeName(); - - /// - /// The ownedRelationships of this Element that are Annotations, for which this Element is the - /// annotatedElement. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594152527165_702130_2500", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543094430277_599480_18543")] - [Implements(implementation: "IElement.OwnedAnnotation")] - public List ownedAnnotation => this.ComputeOwnedAnnotation(); - - /// - /// The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of - /// this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_112608_17278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.OwnedElement")] - public List ownedElement => this.ComputeOwnedElement(); - - /// - /// The relatedElements of this Relationship that are owned by the Relationship. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_59873_43302", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.OwnedRelatedElement")] - public List OwnedRelatedElement { get; set; } = []; - - /// - /// The Relationships for which this Element is the owningRelatedElement. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_217766_16748", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwnedRelationship")] - public List OwnedRelationship { get; set; } = []; - - /// - /// The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this - /// Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_744477_17277", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Owner")] - public IElement owner => this.ComputeOwner(); - - /// - /// The owningRelationship of this Element, if that Relationship is a Membership. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674972_622493_43236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674973_469277_43243")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_482273_43303")] - [Implements(implementation: "IElement.OwningMembership")] - public IOwningMembership owningMembership => this.ComputeOwningMembership(); - - /// - /// The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership - /// of this Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_474739_43306", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674980_717955_43271")] - [Implements(implementation: "IElement.OwningNamespace")] - public INamespace owningNamespace => this.ComputeOwningNamespace(); - - /// - /// The relatedElement of this Relationship that owns the Relationship, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_693018_16749", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.OwningRelatedElement")] - public IElement OwningRelatedElement { get; set; } - - /// - /// The Relationship for which this Element is an ownedRelatedElement, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_482273_43303", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwningRelationship")] - public IRelationship OwningRelationship { get; set; } - - /// - /// The full ownership-qualified name of this Element, represented in a form that is valid according to - /// the KerML textual concrete syntax for qualified names (including use of unrestricted name notation - /// and escaped characters, as necessary). The qualifiedName is null if this Element has no - /// owningNamespace or if there is not a complete ownership chain of named Namespaces from a root - /// Namespace to this Element. If the owningNamespace has other Elements with the same name as this one, - /// then the qualifiedName is null for all such Elements other than the first. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611356604987_900871_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.QualifiedName")] - public string qualifiedName => this.ComputeQualifiedName(); - - /// - /// The Elements that are related by this Relationship, derived as the union of the source and target - /// Elements of the Relationship. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674961_132339_43177", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [Implements(implementation: "IRelationship.RelatedElement")] - public List relatedElement => this.ComputeRelatedElement(); - - /// - /// The short name to be used for this Element during name resolution within its owningNamespace. This - /// is derived using the effectiveShortName() operation. By default, it is the same as the - /// declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even - /// when the declaredName is null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1673496405504_544235_24", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ShortName")] - public string shortName => this.ComputeShortName(); - - /// - /// The relatedElements from which this Relationship is considered to be directed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674971_696758_43228", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [RedefinedByProperty("IImport.ImportOwningNamespace")] - [Implements(implementation: "IRelationship.Source")] - List Root.Elements.IRelationship.Source - { - get => this.importOwningNamespace != null ? [this.importOwningNamespace] : []; - set { } - } - - /// - /// The relatedElements to which this Relationship is considered to be directed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674961_138197_43179", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.Target")] - public List Target { get; set; } = []; - - /// - /// The TextualRepresentations that annotate this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594154758493_640290_3388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.TextualRepresentation")] - public List textualRepresentation => this.ComputeTextualRepresentation(); - - /// - /// An Expose always has protected visibility. - /// - [Property(xmiId: "_2022x_2_12e503d9_1720469034555_222060_1140", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "protected")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674976_798509_43257")] - [Implements(implementation: "IExpose.Visibility")] - public VisibilityKind Visibility { get; set; } = VisibilityKind.Protected; - - /// - /// The visibility level of the imported members from this Import relative to the importOwningNamespace. - /// The default is private. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674976_798509_43257", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "private")] - [RedefinedByProperty("IExpose.Visibility")] - [Implements(implementation: "IImport.Visibility")] - VisibilityKind Root.Namespaces.IImport.Visibility - { - get => this.Visibility; - set - { - this.Visibility = value; - } - } - - } -} - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ diff --git a/SysML2.NET/Core/AutoGenPoco/Expression.cs b/SysML2.NET/Core/AutoGenPoco/Expression.cs index 26c82e1e..73fd993c 100644 --- a/SysML2.NET/Core/AutoGenPoco/Expression.cs +++ b/SysML2.NET/Core/AutoGenPoco/Expression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -360,11 +360,11 @@ public partial class Expression : IExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/Feature.cs b/SysML2.NET/Core/AutoGenPoco/Feature.cs index 7f07de1f..c39efa36 100644 --- a/SysML2.NET/Core/AutoGenPoco/Feature.cs +++ b/SysML2.NET/Core/AutoGenPoco/Feature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,18 +40,19 @@ namespace SysML2.NET.Core.POCO.Core.Features /// A Feature is a Type that classifies relations between multiple things (in the universe). The domain /// of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature /// with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic - /// Library.) The co-domain of the relation is the intersection of the types of the Feature.In the - /// simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one - /// from the domain and one from the range. Examples include cars paired with wheels, people paired with - /// other people, and cars paired with numbers representing the car length.Since Features are Types, - /// their featuringTypes and types can be Features. In this case, the Feature effectively classifies - /// relations between relations, which can be interpreted as the sequence of things related by the - /// domain Feature concatenated with the sequence of things related by the co-domain Feature.The values - /// of a Feature for a given instance of its domain are all the instances of its co-domain that are - /// related to that domain instance by the Feature. The values of a Feature with chainingFeatures are - /// the same as values of the last Feature in the chain, which can be found by starting with values of - /// the first Feature, then using those values as domain instances to obtain valus of the second - /// Feature, and so on, to values of the last Feature. + /// Library.) The co-domain of the relation is the intersection of the types of the Feature. + /// In the simplest cases, the featuringTypes and types are Classifiers and the Feature + /// relates two things, one from the domain and one from the range. Examples include cars paired with + /// wheels, people paired with other people, and cars paired with numbers representing the car length. + /// Since Features are Types, their featuringTypes and types can be Features. In + /// this case, the Feature effectively classifies relations between relations, which can be interpreted + /// as the sequence of things related by the domain Feature concatenated with the sequence of things + /// related by the co-domain Feature. The values of a Feature for a given + /// instance of its domain are all the instances of its co-domain that are related to that domain + /// instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the + /// last Feature in the chain, which can be found by starting with values of the first Feature, then + /// using those values as domain instances to obtain valus of the second Feature, and so on, to values + /// of the last Feature. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651684_893483_42160", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -342,11 +343,11 @@ public partial class Feature : IFeature /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/FeatureChainExpression.cs b/SysML2.NET/Core/AutoGenPoco/FeatureChainExpression.cs index 68f585ba..a652afe0 100644 --- a/SysML2.NET/Core/AutoGenPoco/FeatureChainExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/FeatureChainExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -65,8 +65,8 @@ public partial class FeatureChainExpression : IFeatureChainExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -377,11 +377,11 @@ public partial class FeatureChainExpression : IFeatureChainExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/FeatureChaining.cs b/SysML2.NET/Core/AutoGenPoco/FeatureChaining.cs index b2481179..f54cff68 100644 --- a/SysML2.NET/Core/AutoGenPoco/FeatureChaining.cs +++ b/SysML2.NET/Core/AutoGenPoco/FeatureChaining.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/FeatureInverting.cs b/SysML2.NET/Core/AutoGenPoco/FeatureInverting.cs index 122b3ff4..d468cef9 100644 --- a/SysML2.NET/Core/AutoGenPoco/FeatureInverting.cs +++ b/SysML2.NET/Core/AutoGenPoco/FeatureInverting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/FeatureMembership.cs b/SysML2.NET/Core/AutoGenPoco/FeatureMembership.cs index f2e71263..049a2af3 100644 --- a/SysML2.NET/Core/AutoGenPoco/FeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/FeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/FeatureReferenceExpression.cs b/SysML2.NET/Core/AutoGenPoco/FeatureReferenceExpression.cs index 69da3735..9b5987c3 100644 --- a/SysML2.NET/Core/AutoGenPoco/FeatureReferenceExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/FeatureReferenceExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -357,11 +357,11 @@ public partial class FeatureReferenceExpression : IFeatureReferenceExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/FeatureTyping.cs b/SysML2.NET/Core/AutoGenPoco/FeatureTyping.cs index abdeecb5..0cf08032 100644 --- a/SysML2.NET/Core/AutoGenPoco/FeatureTyping.cs +++ b/SysML2.NET/Core/AutoGenPoco/FeatureTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/FeatureValue.cs b/SysML2.NET/Core/AutoGenPoco/FeatureValue.cs index 551ea794..038a14f3 100644 --- a/SysML2.NET/Core/AutoGenPoco/FeatureValue.cs +++ b/SysML2.NET/Core/AutoGenPoco/FeatureValue.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -41,13 +41,14 @@ namespace SysML2.NET.Core.POCO.Kernel.FeatureValues /// A FeatureValue is a Membership that identifies a particular member Expression that provides the /// value of the Feature that owns the FeatureValue. The value is specified as either a bound value or /// an initial value, and as either a concrete or default value. A Feature can have at most one - /// FeatureValue.The result of the value Expression is bound to the featureWithValue using a - /// BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same - /// as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the - /// BindingConnector is restricted to its startShot.If isDefault = false, then the above semantics of - /// the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized - /// for any individual of the featuringType of the featureWithValue, unless another value is explicitly - /// given for the featureWithValue for that individual. + /// FeatureValue. The result of the value Expression is bound to the + /// featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the + /// BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then + /// the featuringType of the BindingConnector is restricted to its startShot. If + /// isDefault = false, then the above semantics of the FeatureValue are realized for the given + /// featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of + /// the featureWithValue, unless another value is explicitly given for the featureWithValue for that + /// individual. /// [Class(xmiId: "_18_5_3_12e503d9_1543180279304_499907_20659", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/Flow.cs b/SysML2.NET/Core/AutoGenPoco/Flow.cs index e1463d10..339a691e 100644 --- a/SysML2.NET/Core/AutoGenPoco/Flow.cs +++ b/SysML2.NET/Core/AutoGenPoco/Flow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -399,11 +399,11 @@ public partial class Flow : IFlow /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/FlowDefinition.cs b/SysML2.NET/Core/AutoGenPoco/FlowDefinition.cs index 72ee0e55..d4170c79 100644 --- a/SysML2.NET/Core/AutoGenPoco/FlowDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/FlowDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -82,7 +82,6 @@ public partial class FlowDefinition : IFlowDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action => this.ComputeAction(); @@ -148,7 +147,6 @@ public partial class FlowDefinition : IFlowDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -299,11 +297,11 @@ public partial class FlowDefinition : IFlowDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -701,7 +699,6 @@ public partial class FlowDefinition : IFlowDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/FlowEnd.cs b/SysML2.NET/Core/AutoGenPoco/FlowEnd.cs index d0099b78..92c77f66 100644 --- a/SysML2.NET/Core/AutoGenPoco/FlowEnd.cs +++ b/SysML2.NET/Core/AutoGenPoco/FlowEnd.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -332,11 +332,11 @@ public partial class FlowEnd : IFlowEnd /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/FlowUsage.cs b/SysML2.NET/Core/AutoGenPoco/FlowUsage.cs index 85c2a845..1f19af97 100644 --- a/SysML2.NET/Core/AutoGenPoco/FlowUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/FlowUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -86,10 +86,8 @@ public partial class FlowUsage : IFlowUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("IFlowUsage.FlowDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => [.. this.flowDefinition]; + public List actionDefinition => this.ComputeActionDefinition(); /// /// Various alternative identifiers for this Element. Generally, these will be set by tools. @@ -183,7 +181,7 @@ public partial class FlowUsage : IFlowUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -212,7 +210,6 @@ public partial class FlowUsage : IFlowUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -300,7 +297,6 @@ public partial class FlowUsage : IFlowUsage /// Model Libraries. /// [Property(xmiId: "_19_0_4_12e503d9_1661892878973_977062_185", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1661900477937_518125_727")] [Implements(implementation: "IFlowUsage.FlowDefinition")] public List flowDefinition => this.ComputeFlowDefinition(); @@ -489,11 +485,11 @@ public partial class FlowUsage : IFlowUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -531,9 +527,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -759,7 +755,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -802,9 +797,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1052,7 +1046,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/ForLoopActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/ForLoopActionUsage.cs index 3d8370f1..6d4e9907 100644 --- a/SysML2.NET/Core/AutoGenPoco/ForLoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ForLoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -86,7 +86,6 @@ public partial class ForLoopActionUsage : IForLoopActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -162,7 +161,7 @@ public partial class ForLoopActionUsage : IForLoopActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -191,7 +190,6 @@ public partial class ForLoopActionUsage : IForLoopActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -429,11 +427,11 @@ public partial class ForLoopActionUsage : IForLoopActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -480,9 +478,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -708,7 +706,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -751,9 +748,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -993,7 +989,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/ForkNode.cs b/SysML2.NET/Core/AutoGenPoco/ForkNode.cs index 15e34c8e..6ed3e465 100644 --- a/SysML2.NET/Core/AutoGenPoco/ForkNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/ForkNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -84,7 +84,6 @@ public partial class ForkNode : IForkNode /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -152,7 +151,7 @@ public partial class ForkNode : IForkNode [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -181,7 +180,6 @@ public partial class ForkNode : IForkNode /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -419,11 +417,11 @@ public partial class ForkNode : IForkNode /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -461,9 +459,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -689,7 +687,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -732,9 +729,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -974,7 +970,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/FramedConcernMembership.cs b/SysML2.NET/Core/AutoGenPoco/FramedConcernMembership.cs index 7e5cf264..40cbf50c 100644 --- a/SysML2.NET/Core/AutoGenPoco/FramedConcernMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/FramedConcernMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Function.cs b/SysML2.NET/Core/AutoGenPoco/Function.cs index 877cb420..676d1ea5 100644 --- a/SysML2.NET/Core/AutoGenPoco/Function.cs +++ b/SysML2.NET/Core/AutoGenPoco/Function.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -232,9 +232,9 @@ public partial class Function : IFunction /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -242,11 +242,11 @@ public partial class Function : IFunction /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/IAcceptActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IAcceptActionUsage.cs index a27e1e97..84e4dae0 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAcceptActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAcceptActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -85,7 +85,6 @@ public partial interface IAcceptActionUsage : IActionUsage /// base AcceptActionUsage AcceptAction from the Systems Model Library. /// [Property(xmiId: "_19_0_4_12e503d9_1642701018287_478584_4462", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591477541360_47573_933")] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] IReferenceUsage payloadParameter { get; } diff --git a/SysML2.NET/Core/AutoGenPoco/IActionDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IActionDefinition.cs index d5547590..ed075ed2 100644 --- a/SysML2.NET/Core/AutoGenPoco/IActionDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IActionDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -72,7 +72,6 @@ public partial interface IActionDefinition : IBehavior, IOccurrenceDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List action { get; } } diff --git a/SysML2.NET/Core/AutoGenPoco/IActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IActionUsage.cs index bc964e32..bc9efa85 100644 --- a/SysML2.NET/Core/AutoGenPoco/IActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -78,7 +78,6 @@ public partial interface IActionUsage : IStep, IOccurrenceUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] List actionDefinition { get; } } diff --git a/SysML2.NET/Core/AutoGenPoco/IActorMembership.cs b/SysML2.NET/Core/AutoGenPoco/IActorMembership.cs index bb5f6e1d..714380db 100644 --- a/SysML2.NET/Core/AutoGenPoco/IActorMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IActorMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAllocationDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IAllocationDefinition.cs index 6772b89b..f57c9765 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAllocationDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAllocationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAllocationUsage.cs b/SysML2.NET/Core/AutoGenPoco/IAllocationUsage.cs index 6558baef..c7f06080 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAllocationUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAllocationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAnalysisCaseDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IAnalysisCaseDefinition.cs index ffc3d671..758a9601 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAnalysisCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAnalysisCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAnalysisCaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/IAnalysisCaseUsage.cs index c58027b3..7600e2de 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAnalysisCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAnalysisCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAnnotatingElement.cs b/SysML2.NET/Core/AutoGenPoco/IAnnotatingElement.cs index 93b7df89..4962519b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAnnotatingElement.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAnnotatingElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAnnotation.cs b/SysML2.NET/Core/AutoGenPoco/IAnnotation.cs index 6cc10d33..11dc4987 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAnnotation.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAnnotation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAssertConstraintUsage.cs b/SysML2.NET/Core/AutoGenPoco/IAssertConstraintUsage.cs index 86cf6280..e9265562 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAssertConstraintUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAssertConstraintUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAssignmentActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IAssignmentActionUsage.cs index 6edf1136..d49cc921 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAssignmentActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAssignmentActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAssociation.cs b/SysML2.NET/Core/AutoGenPoco/IAssociation.cs index 380b61fa..4f906375 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAssociation.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAssociation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAssociationStructure.cs b/SysML2.NET/Core/AutoGenPoco/IAssociationStructure.cs index ed8ff8fa..d4d5a308 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAssociationStructure.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAssociationStructure.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IAttributeDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IAttributeDefinition.cs index 93c34f6e..7d91acba 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAttributeDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAttributeDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -61,9 +61,9 @@ namespace SysML2.NET.Core.POCO.Systems.Attributes /// /// An AttributeDefinition is a Definition and a DataType of information about a quality or /// characteristic of a system or part of a system that has no independent identity other than its - /// value. All features of an AttributeDefinition must be referential (non-composite).As a DataType, an - /// AttributeDefinition must specialize, directly or indirectly, the base DataType Base::DataValue from - /// the Kernel Semantic Library. + /// value. All features of an AttributeDefinition must be referential (non-composite). + /// As a DataType, an AttributeDefinition must specialize, directly or indirectly, the base + /// DataType Base::DataValue from the Kernel Semantic Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471213468_167708_20650", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IAttributeUsage.cs b/SysML2.NET/Core/AutoGenPoco/IAttributeUsage.cs index fedf4a94..84f9069c 100644 --- a/SysML2.NET/Core/AutoGenPoco/IAttributeUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IAttributeUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,8 +64,9 @@ namespace SysML2.NET.Core.POCO.Systems.Attributes /// AttributeDefinition, an AttributeUsage is a usage of a AttributeDefinition to represent the value of /// some system quality or characteristic. However, other kinds of kernel DataTypes are also allowed, to /// permit use of DataTypes from the Kernel Model Libraries. An AttributeUsage itself as well as all its - /// nested features must be referential (non-composite).An AttributeUsage must specialize, directly or - /// indirectly, the base Feature Base::dataValues from the Kernel Semantic Library. + /// nested features must be referential (non-composite). An AttributeUsage must + /// specialize, directly or indirectly, the base Feature Base::dataValues from the Kernel Semantic + /// Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471291545_950196_20762", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IBehavior.cs b/SysML2.NET/Core/AutoGenPoco/IBehavior.cs index ac5aa232..3285fe05 100644 --- a/SysML2.NET/Core/AutoGenPoco/IBehavior.cs +++ b/SysML2.NET/Core/AutoGenPoco/IBehavior.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IBindingConnector.cs b/SysML2.NET/Core/AutoGenPoco/IBindingConnector.cs index 484ac012..473a6433 100644 --- a/SysML2.NET/Core/AutoGenPoco/IBindingConnector.cs +++ b/SysML2.NET/Core/AutoGenPoco/IBindingConnector.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IBindingConnectorAsUsage.cs b/SysML2.NET/Core/AutoGenPoco/IBindingConnectorAsUsage.cs index b576ddeb..c64a422a 100644 --- a/SysML2.NET/Core/AutoGenPoco/IBindingConnectorAsUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IBindingConnectorAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IBooleanExpression.cs b/SysML2.NET/Core/AutoGenPoco/IBooleanExpression.cs index a4490e92..38bb6782 100644 --- a/SysML2.NET/Core/AutoGenPoco/IBooleanExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IBooleanExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ICalculationDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ICalculationDefinition.cs index 37045310..ca99dcc3 100644 --- a/SysML2.NET/Core/AutoGenPoco/ICalculationDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ICalculationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -71,7 +71,6 @@ public partial interface ICalculationDefinition : IFunction, IActionDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] List calculation { get; } diff --git a/SysML2.NET/Core/AutoGenPoco/ICalculationUsage.cs b/SysML2.NET/Core/AutoGenPoco/ICalculationUsage.cs index 98acbe7b..cedc5c54 100644 --- a/SysML2.NET/Core/AutoGenPoco/ICalculationUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ICalculationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -79,7 +79,6 @@ public partial interface ICalculationUsage : IExpression, IActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] IFunction calculationDefinition { get; } } diff --git a/SysML2.NET/Core/AutoGenPoco/ICaseDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ICaseDefinition.cs index 56aa8890..b0f914fb 100644 --- a/SysML2.NET/Core/AutoGenPoco/ICaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ICaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -73,7 +73,6 @@ public partial interface ICaseDefinition : ICalculationDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List actorParameter { get; } /// @@ -88,7 +87,6 @@ public partial interface ICaseDefinition : ICalculationDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] IUsage subjectParameter { get; } } diff --git a/SysML2.NET/Core/AutoGenPoco/ICaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/ICaseUsage.cs index 034044df..08242682 100644 --- a/SysML2.NET/Core/AutoGenPoco/ICaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ICaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -74,7 +74,6 @@ public partial interface ICaseUsage : ICalculationUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List actorParameter { get; } /// @@ -96,7 +95,6 @@ public partial interface ICaseUsage : ICalculationUsage /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] IUsage subjectParameter { get; } } diff --git a/SysML2.NET/Core/AutoGenPoco/IClass.cs b/SysML2.NET/Core/AutoGenPoco/IClass.cs index a712079c..f0acae4f 100644 --- a/SysML2.NET/Core/AutoGenPoco/IClass.cs +++ b/SysML2.NET/Core/AutoGenPoco/IClass.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IClassifier.cs b/SysML2.NET/Core/AutoGenPoco/IClassifier.cs index 4845a190..5cb5195c 100644 --- a/SysML2.NET/Core/AutoGenPoco/IClassifier.cs +++ b/SysML2.NET/Core/AutoGenPoco/IClassifier.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,12 +36,13 @@ namespace SysML2.NET.Core.POCO.Core.Classifiers using SysML2.NET.Decorators; /// - /// A Classifier is a Type that classifies:
  • Things (in the universe) regardless of how Features - /// relate them. (These are interpreted semantically as sequences of exactly one thing.)
  • How - /// the above things are related by Features. (These are interpreted semantically as sequences of - /// multiple things, such that the last thing in the sequence is also classified by the Classifier. Note - /// that this means that a Classifier modeled as specializing a Feature cannot classify - /// anything.)
+ /// A Classifier is a Type that classifies:
    + ///
  • Things (in the universe) regardless of how Features relate them. (These are interpreted + /// semantically as sequences of exactly one thing.)
  • How the above + /// things are related by Features. (These are interpreted semantically as sequences of multiple things, + /// such that the last thing in the sequence is also classified by the Classifier. Note that this means + /// that a Classifier modeled as specializing a Feature cannot classify anything.)
  • + ///
///
[Class(xmiId: "_18_5_3_12e503d9_1533160651676_375105_42143", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/ICollectExpression.cs b/SysML2.NET/Core/AutoGenPoco/ICollectExpression.cs index 9c129648..36ed1ae3 100644 --- a/SysML2.NET/Core/AutoGenPoco/ICollectExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/ICollectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IComment.cs b/SysML2.NET/Core/AutoGenPoco/IComment.cs index ef3b65f1..d8313dda 100644 --- a/SysML2.NET/Core/AutoGenPoco/IComment.cs +++ b/SysML2.NET/Core/AutoGenPoco/IComment.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConcernDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IConcernDefinition.cs index 8634fcec..fe3b3ec6 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConcernDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConcernDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConcernUsage.cs b/SysML2.NET/Core/AutoGenPoco/IConcernUsage.cs index f625d7d2..ab2e496b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConcernUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConcernUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -63,10 +63,10 @@ namespace SysML2.NET.Core.POCO.Systems.Requirements using SysML2.NET.Decorators; /// - /// A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder features of the ConcernUsage - /// shall all subset the ConcernCheck::concernedStakeholders feature. If the ConcernUsage is an - /// ownedFeature of a StakeholderDefinition or StakeholderUsage, then the ConcernUsage shall have an - /// ownedStakeholder feature that is bound to the self feature of its owner. + /// A ConcernUsage is a Usage of a ConcernDefinition. The ownedStakeholder + /// features of the ConcernUsage shall all subset the ConcernCheck::concernedStakeholders feature. If + /// the ConcernUsage is an ownedFeature of a StakeholderDefinition or StakeholderUsage, then the + /// ConcernUsage shall have an ownedStakeholder feature that is bound to the self feature of its owner. /// [Class(xmiId: "_19_0_4_12e503d9_1617051561652_163085_1288", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IConjugatedPortDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IConjugatedPortDefinition.cs index 495d4b6a..21f41ef5 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConjugatedPortDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConjugatedPortDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConjugatedPortTyping.cs b/SysML2.NET/Core/AutoGenPoco/IConjugatedPortTyping.cs index 81b0ebd2..4c541e8e 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConjugatedPortTyping.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConjugatedPortTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConjugation.cs b/SysML2.NET/Core/AutoGenPoco/IConjugation.cs index 71dcf1b8..04f5ad88 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConjugation.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConjugation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,9 +39,9 @@ namespace SysML2.NET.Core.POCO.Core.Types /// with a direction in relative to the originalType are considered to have an effective direction of /// out relative to the conjugatedType and, similarly, Features with direction out in the originalType /// are considered to have an effective direction of in in the conjugatedType. Features with direction - /// inout, or with no direction, in the originalType, are inherited without change.A Type may - /// participate as a conjugatedType in at most one Conjugation relationship, and such a Type may not - /// also be the specific Type in any Specialization relationship. + /// inout, or with no direction, in the originalType, are inherited without change. + /// A Type may participate as a conjugatedType in at most one Conjugation relationship, and such a + /// Type may not also be the specific Type in any Specialization relationship. /// [Class(xmiId: "_19_0_2_12e503d9_1575482328287_696279_181", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IConnectionDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IConnectionDefinition.cs index 620f374d..3ef7e8ee 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConnectionDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConnectionDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConnectionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IConnectionUsage.cs index 9cb7ec33..3b35db9e 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConnectionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConnectionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConnector.cs b/SysML2.NET/Core/AutoGenPoco/IConnector.cs index ce70d5e2..1a9fd3c1 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConnector.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConnector.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConnectorAsUsage.cs b/SysML2.NET/Core/AutoGenPoco/IConnectorAsUsage.cs index 993f0138..573701b7 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConnectorAsUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConnectorAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConstraintDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IConstraintDefinition.cs index 08d03dc5..e05a1f3d 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConstraintDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConstraintDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConstraintUsage.cs b/SysML2.NET/Core/AutoGenPoco/IConstraintUsage.cs index 661ac00b..302618cd 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConstraintUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConstraintUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IConstructorExpression.cs b/SysML2.NET/Core/AutoGenPoco/IConstructorExpression.cs index 305207a1..76013366 100644 --- a/SysML2.NET/Core/AutoGenPoco/IConstructorExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IConstructorExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IControlNode.cs b/SysML2.NET/Core/AutoGenPoco/IControlNode.cs index 425a3ee9..fea8929a 100644 --- a/SysML2.NET/Core/AutoGenPoco/IControlNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/IControlNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ICrossSubsetting.cs b/SysML2.NET/Core/AutoGenPoco/ICrossSubsetting.cs index ec61188d..a731d533 100644 --- a/SysML2.NET/Core/AutoGenPoco/ICrossSubsetting.cs +++ b/SysML2.NET/Core/AutoGenPoco/ICrossSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -38,17 +38,18 @@ namespace SysML2.NET.Core.POCO.Core.Features /// CrossSubsetting is a kind of Subsetting for end Features, as identified by crossingFeature, to /// subset a chained Feature, identified by crossedFeature. It navigates to instances of the end /// Feature’s type from instances of other end Feature types on the same owningType (at least two end - /// Features are required for any of them to have a CrossSubsetting).The crossedFeature of a - /// CrossSubsetting must have a feature chain of exactly two Features. The second Feature in the chain - /// is the crossFeature of the crossingFeature (end Feature), which has the same type as the - /// crossingFeature. When the owningType of the crossingFeature has exactly two end Features, the first - /// Feature in the chain of the crossedFeature is the other end Feature. The crossFeature’s - /// featuringType in this case is the other end Feature. When the owningType has more than two end - /// Features, the first Feature in the chain is a Feature that CrossMultiplies all the other end - /// Features, which is also the featuringType of the crossFeature.A crossFeature must be owned by its - /// featureCrossing (end Feature) when the featureCrossing owningType has more than two end Features. - /// Otherwise, for exactly two end Features, the crossFeatures of each the ends can instead optionally - /// be inherited by the other end from one of its types or a subsetted Feature. + /// Features are required for any of them to have a CrossSubsetting). The + /// crossedFeature of a CrossSubsetting must have a feature chain of exactly two Features. The second + /// Feature in the chain is the crossFeature of the crossingFeature (end Feature), which has the same + /// type as the crossingFeature. When the owningType of the crossingFeature has exactly two end + /// Features, the first Feature in the chain of the crossedFeature is the other end Feature. The + /// crossFeature’s featuringType in this case is the other end Feature. When the owningType has more + /// than two end Features, the first Feature in the chain is a Feature that CrossMultiplies all the + /// other end Features, which is also the featuringType of the crossFeature. A + /// crossFeature must be owned by its featureCrossing (end Feature) when the featureCrossing owningType + /// has more than two end Features. Otherwise, for exactly two end Features, the crossFeatures of each + /// the ends can instead optionally be inherited by the other end from one of its types or a subsetted + /// Feature. /// [Class(xmiId: "_19_0_4_b9102da_1689616180239_998062_127", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IDataType.cs b/SysML2.NET/Core/AutoGenPoco/IDataType.cs index 7c49528d..8459083f 100644 --- a/SysML2.NET/Core/AutoGenPoco/IDataType.cs +++ b/SysML2.NET/Core/AutoGenPoco/IDataType.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,10 +39,11 @@ namespace SysML2.NET.Core.POCO.Kernel.DataTypes /// /// A DataType is a Classifier of things (in the universe) that can only be distinguished by how they /// are related to other things (via Features). This means multiple things classified by the same - /// DataType
  • Cannot be distinguished when they are related to other things in exactly the same - /// way, even when they are intended to be about different things.
  • Can be distinguished when - /// they are related to other things in different ways, even when they are intended to be about the same - /// thing.
+ /// DataType
  • Cannot be distinguished when they + /// are related to other things in exactly the same way, even when they are intended to be about + /// different things.
  • Can be distinguished when they are related to + /// other things in different ways, even when they are intended to be about the same thing.
  • + ///
///
[Class(xmiId: "_18_5_3_12e503d9_1557527599533_240072_110321", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IDecisionNode.cs b/SysML2.NET/Core/AutoGenPoco/IDecisionNode.cs index 11709e37..6c7a93b5 100644 --- a/SysML2.NET/Core/AutoGenPoco/IDecisionNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/IDecisionNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IDefinition.cs index ddb717bc..d88b6f11 100644 --- a/SysML2.NET/Core/AutoGenPoco/IDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -59,15 +59,15 @@ namespace SysML2.NET.Core.POCO.Systems.DefinitionAndUsage /// /// A Definition is a Classifier of Usages. The actual kinds of Definition that may appear in a model - /// are given by the subclasses of Definition (possibly as extended with user-defined - /// SemanticMetadata).Normally, a Definition has owned Usages that model features of the thing being - /// defined. A Definition may also have other Definitions nested in it, but this has no semantic + /// are given by the subclasses of Definition (possibly as extended with user-defined SemanticMetadata). + /// Normally, a Definition has owned Usages that model features of the thing + /// being defined. A Definition may also have other Definitions nested in it, but this has no semantic /// significance, other than the nested scoping resulting from the Definition being considered as a - /// Namespace for any nested Definitions.However, if a Definition has isVariation = true, then it - /// represents a variation point Definition. In this case, all of its members must be variant Usages, - /// related to the Definition by VariantMembership Relationships. Rather than being features of the - /// Definition, variant Usages model different concrete alternatives that can be chosen to fill in for - /// an abstract Usage of the variation point Definition. + /// Namespace for any nested Definitions. However, if a Definition has + /// isVariation = true, then it represents a variation point Definition. In this case, all of its + /// members must be variant Usages, related to the Definition by VariantMembership Relationships. Rather + /// than being features of the Definition, variant Usages model different concrete alternatives that can + /// be chosen to fill in for an abstract Usage of the variation point Definition. /// [Class(xmiId: "_18_5_3_12e503d9_1565479032244_336549_22524", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -78,7 +78,6 @@ public partial interface IDefinition : IClassifier /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List directedUsage { get; } /// @@ -249,7 +248,6 @@ public partial interface IDefinition : IClassifier /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List ownedUsage { get; } /// diff --git a/SysML2.NET/Core/AutoGenPoco/IDependency.cs b/SysML2.NET/Core/AutoGenPoco/IDependency.cs index cec6fcce..e87f0c04 100644 --- a/SysML2.NET/Core/AutoGenPoco/IDependency.cs +++ b/SysML2.NET/Core/AutoGenPoco/IDependency.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,8 +36,9 @@ namespace SysML2.NET.Core.POCO.Root.Dependencies /// /// A Dependency is a Relationship that indicates that one or more client Elements require one more /// supplier Elements for their complete specification. In general, this means that a change to one of - /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements.Note - /// that a Dependency is entirely a model-level Relationship, without instance-level semantics. + /// the supplier Elements may necessitate a change to, or re-specification of, the client Elements. + /// Note that a Dependency is entirely a model-level Relationship, without + /// instance-level semantics. /// [Class(xmiId: "_19_0_2_12e503d9_1594006219028_628649_74", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IDifferencing.cs b/SysML2.NET/Core/AutoGenPoco/IDifferencing.cs index 9494cdf9..47feea8d 100644 --- a/SysML2.NET/Core/AutoGenPoco/IDifferencing.cs +++ b/SysML2.NET/Core/AutoGenPoco/IDifferencing.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IDisjoining.cs b/SysML2.NET/Core/AutoGenPoco/IDisjoining.cs index 1de5a426..7af492d9 100644 --- a/SysML2.NET/Core/AutoGenPoco/IDisjoining.cs +++ b/SysML2.NET/Core/AutoGenPoco/IDisjoining.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IDocumentation.cs b/SysML2.NET/Core/AutoGenPoco/IDocumentation.cs index 4cddb835..b328ea43 100644 --- a/SysML2.NET/Core/AutoGenPoco/IDocumentation.cs +++ b/SysML2.NET/Core/AutoGenPoco/IDocumentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IElement.cs b/SysML2.NET/Core/AutoGenPoco/IElement.cs index f961d941..e5764beb 100644 --- a/SysML2.NET/Core/AutoGenPoco/IElement.cs +++ b/SysML2.NET/Core/AutoGenPoco/IElement.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IElementFilterMembership.cs b/SysML2.NET/Core/AutoGenPoco/IElementFilterMembership.cs index bf32e4f6..9cd07cb3 100644 --- a/SysML2.NET/Core/AutoGenPoco/IElementFilterMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IElementFilterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IEndFeatureMembership.cs b/SysML2.NET/Core/AutoGenPoco/IEndFeatureMembership.cs index 5b0a3834..5fadbf6a 100644 --- a/SysML2.NET/Core/AutoGenPoco/IEndFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IEndFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IEnumerationDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IEnumerationDefinition.cs index 418f0bb4..3add4f46 100644 --- a/SysML2.NET/Core/AutoGenPoco/IEnumerationDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IEnumerationDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IEnumerationUsage.cs b/SysML2.NET/Core/AutoGenPoco/IEnumerationUsage.cs index 3e31069c..43afe2c5 100644 --- a/SysML2.NET/Core/AutoGenPoco/IEnumerationUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IEnumerationUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IEventOccurrenceUsage.cs b/SysML2.NET/Core/AutoGenPoco/IEventOccurrenceUsage.cs index 7e306afa..c62a125f 100644 --- a/SysML2.NET/Core/AutoGenPoco/IEventOccurrenceUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IEventOccurrenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,9 +64,9 @@ namespace SysML2.NET.Core.POCO.Systems.Occurrences /// An EventOccurrenceUsage is an OccurrenceUsage that represents another OccurrenceUsage occurring as a /// suboccurrence of the containing occurrence of the EventOccurrenceUsage. Unless it is the /// EventOccurrenceUsage itself, the referenced OccurrenceUsage is related to the EventOccurrenceUsage - /// by a ReferenceSubsetting Relationship.If the EventOccurrenceUsage is owned by an - /// OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences property - /// of the Class Occurrence from the Kernel Semantic Library model Occurrences. + /// by a ReferenceSubsetting Relationship. If the EventOccurrenceUsage is owned + /// by an OccurrenceDefinition or OccurrenceUsage, then it also subsets the timeEnclosedOccurrences + /// property of the Class Occurrence from the Kernel Semantic Library model Occurrences. /// [Class(xmiId: "_19_0_4_12e503d9_1622831611763_442921_132", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IExhibitStateUsage.cs b/SysML2.NET/Core/AutoGenPoco/IExhibitStateUsage.cs index 044cd610..48fd33a7 100644 --- a/SysML2.NET/Core/AutoGenPoco/IExhibitStateUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IExhibitStateUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IExpose.cs b/SysML2.NET/Core/AutoGenPoco/IExpose.cs index ef3e8f4e..c4b96414 100644 --- a/SysML2.NET/Core/AutoGenPoco/IExpose.cs +++ b/SysML2.NET/Core/AutoGenPoco/IExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IExpression.cs b/SysML2.NET/Core/AutoGenPoco/IExpression.cs index 77a7c7e6..29777ba1 100644 --- a/SysML2.NET/Core/AutoGenPoco/IExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFeature.cs b/SysML2.NET/Core/AutoGenPoco/IFeature.cs index e736fa63..f6d28b0b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFeature.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,18 +39,19 @@ namespace SysML2.NET.Core.POCO.Core.Features /// A Feature is a Type that classifies relations between multiple things (in the universe). The domain /// of the relation is the intersection of the featuringTypes of the Feature. (The domain of a Feature /// with no featuringTyps is implicitly the most general Type Base::Anything from the Kernel Semantic - /// Library.) The co-domain of the relation is the intersection of the types of the Feature.In the - /// simplest cases, the featuringTypes and types are Classifiers and the Feature relates two things, one - /// from the domain and one from the range. Examples include cars paired with wheels, people paired with - /// other people, and cars paired with numbers representing the car length.Since Features are Types, - /// their featuringTypes and types can be Features. In this case, the Feature effectively classifies - /// relations between relations, which can be interpreted as the sequence of things related by the - /// domain Feature concatenated with the sequence of things related by the co-domain Feature.The values - /// of a Feature for a given instance of its domain are all the instances of its co-domain that are - /// related to that domain instance by the Feature. The values of a Feature with chainingFeatures are - /// the same as values of the last Feature in the chain, which can be found by starting with values of - /// the first Feature, then using those values as domain instances to obtain valus of the second - /// Feature, and so on, to values of the last Feature. + /// Library.) The co-domain of the relation is the intersection of the types of the Feature. + /// In the simplest cases, the featuringTypes and types are Classifiers and the Feature + /// relates two things, one from the domain and one from the range. Examples include cars paired with + /// wheels, people paired with other people, and cars paired with numbers representing the car length. + /// Since Features are Types, their featuringTypes and types can be Features. In + /// this case, the Feature effectively classifies relations between relations, which can be interpreted + /// as the sequence of things related by the domain Feature concatenated with the sequence of things + /// related by the co-domain Feature. The values of a Feature for a given + /// instance of its domain are all the instances of its co-domain that are related to that domain + /// instance by the Feature. The values of a Feature with chainingFeatures are the same as values of the + /// last Feature in the chain, which can be found by starting with values of the first Feature, then + /// using those values as domain instances to obtain valus of the second Feature, and so on, to values + /// of the last Feature. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651684_893483_42160", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IFeatureChainExpression.cs b/SysML2.NET/Core/AutoGenPoco/IFeatureChainExpression.cs index 654686c0..cd94d956 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFeatureChainExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFeatureChainExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFeatureChaining.cs b/SysML2.NET/Core/AutoGenPoco/IFeatureChaining.cs index 4c64223c..be314cdd 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFeatureChaining.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFeatureChaining.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFeatureInverting.cs b/SysML2.NET/Core/AutoGenPoco/IFeatureInverting.cs index 3739211c..44d62f72 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFeatureInverting.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFeatureInverting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFeatureMembership.cs b/SysML2.NET/Core/AutoGenPoco/IFeatureMembership.cs index effbc9be..0f241227 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFeatureReferenceExpression.cs b/SysML2.NET/Core/AutoGenPoco/IFeatureReferenceExpression.cs index 9b601bec..faaa57bb 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFeatureReferenceExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFeatureReferenceExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFeatureTyping.cs b/SysML2.NET/Core/AutoGenPoco/IFeatureTyping.cs index 5e51ce4b..3c79d628 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFeatureTyping.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFeatureTyping.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFeatureValue.cs b/SysML2.NET/Core/AutoGenPoco/IFeatureValue.cs index 02e08445..3b4aa5d1 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFeatureValue.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFeatureValue.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,13 +40,14 @@ namespace SysML2.NET.Core.POCO.Kernel.FeatureValues /// A FeatureValue is a Membership that identifies a particular member Expression that provides the /// value of the Feature that owns the FeatureValue. The value is specified as either a bound value or /// an initial value, and as either a concrete or default value. A Feature can have at most one - /// FeatureValue.The result of the value Expression is bound to the featureWithValue using a - /// BindingConnector. If isInitial = false, then the featuringType of the BindingConnector is the same - /// as the featuringType of the featureWithValue. If isInitial = true, then the featuringType of the - /// BindingConnector is restricted to its startShot.If isDefault = false, then the above semantics of - /// the FeatureValue are realized for the given featureWithValue. Otherwise, the semantics are realized - /// for any individual of the featuringType of the featureWithValue, unless another value is explicitly - /// given for the featureWithValue for that individual. + /// FeatureValue. The result of the value Expression is bound to the + /// featureWithValue using a BindingConnector. If isInitial = false, then the featuringType of the + /// BindingConnector is the same as the featuringType of the featureWithValue. If isInitial = true, then + /// the featuringType of the BindingConnector is restricted to its startShot. If + /// isDefault = false, then the above semantics of the FeatureValue are realized for the given + /// featureWithValue. Otherwise, the semantics are realized for any individual of the featuringType of + /// the featureWithValue, unless another value is explicitly given for the featureWithValue for that + /// individual. /// [Class(xmiId: "_18_5_3_12e503d9_1543180279304_499907_20659", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IFlow.cs b/SysML2.NET/Core/AutoGenPoco/IFlow.cs index 7eeeaf1b..0ce518fc 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFlow.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFlow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFlowDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IFlowDefinition.cs index 694372cc..27874e1c 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFlowDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFlowDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFlowEnd.cs b/SysML2.NET/Core/AutoGenPoco/IFlowEnd.cs index 9f3736dd..c5003c35 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFlowEnd.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFlowEnd.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFlowUsage.cs b/SysML2.NET/Core/AutoGenPoco/IFlowUsage.cs index 7262bf7b..311c6d50 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFlowUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFlowUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -77,7 +77,6 @@ public partial interface IFlowUsage : IConnectorAsUsage, IFlow, IActionUsage /// Model Libraries. /// [Property(xmiId: "_19_0_4_12e503d9_1661892878973_977062_185", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1661900477937_518125_727")] List flowDefinition { get; } diff --git a/SysML2.NET/Core/AutoGenPoco/IForLoopActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IForLoopActionUsage.cs index 49b09551..7bc80830 100644 --- a/SysML2.NET/Core/AutoGenPoco/IForLoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IForLoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IForkNode.cs b/SysML2.NET/Core/AutoGenPoco/IForkNode.cs index 66227008..f8fbfccb 100644 --- a/SysML2.NET/Core/AutoGenPoco/IForkNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/IForkNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFramedConcernMembership.cs b/SysML2.NET/Core/AutoGenPoco/IFramedConcernMembership.cs index b7cdbd8d..44d494b3 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFramedConcernMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFramedConcernMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IFunction.cs b/SysML2.NET/Core/AutoGenPoco/IFunction.cs index ba58db06..583c7de5 100644 --- a/SysML2.NET/Core/AutoGenPoco/IFunction.cs +++ b/SysML2.NET/Core/AutoGenPoco/IFunction.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -56,9 +56,9 @@ public partial interface IFunction : IBehavior /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] bool isModelLevelEvaluable { get; } diff --git a/SysML2.NET/Core/AutoGenPoco/IIfActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IIfActionUsage.cs index 2947d01c..540d8a0d 100644 --- a/SysML2.NET/Core/AutoGenPoco/IIfActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IIfActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IImport.cs b/SysML2.NET/Core/AutoGenPoco/IImport.cs index ad7fb55e..456a3edb 100644 --- a/SysML2.NET/Core/AutoGenPoco/IImport.cs +++ b/SysML2.NET/Core/AutoGenPoco/IImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IIncludeUseCaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/IIncludeUseCaseUsage.cs index b48d2514..ddbc70ac 100644 --- a/SysML2.NET/Core/AutoGenPoco/IIncludeUseCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IIncludeUseCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IIndexExpression.cs b/SysML2.NET/Core/AutoGenPoco/IIndexExpression.cs index d8600e26..8d22d208 100644 --- a/SysML2.NET/Core/AutoGenPoco/IIndexExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IIndexExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IInstantiationExpression.cs b/SysML2.NET/Core/AutoGenPoco/IInstantiationExpression.cs index 0b0fdc9c..7835aa1c 100644 --- a/SysML2.NET/Core/AutoGenPoco/IInstantiationExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IInstantiationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,8 +40,9 @@ namespace SysML2.NET.Core.POCO.Kernel.Expressions /// /// An InstantiationExpression is an Expression that instantiates its instantiatedType, binding some or - /// all of the features of that Type to the results of its arguments.InstantiationExpression is - /// abstract, with concrete subclasses InvocationExpression and ConstructorExpression. + /// all of the features of that Type to the results of its arguments. + /// InstantiationExpression is abstract, with concrete subclasses InvocationExpression and + /// ConstructorExpression. /// [Class(xmiId: "_2022x_2_12e503d9_1739136879941_579104_183", isAbstract: true, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -50,8 +51,8 @@ public partial interface IInstantiationExpression : IExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] List argument { get; } diff --git a/SysML2.NET/Core/AutoGenPoco/IInteraction.cs b/SysML2.NET/Core/AutoGenPoco/IInteraction.cs index c03485da..1f2191f8 100644 --- a/SysML2.NET/Core/AutoGenPoco/IInteraction.cs +++ b/SysML2.NET/Core/AutoGenPoco/IInteraction.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IInterfaceDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IInterfaceDefinition.cs index 489d1b9e..5644d25e 100644 --- a/SysML2.NET/Core/AutoGenPoco/IInterfaceDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IInterfaceDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IInterfaceUsage.cs b/SysML2.NET/Core/AutoGenPoco/IInterfaceUsage.cs index fb0230cd..c183a79e 100644 --- a/SysML2.NET/Core/AutoGenPoco/IInterfaceUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IInterfaceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IIntersecting.cs b/SysML2.NET/Core/AutoGenPoco/IIntersecting.cs index af088c86..ea8d1864 100644 --- a/SysML2.NET/Core/AutoGenPoco/IIntersecting.cs +++ b/SysML2.NET/Core/AutoGenPoco/IIntersecting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IInvariant.cs b/SysML2.NET/Core/AutoGenPoco/IInvariant.cs index 55984435..09ff242c 100644 --- a/SysML2.NET/Core/AutoGenPoco/IInvariant.cs +++ b/SysML2.NET/Core/AutoGenPoco/IInvariant.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IInvocationExpression.cs b/SysML2.NET/Core/AutoGenPoco/IInvocationExpression.cs index 9b952075..f9035229 100644 --- a/SysML2.NET/Core/AutoGenPoco/IInvocationExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IInvocationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IItemDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IItemDefinition.cs index d6f46de6..411a00cc 100644 --- a/SysML2.NET/Core/AutoGenPoco/IItemDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IItemDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IItemUsage.cs b/SysML2.NET/Core/AutoGenPoco/IItemUsage.cs index 49afad72..07dc0f0b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IItemUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IItemUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IJoinNode.cs b/SysML2.NET/Core/AutoGenPoco/IJoinNode.cs index 3729007a..e678bb7c 100644 --- a/SysML2.NET/Core/AutoGenPoco/IJoinNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/IJoinNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ILibraryPackage.cs b/SysML2.NET/Core/AutoGenPoco/ILibraryPackage.cs index e69294de..996dcbaa 100644 --- a/SysML2.NET/Core/AutoGenPoco/ILibraryPackage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ILibraryPackage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ILiteralBoolean.cs b/SysML2.NET/Core/AutoGenPoco/ILiteralBoolean.cs index 6b7748de..01e3049b 100644 --- a/SysML2.NET/Core/AutoGenPoco/ILiteralBoolean.cs +++ b/SysML2.NET/Core/AutoGenPoco/ILiteralBoolean.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ILiteralExpression.cs b/SysML2.NET/Core/AutoGenPoco/ILiteralExpression.cs index c8e6a254..d2ac29dd 100644 --- a/SysML2.NET/Core/AutoGenPoco/ILiteralExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/ILiteralExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ILiteralInfinity.cs b/SysML2.NET/Core/AutoGenPoco/ILiteralInfinity.cs index 2fc69013..42610bef 100644 --- a/SysML2.NET/Core/AutoGenPoco/ILiteralInfinity.cs +++ b/SysML2.NET/Core/AutoGenPoco/ILiteralInfinity.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ILiteralInteger.cs b/SysML2.NET/Core/AutoGenPoco/ILiteralInteger.cs index dc6f5320..5fdd4b53 100644 --- a/SysML2.NET/Core/AutoGenPoco/ILiteralInteger.cs +++ b/SysML2.NET/Core/AutoGenPoco/ILiteralInteger.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ILiteralRational.cs b/SysML2.NET/Core/AutoGenPoco/ILiteralRational.cs index c31e4782..071d2bb2 100644 --- a/SysML2.NET/Core/AutoGenPoco/ILiteralRational.cs +++ b/SysML2.NET/Core/AutoGenPoco/ILiteralRational.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ILiteralString.cs b/SysML2.NET/Core/AutoGenPoco/ILiteralString.cs index 3bf3217e..e731f225 100644 --- a/SysML2.NET/Core/AutoGenPoco/ILiteralString.cs +++ b/SysML2.NET/Core/AutoGenPoco/ILiteralString.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ILoopActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/ILoopActionUsage.cs index 3607212c..dbe8f129 100644 --- a/SysML2.NET/Core/AutoGenPoco/ILoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ILoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IMembership.cs b/SysML2.NET/Core/AutoGenPoco/IMembership.cs index b6ad92e6..ecd8116b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,10 +37,11 @@ namespace SysML2.NET.Core.POCO.Root.Namespaces /// A Membership is a Relationship between a Namespace and an Element that indicates the Element is a /// member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is /// identified in the Namespace and the visibility specifies whether or not the memberElement is - /// publicly visible from outside the Namespace.If a Membership is an OwningMembership, then it owns its - /// memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the - /// memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an - /// Element with a separate OwningMembership in the same or a different Namespace. + /// publicly visible from outside the Namespace. If a Membership is an + /// OwningMembership, then it owns its memberElement, which becomes an ownedMember of the + /// membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within + /// the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a + /// different Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651680_888716_42152", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IMembershipExpose.cs b/SysML2.NET/Core/AutoGenPoco/IMembershipExpose.cs index a485b994..7e9b38db 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMembershipExpose.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMembershipExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IMembershipImport.cs b/SysML2.NET/Core/AutoGenPoco/IMembershipImport.cs index fbf57925..f47d1bd7 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMembershipImport.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMembershipImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IMergeNode.cs b/SysML2.NET/Core/AutoGenPoco/IMergeNode.cs index 2f3b9f02..a1722664 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMergeNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMergeNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IMetaclass.cs b/SysML2.NET/Core/AutoGenPoco/IMetaclass.cs index 1bf80783..29930476 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMetaclass.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMetaclass.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IMetadataAccessExpression.cs b/SysML2.NET/Core/AutoGenPoco/IMetadataAccessExpression.cs index 397f08fa..fc53faaa 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMetadataAccessExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMetadataAccessExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IMetadataDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IMetadataDefinition.cs index 9711c959..e14f81e6 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMetadataDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMetadataDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IMetadataFeature.cs b/SysML2.NET/Core/AutoGenPoco/IMetadataFeature.cs index 61ac14e8..14499381 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMetadataFeature.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMetadataFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IMetadataUsage.cs b/SysML2.NET/Core/AutoGenPoco/IMetadataUsage.cs index 9ac4e630..76aac05c 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMetadataUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMetadataUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -76,7 +76,6 @@ public partial interface IMetadataUsage : IItemUsage, IMetadataFeature /// The MetadataDefinition that is the definition of this MetadataUsage. /// [Property(xmiId: "_19_0_4_12e503d9_1647727047674_847094_2563", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565471361757_649736_20796")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1606345564958_925589_327")] IMetaclass metadataDefinition { get; } diff --git a/SysML2.NET/Core/AutoGenPoco/IMultiplicity.cs b/SysML2.NET/Core/AutoGenPoco/IMultiplicity.cs index 1283973b..f423b9a7 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMultiplicity.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMultiplicity.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -38,15 +38,16 @@ namespace SysML2.NET.Core.POCO.Core.Types /// /// A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed /// cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, - /// depending on whether the Type is a Classifier or Feature.
  • Classifier – The number of basic - /// instances of the Classifier, that is, those instances representing things, which are not instances - /// of any subtypes of the Classifier that are Features.
  • Features – The number of instances with the - /// same featuring instances. In the case of a Feature with a Classifier as its featuringType, this is - /// the number of values of Feature for each basic instance of the Classifier. Note that, for non-unique - /// Features, all duplicate values are included in this count.
Multiplicity co-domains (in - /// models) can be specified by Expression that might vary in their results. If the typeWithMultiplicity - /// is a Classifier, the domain of the Multiplicity shall be Base::Anything. If the - /// typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the + /// depending on whether the Type is a Classifier or Feature.
    + ///
  • Classifier – The number of basic instances of the Classifier, that is, those instances + /// representing things, which are not instances of any subtypes of the Classifier that are Features. + ///
  • Features – The number of instances with the same featuring instances. In the + /// case of a Feature with a Classifier as its featuringType, this is the number of values of Feature + /// for each basic instance of the Classifier. Note that, for non-unique Features, all duplicate values + /// are included in this count.
Multiplicity + /// co-domains (in models) can be specified by Expression that might vary in their results. If the + /// typeWithMultiplicity is a Classifier, the domain of the Multiplicity shall be Base::Anything. If + /// the typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the /// typeWithMultiplicity. ///
[Class(xmiId: "_19_0_2_12e503d9_1573083797505_495205_3879", isAbstract: false, isFinalSpecialization: false, isActive: false)] diff --git a/SysML2.NET/Core/AutoGenPoco/IMultiplicityRange.cs b/SysML2.NET/Core/AutoGenPoco/IMultiplicityRange.cs index de23b8da..576ca9cb 100644 --- a/SysML2.NET/Core/AutoGenPoco/IMultiplicityRange.cs +++ b/SysML2.NET/Core/AutoGenPoco/IMultiplicityRange.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/INamespace.cs b/SysML2.NET/Core/AutoGenPoco/INamespace.cs index dd855bb2..0ea74566 100644 --- a/SysML2.NET/Core/AutoGenPoco/INamespace.cs +++ b/SysML2.NET/Core/AutoGenPoco/INamespace.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -35,13 +35,14 @@ namespace SysML2.NET.Core.POCO.Root.Namespaces /// /// A Namespace is an Element that contains other Elements, known as its members, via Membership /// Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased - /// in the Namespace, or imported into the Namespace via Import Relationships.A Namespace can provide - /// names for its members via the memberNames and memberShortNames specified by the Memberships in the - /// Namespace. If a Membership specifies a memberName and/or memberShortName, then those are names of - /// the corresponding memberElement relative to the Namespace. For an OwningMembership, the - /// ownedMemberName and ownedMemberShortName are given by the Element name and shortName. Note that the - /// same Element may be the memberElement of multiple Memberships in a Namespace (though it may be owned - /// at most once), each of which may define a separate alias for the Element relative to the Namespace. + /// in the Namespace, or imported into the Namespace via Import Relationships. A + /// Namespace can provide names for its members via the memberNames and memberShortNames specified by + /// the Memberships in the Namespace. If a Membership specifies a memberName and/or memberShortName, + /// then those are names of the corresponding memberElement relative to the Namespace. For an + /// OwningMembership, the ownedMemberName and ownedMemberShortName are given by the Element name and + /// shortName. Note that the same Element may be the memberElement of multiple Memberships in a + /// Namespace (though it may be owned at most once), each of which may define a separate alias for the + /// Element relative to the Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651694_110063_42176", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/INamespaceExpose.cs b/SysML2.NET/Core/AutoGenPoco/INamespaceExpose.cs index 7745eb9a..b25568ad 100644 --- a/SysML2.NET/Core/AutoGenPoco/INamespaceExpose.cs +++ b/SysML2.NET/Core/AutoGenPoco/INamespaceExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/INamespaceImport.cs b/SysML2.NET/Core/AutoGenPoco/INamespaceImport.cs index 140ccf95..724a33dc 100644 --- a/SysML2.NET/Core/AutoGenPoco/INamespaceImport.cs +++ b/SysML2.NET/Core/AutoGenPoco/INamespaceImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/INullExpression.cs b/SysML2.NET/Core/AutoGenPoco/INullExpression.cs index d1d1ed49..cd7d37e7 100644 --- a/SysML2.NET/Core/AutoGenPoco/INullExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/INullExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IObjectiveMembership.cs b/SysML2.NET/Core/AutoGenPoco/IObjectiveMembership.cs index bfa5347b..f6ba6a09 100644 --- a/SysML2.NET/Core/AutoGenPoco/IObjectiveMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IObjectiveMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IOccurrenceDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IOccurrenceDefinition.cs index f1a0be4b..00002fdf 100644 --- a/SysML2.NET/Core/AutoGenPoco/IOccurrenceDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IOccurrenceDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IOccurrenceUsage.cs b/SysML2.NET/Core/AutoGenPoco/IOccurrenceUsage.cs index 0ffda3c9..c2b9d3b8 100644 --- a/SysML2.NET/Core/AutoGenPoco/IOccurrenceUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IOccurrenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IOperatorExpression.cs b/SysML2.NET/Core/AutoGenPoco/IOperatorExpression.cs index b215b84a..41b2a924 100644 --- a/SysML2.NET/Core/AutoGenPoco/IOperatorExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IOperatorExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IOwningMembership.cs b/SysML2.NET/Core/AutoGenPoco/IOwningMembership.cs index fb021341..b2b8e291 100644 --- a/SysML2.NET/Core/AutoGenPoco/IOwningMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IOwningMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IPackage.cs b/SysML2.NET/Core/AutoGenPoco/IPackage.cs index d87d681d..07978584 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPackage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPackage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IParameterMembership.cs b/SysML2.NET/Core/AutoGenPoco/IParameterMembership.cs index 8f747260..0e5f1485 100644 --- a/SysML2.NET/Core/AutoGenPoco/IParameterMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IParameterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IPartDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IPartDefinition.cs index b408b1d0..7c935549 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPartDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPartDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IPartUsage.cs b/SysML2.NET/Core/AutoGenPoco/IPartUsage.cs index ca0904a6..e87d272e 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPartUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPartUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -63,8 +63,8 @@ namespace SysML2.NET.Core.POCO.Systems.Parts /// /// A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one - /// of the itemDefinitions of the PartUsage must be a PartDefinition.A PartUsage must subset, directly - /// or indirectly, the base PartUsage parts from the Systems Model Library. + /// of the itemDefinitions of the PartUsage must be a PartDefinition. A PartUsage + /// must subset, directly or indirectly, the base PartUsage parts from the Systems Model Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471239590_312157_20701", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IPayloadFeature.cs b/SysML2.NET/Core/AutoGenPoco/IPayloadFeature.cs index d91451ab..84ad7ad2 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPayloadFeature.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPayloadFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IPerformActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IPerformActionUsage.cs index a4ab1cd6..a2fe2526 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPerformActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPerformActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IPortConjugation.cs b/SysML2.NET/Core/AutoGenPoco/IPortConjugation.cs index 6a20e560..b8a2347a 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPortConjugation.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPortConjugation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IPortDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IPortDefinition.cs index aefec5e2..ed3770b6 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPortDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPortDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IPortUsage.cs b/SysML2.NET/Core/AutoGenPoco/IPortUsage.cs index 481b570d..0a2be1c5 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPortUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPortUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IPredicate.cs b/SysML2.NET/Core/AutoGenPoco/IPredicate.cs index cd2cef94..733a0b28 100644 --- a/SysML2.NET/Core/AutoGenPoco/IPredicate.cs +++ b/SysML2.NET/Core/AutoGenPoco/IPredicate.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IRedefinition.cs b/SysML2.NET/Core/AutoGenPoco/IRedefinition.cs index 4a20b596..bdb6ba29 100644 --- a/SysML2.NET/Core/AutoGenPoco/IRedefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IRedefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IReferenceSubsetting.cs b/SysML2.NET/Core/AutoGenPoco/IReferenceSubsetting.cs index 4987db67..cab932ed 100644 --- a/SysML2.NET/Core/AutoGenPoco/IReferenceSubsetting.cs +++ b/SysML2.NET/Core/AutoGenPoco/IReferenceSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,8 +39,8 @@ namespace SysML2.NET.Core.POCO.Core.Features /// distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the /// same semantics as Subsetting, but the referencedFeature may have a special purpose relative to the /// referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a - /// Connector.ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature - /// can have at most one ownedReferenceSubsetting. + /// Connector. ReferenceSubsetting is always an ownedRelationship of its + /// referencingFeature. A Feature can have at most one ownedReferenceSubsetting. /// [Class(xmiId: "_19_0_4_12e503d9_1661554793960_500657_60", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IReferenceUsage.cs b/SysML2.NET/Core/AutoGenPoco/IReferenceUsage.cs index cfda3e24..66c259ee 100644 --- a/SysML2.NET/Core/AutoGenPoco/IReferenceUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IReferenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IRelationship.cs b/SysML2.NET/Core/AutoGenPoco/IRelationship.cs index 35316a4e..c896e102 100644 --- a/SysML2.NET/Core/AutoGenPoco/IRelationship.cs +++ b/SysML2.NET/Core/AutoGenPoco/IRelationship.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,14 +37,14 @@ namespace SysML2.NET.Core.POCO.Root.Elements /// in which case those ownedRelatedElements will be deleted from a model if their owningRelationship /// is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of /// the Relationship are also considered to be transitively owned by the owningRelatedElement of the - /// Relationship.The relatedElements of a Relationship are divided into source and target Elements. The - /// Relationship is considered to be directed from the source to the target Elements. An undirected - /// Relationship may have either all source or all target Elements.A "relationship Element" in - /// the abstract syntax is generically any Element that is an instance of either Relationship or a - /// direct or indirect specialization of Relationship. Any other kind of Element is a - /// "non-relationship Element". It is a convention of that non-relationship Elements are only - /// related via reified relationship Elements. Any meta-associations directly between non-relationship - /// Elements must be derived from underlying reified Relationship. + /// Relationship. The relatedElements of a Relationship are divided into source + /// and target Elements. The Relationship is considered to be directed from the source to the target + /// Elements. An undirected Relationship may have either all source or all target Elements. + /// A "relationship Element" in the abstract syntax is generically any Element that + /// is an instance of either Relationship or a direct or indirect specialization of Relationship. Any + /// other kind of Element is a "non-relationship Element". It is a convention of that + /// non-relationship Elements are only related via reified relationship Elements. Any meta-associations + /// directly between non-relationship Elements must be derived from underlying reified Relationship. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651700_869737_42192", isAbstract: true, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IRenderingDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IRenderingDefinition.cs index 8aec217f..7a7e2f2d 100644 --- a/SysML2.NET/Core/AutoGenPoco/IRenderingDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IRenderingDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IRenderingUsage.cs b/SysML2.NET/Core/AutoGenPoco/IRenderingUsage.cs index cdbe13a8..0646b438 100644 --- a/SysML2.NET/Core/AutoGenPoco/IRenderingUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IRenderingUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IRequirementConstraintMembership.cs b/SysML2.NET/Core/AutoGenPoco/IRequirementConstraintMembership.cs index 198ac06b..a8891c62 100644 --- a/SysML2.NET/Core/AutoGenPoco/IRequirementConstraintMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IRequirementConstraintMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IRequirementDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IRequirementDefinition.cs index 98a6231e..72fc7b5d 100644 --- a/SysML2.NET/Core/AutoGenPoco/IRequirementDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IRequirementDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -73,7 +73,6 @@ public partial interface IRequirementDefinition : IConstraintDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621564041941_652319_2722", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List actorParameter { get; } /// @@ -116,7 +115,6 @@ public partial interface IRequirementDefinition : IConstraintDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1624033010374_29375_40166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] List stakeholderParameter { get; } /// @@ -124,7 +122,6 @@ public partial interface IRequirementDefinition : IConstraintDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189007408_784255_586", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] IUsage subjectParameter { get; } /// diff --git a/SysML2.NET/Core/AutoGenPoco/IRequirementUsage.cs b/SysML2.NET/Core/AutoGenPoco/IRequirementUsage.cs index 9ae8835d..5d2e7ccd 100644 --- a/SysML2.NET/Core/AutoGenPoco/IRequirementUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IRequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -74,7 +74,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List actorParameter { get; } /// @@ -124,7 +123,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List stakeholderParameter { get; } /// @@ -132,7 +130,6 @@ public partial interface IRequirementUsage : IConstraintUsage /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] IUsage subjectParameter { get; } /// diff --git a/SysML2.NET/Core/AutoGenPoco/IRequirementVerificationMembership.cs b/SysML2.NET/Core/AutoGenPoco/IRequirementVerificationMembership.cs index 5e024a44..c7793f44 100644 --- a/SysML2.NET/Core/AutoGenPoco/IRequirementVerificationMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IRequirementVerificationMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IResultExpressionMembership.cs b/SysML2.NET/Core/AutoGenPoco/IResultExpressionMembership.cs index 1d14b461..0fb557a2 100644 --- a/SysML2.NET/Core/AutoGenPoco/IResultExpressionMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IResultExpressionMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IReturnParameterMembership.cs b/SysML2.NET/Core/AutoGenPoco/IReturnParameterMembership.cs index 22211dbd..3bb23e5b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IReturnParameterMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IReturnParameterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISatisfyRequirementUsage.cs b/SysML2.NET/Core/AutoGenPoco/ISatisfyRequirementUsage.cs index 058aac03..e163372a 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISatisfyRequirementUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISatisfyRequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISelectExpression.cs b/SysML2.NET/Core/AutoGenPoco/ISelectExpression.cs index fad70554..54da6b86 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISelectExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISelectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISendActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/ISendActionUsage.cs index 3d51c6ff..d60bee34 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISendActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISendActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISpecialization.cs b/SysML2.NET/Core/AutoGenPoco/ISpecialization.cs index 308660ad..6606402e 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISpecialization.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISpecialization.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IStakeholderMembership.cs b/SysML2.NET/Core/AutoGenPoco/IStakeholderMembership.cs index d1851328..64508a9d 100644 --- a/SysML2.NET/Core/AutoGenPoco/IStakeholderMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IStakeholderMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IStateDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IStateDefinition.cs index 7116477e..5d38e762 100644 --- a/SysML2.NET/Core/AutoGenPoco/IStateDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IStateDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -60,9 +60,9 @@ namespace SysML2.NET.Core.POCO.Systems.States /// /// A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain - /// state condition.A StateDefinition may be related to up to three of its ownedFeatures by - /// StateBehaviorMembership Relationships, all of different kinds, corresponding to the entry, do and - /// exit actions of the StateDefinition. + /// state condition. A StateDefinition may be related to up to three of its + /// ownedFeatures by StateBehaviorMembership Relationships, all of different kinds, corresponding to the + /// entry, do and exit actions of the StateDefinition. /// [Class(xmiId: "_19_0_2_12e503d9_1575587534200_898246_600", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IStateSubactionMembership.cs b/SysML2.NET/Core/AutoGenPoco/IStateSubactionMembership.cs index e02f0f39..148cae74 100644 --- a/SysML2.NET/Core/AutoGenPoco/IStateSubactionMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IStateSubactionMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IStateUsage.cs b/SysML2.NET/Core/AutoGenPoco/IStateUsage.cs index f30b1670..9945c784 100644 --- a/SysML2.NET/Core/AutoGenPoco/IStateUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IStateUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -63,9 +63,10 @@ namespace SysML2.NET.Core.POCO.Systems.States /// /// A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other - /// kinds of kernel Behaviors are also allowed as types, to permit use of BehaviorsA StateUsage may be - /// related to up to three of its ownedFeatures by StateSubactionMembership Relationships, all of - /// different kinds, corresponding to the entry, do and exit actions of the StateUsage. + /// kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors + /// A StateUsage may be related to up to three of its ownedFeatures by StateSubactionMembership + /// Relationships, all of different kinds, corresponding to the entry, do and exit actions of the + /// StateUsage. /// [Class(xmiId: "_19_0_2_12e503d9_1575587557729_586912_651", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/IStep.cs b/SysML2.NET/Core/AutoGenPoco/IStep.cs index 888a555b..02865046 100644 --- a/SysML2.NET/Core/AutoGenPoco/IStep.cs +++ b/SysML2.NET/Core/AutoGenPoco/IStep.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IStructure.cs b/SysML2.NET/Core/AutoGenPoco/IStructure.cs index 34dc94a2..8e7b5e5b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IStructure.cs +++ b/SysML2.NET/Core/AutoGenPoco/IStructure.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISubclassification.cs b/SysML2.NET/Core/AutoGenPoco/ISubclassification.cs index 010c2672..eaf5c2bb 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISubclassification.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISubclassification.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISubjectMembership.cs b/SysML2.NET/Core/AutoGenPoco/ISubjectMembership.cs index bac55bb6..56561a73 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISubjectMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISubjectMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISubsetting.cs b/SysML2.NET/Core/AutoGenPoco/ISubsetting.cs index 06971a7e..b1f196e3 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISubsetting.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISuccession.cs b/SysML2.NET/Core/AutoGenPoco/ISuccession.cs index 0050957d..6254caaa 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISuccession.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISuccession.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISuccessionAsUsage.cs b/SysML2.NET/Core/AutoGenPoco/ISuccessionAsUsage.cs index 9dc97cf9..2a5380d6 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISuccessionAsUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISuccessionAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISuccessionFlow.cs b/SysML2.NET/Core/AutoGenPoco/ISuccessionFlow.cs index fa6f7214..e88e196e 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISuccessionFlow.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISuccessionFlow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ISuccessionFlowUsage.cs b/SysML2.NET/Core/AutoGenPoco/ISuccessionFlowUsage.cs index 6511998c..e94009c8 100644 --- a/SysML2.NET/Core/AutoGenPoco/ISuccessionFlowUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ISuccessionFlowUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ITerminateActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/ITerminateActionUsage.cs index d4a72a8f..e7737929 100644 --- a/SysML2.NET/Core/AutoGenPoco/ITerminateActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ITerminateActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ITextualRepresentation.cs b/SysML2.NET/Core/AutoGenPoco/ITextualRepresentation.cs index 216f19d6..ea7cf327 100644 --- a/SysML2.NET/Core/AutoGenPoco/ITextualRepresentation.cs +++ b/SysML2.NET/Core/AutoGenPoco/ITextualRepresentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -37,26 +37,30 @@ namespace SysML2.NET.Core.POCO.Root.Annotations /// given language. The representedElement must be the owner of the TextualRepresentation. The named /// language can be a natural language, in which case the body is an informal representation, or an /// artificial language, in which case the body is expected to be a formal, machine-parsable - /// representation.If the named language of a TextualRepresentation is machine-parsable, then the body - /// text should be legal input text as defined for that language. The interpretation of the named - /// language string shall be case insensitive. The following language names are defined to correspond to - /// the given standard languages:
kerml Kernel Modeling Language
ocl Object Constraint - /// Language
alf Action Language for fUML
Other specifications may - /// define specific language strings, other than those shown above, to be used to indicate the use of - /// languages from those specifications in KerML TextualRepresentation.If the language of a - /// TextualRepresentation is "kerml", then the body text shall be a legal representation of - /// the representedElement in the KerML textual concrete syntax. A conforming tool can use such a - /// TextualRepresentation Annotation to record the original KerML concrete syntax text from which an - /// Element was parsed. In this case, it is a tool responsibility to ensure that the body of the - /// TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element - /// changes other than by re-parsing the body text.An Element with a TextualRepresentation in a language - /// other than KerML is essentially a semantically "opaque" Element specified in the other - /// language. However, a conforming KerML tool may interpret such an element consistently with the - /// specification of the named language. + /// representation. If the named language of a TextualRepresentation is + /// machine-parsable, then the body text should be legal input text as defined for that language. The + /// interpretation of the named language string shall be case insensitive. The following language names + /// are defined to correspond to the given standard languages: + /// + /// + /// + /// + ///
kerml Kernel Modeling Language
ocl Object Constraint Language
alfAction Language for fUML
Other + /// specifications may define specific language strings, other than those shown above, to be used to + /// indicate the use of languages from those specifications in KerML TextualRepresentation. + /// If the language of a TextualRepresentation is "kerml", then the body text shall + /// be a legal representation of the representedElement in the KerML textual concrete syntax. A + /// conforming tool can use such a TextualRepresentation Annotation to record the original KerML + /// concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to + /// ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if + /// the annotated Element changes other than by re-parsing the body text. An + /// Element with a TextualRepresentation in a language other than KerML is essentially a semantically + /// "opaque" Element specified in the other language. However, a conforming KerML tool may + /// interpret such an element consistently with the specification of the named language. ///
[Class(xmiId: "_19_0_2_12e503d9_1594152214531_455349_2448", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/ITransitionFeatureMembership.cs b/SysML2.NET/Core/AutoGenPoco/ITransitionFeatureMembership.cs index e29816a3..af529661 100644 --- a/SysML2.NET/Core/AutoGenPoco/ITransitionFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ITransitionFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ITransitionUsage.cs b/SysML2.NET/Core/AutoGenPoco/ITransitionUsage.cs index 5d64bbd4..e39c5cb5 100644 --- a/SysML2.NET/Core/AutoGenPoco/ITransitionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ITransitionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -67,9 +67,9 @@ namespace SysML2.NET.Core.POCO.Systems.States /// A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or /// StateUsages. When triggered by a triggerAction, when its guardExpression is true, the /// TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and - /// then its target is entered.A TransitionUsage can be related to some of its ownedFeatures using - /// TransitionFeatureMembership Relationships, corresponding to the triggerAction, guardExpression and - /// effectAction of the TransitionUsage. + /// then its target is entered. A TransitionUsage can be related to some of its + /// ownedFeatures using TransitionFeatureMembership Relationships, corresponding to the triggerAction, + /// guardExpression and effectAction of the TransitionUsage. /// [Class(xmiId: "_19_0_2_12e503d9_1575672078353_626298_450", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/ITriggerInvocationExpression.cs b/SysML2.NET/Core/AutoGenPoco/ITriggerInvocationExpression.cs index 239a8b72..f21eb949 100644 --- a/SysML2.NET/Core/AutoGenPoco/ITriggerInvocationExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/ITriggerInvocationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IType.cs b/SysML2.NET/Core/AutoGenPoco/IType.cs index 6c77afef..e688a81b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IType.cs +++ b/SysML2.NET/Core/AutoGenPoco/IType.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -133,11 +133,11 @@ public partial interface IType : INamespace /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] bool IsSufficient { get; set; } diff --git a/SysML2.NET/Core/AutoGenPoco/ITypeFeaturing.cs b/SysML2.NET/Core/AutoGenPoco/ITypeFeaturing.cs index 3b8b16dd..197328b4 100644 --- a/SysML2.NET/Core/AutoGenPoco/ITypeFeaturing.cs +++ b/SysML2.NET/Core/AutoGenPoco/ITypeFeaturing.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IUnioning.cs b/SysML2.NET/Core/AutoGenPoco/IUnioning.cs index ec0a43bc..c16a2f7c 100644 --- a/SysML2.NET/Core/AutoGenPoco/IUnioning.cs +++ b/SysML2.NET/Core/AutoGenPoco/IUnioning.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IUsage.cs b/SysML2.NET/Core/AutoGenPoco/IUsage.cs index 3ccdb091..f418b22f 100644 --- a/SysML2.NET/Core/AutoGenPoco/IUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -59,13 +59,14 @@ namespace SysML2.NET.Core.POCO.Systems.DefinitionAndUsage using SysML2.NET.Decorators; /// - /// A Usage is a usage of a Definition.A Usage may have nestedUsages that model features that apply in - /// the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no - /// semantic significance, other than the nested scoping resulting from the Usage being considered as a - /// Namespace for any nested Definitions.However, if a Usage has isVariation = true, then it represents - /// a variation point Usage. In this case, all of its members must be variant Usages, related to the - /// Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages - /// model different concrete alternatives that can be chosen to fill in for the variation point Usage. + /// A Usage is a usage of a Definition. A Usage may have nestedUsages that model + /// features that apply in the context of the owningUsage. A Usage may also have Definitions nested in + /// it, but this has no semantic significance, other than the nested scoping resulting from the Usage + /// being considered as a Namespace for any nested Definitions. However, if a + /// Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its + /// members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than + /// being features of the Usage, variant Usages model different concrete alternatives that can be chosen + /// to fill in for the variation point Usage. /// [Class(xmiId: "_18_5_3_12e503d9_1565469997820_598571_19982", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -85,7 +86,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List directedUsage { get; } /// @@ -105,9 +105,9 @@ public partial interface IUsage : IFeature /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -274,7 +274,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] List nestedUsage { get; } /// @@ -310,7 +309,6 @@ public partial interface IUsage : IFeature /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] IDefinition owningDefinition { get; } /// diff --git a/SysML2.NET/Core/AutoGenPoco/IUseCaseDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IUseCaseDefinition.cs index 94cb3537..07723b22 100644 --- a/SysML2.NET/Core/AutoGenPoco/IUseCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IUseCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IUseCaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/IUseCaseUsage.cs index ed4a46b3..6cc5905f 100644 --- a/SysML2.NET/Core/AutoGenPoco/IUseCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IUseCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IVariantMembership.cs b/SysML2.NET/Core/AutoGenPoco/IVariantMembership.cs index b9a7778e..658e1714 100644 --- a/SysML2.NET/Core/AutoGenPoco/IVariantMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IVariantMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IVerificationCaseDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IVerificationCaseDefinition.cs index b0114c34..cd1688f1 100644 --- a/SysML2.NET/Core/AutoGenPoco/IVerificationCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IVerificationCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IVerificationCaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/IVerificationCaseUsage.cs index 50eed750..04fb0695 100644 --- a/SysML2.NET/Core/AutoGenPoco/IVerificationCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IVerificationCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IViewDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IViewDefinition.cs index a9155463..ea805345 100644 --- a/SysML2.NET/Core/AutoGenPoco/IViewDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IViewDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IViewRenderingMembership.cs b/SysML2.NET/Core/AutoGenPoco/IViewRenderingMembership.cs index 7f30350a..871c9c84 100644 --- a/SysML2.NET/Core/AutoGenPoco/IViewRenderingMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/IViewRenderingMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IViewUsage.cs b/SysML2.NET/Core/AutoGenPoco/IViewUsage.cs index 3d1fa9d3..425c59ae 100644 --- a/SysML2.NET/Core/AutoGenPoco/IViewUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IViewUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IViewpointDefinition.cs b/SysML2.NET/Core/AutoGenPoco/IViewpointDefinition.cs index 0db613c9..a6b4ee0b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IViewpointDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/IViewpointDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IViewpointUsage.cs b/SysML2.NET/Core/AutoGenPoco/IViewpointUsage.cs index 4d2ad622..e6b940e5 100644 --- a/SysML2.NET/Core/AutoGenPoco/IViewpointUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IViewpointUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IWhileLoopActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IWhileLoopActionUsage.cs index 48b4fdfc..cd67096b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IWhileLoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IWhileLoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/IfActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/IfActionUsage.cs index 0e134b8a..97679bf0 100644 --- a/SysML2.NET/Core/AutoGenPoco/IfActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IfActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -86,7 +86,6 @@ public partial class IfActionUsage : IIfActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -154,7 +153,7 @@ public partial class IfActionUsage : IIfActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -183,7 +182,6 @@ public partial class IfActionUsage : IIfActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -437,11 +435,11 @@ public partial class IfActionUsage : IIfActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -479,9 +477,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -707,7 +705,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -750,9 +747,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -992,7 +988,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Import.cs b/SysML2.NET/Core/AutoGenPoco/Import.cs deleted file mode 100644 index f1fe2e6c..00000000 --- a/SysML2.NET/Core/AutoGenPoco/Import.cs +++ /dev/null @@ -1,315 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// -// -// Copyright (C) 2022-2025 Starion Group S.A. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// ------------------------------------------------------------------------------------------------ - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ - -namespace SysML2.NET.Core.POCO.Root.Namespaces -{ - using System; - using System.CodeDom.Compiler; - using System.Collections.Generic; - using System.Linq; - - using SysML2.NET.Core.Root.Namespaces; - using SysML2.NET.Core.POCO.Root.Annotations; - using SysML2.NET.Core.POCO.Root.Elements; - using SysML2.NET.Decorators; - - /// - /// An Import is an Relationship between its importOwningNamespace and either a Membership (for a - /// MembershipImport) or another Namespace (for a NamespaceImport), which determines a set of - /// Memberships that become importedMemberships of the importOwningNamespace. If isImportAll = false - /// (the default), then only public Memberships are considered "visible". If isImportAll = - /// true, then all Memberships are considered "visible", regardless of their declared - /// visibility. If isRecursive = true, then visible Memberships are also recursively imported from owned - /// sub-Namespaces. - /// - [Class(xmiId: "_18_5_3_12e503d9_1533160651693_673132_42174", isAbstract: true, isFinalSpecialization: false, isActive: false)] - [GeneratedCode("SysML2.NET", "latest")] - public partial class Import : IImport - { - /// - /// Gets or sets the unique identifier - /// - [Property(xmiId: "sysml2.net", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IData.Id")] - public Guid Id { get; set; } - - /// - /// Various alternative identifiers for this Element. Generally, these will be set by tools. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594312532679_496267_4310", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.AliasIds")] - public List AliasIds { get; set; } = []; - - /// - /// The declared name of this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674987_737648_43307", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredName")] - public string DeclaredName { get; set; } - - /// - /// An optional alternative name for the Element that is intended to be shorter or in some way more - /// succinct than its primary name. It may act as a modeler-specified identifier for the Element, though - /// it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a - /// model or relative to some other context. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594160442439_915308_4153", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredShortName")] - public string DeclaredShortName { get; set; } - - /// - /// The Documentation owned by this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594150061166_345630_1621", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.Documentation")] - public List documentation => this.ComputeDocumentation(); - - /// - /// The globally unique identifier for this Element. This is intended to be set by tooling, and it must - /// not change during the lifetime of the Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_844338_43305", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ElementId")] - public string ElementId { get; set; } - - /// - /// The effectively imported Element for this Import. For a MembershipImport, this is the memberElement - /// of the importedMembership. For a NamespaceImport, it is the importedNamespace. - /// - [Property(xmiId: "_19_0_4_12e503d9_1668801846848_909736_64", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IImport.ImportedElement")] - public IElement importedElement => this.ComputeImportedElement(); - - /// - /// The Namespace into which Memberships are imported by this Import, which must be the - /// owningRelatedElement of the Import. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674974_548878_43248", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_693018_16749")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_696758_43228")] - [Implements(implementation: "IImport.ImportOwningNamespace")] - public INamespace importOwningNamespace => this.ComputeImportOwningNamespace(); - - /// - /// Whether this Relationship was generated by tooling to meet semantic rules, rather than being - /// directly created by a modeler. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070829631_521257_3623", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IRelationship.IsImplied")] - public bool IsImplied { get; set; } - - /// - /// Whether all necessary implied Relationships have been included in the ownedRelationships of this - /// Element. This property may be true, even if there are not actually any ownedRelationships with - /// isImplied = true, meaning that no such Relationships are actually implied for this Element. However, - /// if it is false, then ownedRelationships may not contain any implied Relationships. That is, either - /// all required implied Relationships must be included, or none of them. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070949317_79713_3658", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IElement.IsImpliedIncluded")] - public bool IsImpliedIncluded { get; set; } - - /// - /// Whether to import memberships without regard to declared visibility. - /// - [Property(xmiId: "_19_0_4_12e503d9_1622577942205_869984_64", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IImport.IsImportAll")] - public bool IsImportAll { get; set; } - - /// - /// Whether this Element is contained in the ownership tree of a library model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1665443500960_5561_723", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.IsLibraryElement")] - public bool isLibraryElement => this.ComputeIsLibraryElement(); - - /// - /// Whether to recursively import Memberships from visible, owned sub-Namespaces. - /// - [Property(xmiId: "_19_0_4_12e503d9_1605759116711_596237_5033", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IImport.IsRecursive")] - public bool IsRecursive { get; set; } - - /// - /// The name to be used for this Element during name resolution within its owningNamespace. This is - /// derived using the effectiveName() operation. By default, it is the same as the declaredName, but - /// this is overridden for certain kinds of Elements to compute a name even when the declaredName is - /// null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617485009541_709355_27528", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Name")] - public string name => this.ComputeName(); - - /// - /// The ownedRelationships of this Element that are Annotations, for which this Element is the - /// annotatedElement. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594152527165_702130_2500", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543094430277_599480_18543")] - [Implements(implementation: "IElement.OwnedAnnotation")] - public List ownedAnnotation => this.ComputeOwnedAnnotation(); - - /// - /// The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of - /// this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_112608_17278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.OwnedElement")] - public List ownedElement => this.ComputeOwnedElement(); - - /// - /// The relatedElements of this Relationship that are owned by the Relationship. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_59873_43302", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.OwnedRelatedElement")] - public List OwnedRelatedElement { get; set; } = []; - - /// - /// The Relationships for which this Element is the owningRelatedElement. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_217766_16748", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwnedRelationship")] - public List OwnedRelationship { get; set; } = []; - - /// - /// The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this - /// Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_744477_17277", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Owner")] - public IElement owner => this.ComputeOwner(); - - /// - /// The owningRelationship of this Element, if that Relationship is a Membership. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674972_622493_43236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674973_469277_43243")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_482273_43303")] - [Implements(implementation: "IElement.OwningMembership")] - public IOwningMembership owningMembership => this.ComputeOwningMembership(); - - /// - /// The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership - /// of this Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_474739_43306", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674980_717955_43271")] - [Implements(implementation: "IElement.OwningNamespace")] - public INamespace owningNamespace => this.ComputeOwningNamespace(); - - /// - /// The relatedElement of this Relationship that owns the Relationship, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_693018_16749", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.OwningRelatedElement")] - public IElement OwningRelatedElement { get; set; } - - /// - /// The Relationship for which this Element is an ownedRelatedElement, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_482273_43303", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwningRelationship")] - public IRelationship OwningRelationship { get; set; } - - /// - /// The full ownership-qualified name of this Element, represented in a form that is valid according to - /// the KerML textual concrete syntax for qualified names (including use of unrestricted name notation - /// and escaped characters, as necessary). The qualifiedName is null if this Element has no - /// owningNamespace or if there is not a complete ownership chain of named Namespaces from a root - /// Namespace to this Element. If the owningNamespace has other Elements with the same name as this one, - /// then the qualifiedName is null for all such Elements other than the first. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611356604987_900871_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.QualifiedName")] - public string qualifiedName => this.ComputeQualifiedName(); - - /// - /// The Elements that are related by this Relationship, derived as the union of the source and target - /// Elements of the Relationship. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674961_132339_43177", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [Implements(implementation: "IRelationship.RelatedElement")] - public List relatedElement => this.ComputeRelatedElement(); - - /// - /// The short name to be used for this Element during name resolution within its owningNamespace. This - /// is derived using the effectiveShortName() operation. By default, it is the same as the - /// declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even - /// when the declaredName is null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1673496405504_544235_24", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ShortName")] - public string shortName => this.ComputeShortName(); - - /// - /// The relatedElements from which this Relationship is considered to be directed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674971_696758_43228", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [RedefinedByProperty("IImport.ImportOwningNamespace")] - [Implements(implementation: "IRelationship.Source")] - List Root.Elements.IRelationship.Source - { - get => this.importOwningNamespace != null ? [this.importOwningNamespace] : []; - set { } - } - - /// - /// The relatedElements to which this Relationship is considered to be directed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674961_138197_43179", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.Target")] - public List Target { get; set; } = []; - - /// - /// The TextualRepresentations that annotate this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594154758493_640290_3388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.TextualRepresentation")] - public List textualRepresentation => this.ComputeTextualRepresentation(); - - /// - /// The visibility level of the imported members from this Import relative to the importOwningNamespace. - /// The default is private. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674976_798509_43257", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "private")] - [Implements(implementation: "IImport.Visibility")] - public VisibilityKind Visibility { get; set; } = VisibilityKind.Private; - - } -} - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ diff --git a/SysML2.NET/Core/AutoGenPoco/IncludeUseCaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/IncludeUseCaseUsage.cs index 7c912bfc..ed6c9c05 100644 --- a/SysML2.NET/Core/AutoGenPoco/IncludeUseCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/IncludeUseCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -87,17 +87,14 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition != null ? [((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition] : []; + public List actionDefinition => this.ComputeActionDefinition(); /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -124,7 +121,6 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] IFunction Systems.Calculations.ICalculationUsage.calculationDefinition => ((SysML2.NET.Core.POCO.Systems.Cases.ICaseUsage)this).caseDefinition; @@ -186,7 +182,7 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -215,7 +211,6 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -497,11 +492,11 @@ public partial class IncludeUseCaseUsage : IIncludeUseCaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -539,9 +534,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -767,7 +762,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -818,9 +812,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1060,7 +1053,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1182,7 +1174,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/IndexExpression.cs b/SysML2.NET/Core/AutoGenPoco/IndexExpression.cs index 689c4bae..adbec97b 100644 --- a/SysML2.NET/Core/AutoGenPoco/IndexExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/IndexExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,8 +64,8 @@ public partial class IndexExpression : IIndexExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -376,11 +376,11 @@ public partial class IndexExpression : IIndexExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/InstantiationExpression.cs b/SysML2.NET/Core/AutoGenPoco/InstantiationExpression.cs deleted file mode 100644 index c3c1351a..00000000 --- a/SysML2.NET/Core/AutoGenPoco/InstantiationExpression.cs +++ /dev/null @@ -1,795 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// -// -// Copyright (C) 2022-2025 Starion Group S.A. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// ------------------------------------------------------------------------------------------------ - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ - -namespace SysML2.NET.Core.POCO.Kernel.Expressions -{ - using System; - using System.CodeDom.Compiler; - using System.Collections.Generic; - using System.Linq; - - using SysML2.NET.Core.Core.Types; - using SysML2.NET.Core.POCO.Core.Features; - using SysML2.NET.Core.POCO.Core.Types; - using SysML2.NET.Core.POCO.Kernel.Behaviors; - using SysML2.NET.Core.POCO.Kernel.Functions; - using SysML2.NET.Core.POCO.Root.Annotations; - using SysML2.NET.Core.POCO.Root.Elements; - using SysML2.NET.Core.POCO.Root.Namespaces; - using SysML2.NET.Decorators; - - /// - /// An InstantiationExpression is an Expression that instantiates its instantiatedType, binding some or - /// all of the features of that Type to the results of its arguments.InstantiationExpression is - /// abstract, with concrete subclasses InvocationExpression and ConstructorExpression. - /// - [Class(xmiId: "_2022x_2_12e503d9_1739136879941_579104_183", isAbstract: true, isFinalSpecialization: false, isActive: false)] - [GeneratedCode("SysML2.NET", "latest")] - public partial class InstantiationExpression : IInstantiationExpression - { - /// - /// Gets or sets the unique identifier - /// - [Property(xmiId: "sysml2.net", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IData.Id")] - public Guid Id { get; set; } - - /// - /// Various alternative identifiers for this Element. Generally, these will be set by tools. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594312532679_496267_4310", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.AliasIds")] - public List AliasIds { get; set; } = []; - - /// - /// The Expressions whose results are bound to features of the instantiatedType. The arguments are - /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. - /// - [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IInstantiationExpression.Argument")] - public List argument => this.ComputeArgument(); - - /// - /// The Behaviors that type this Step. - /// - [Property(xmiId: "_18_5_3_b9102da_1536346315176_954314_17388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] - [RedefinedByProperty("IExpression.Function")] - [Implements(implementation: "IStep.Behavior")] - List Kernel.Behaviors.IStep.behavior => this.function != null ? [this.function] : []; - - /// - /// The Feature that are chained together to determine the values of this Feature, derived from the - /// chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a - /// Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be - /// found by starting with the values of the first Feature (for each instance of the domain of the - /// original Feature), then using each of those as domain instances to find the values of the second - /// Feature in chainingFeatures, and so on, to values of the last Feature. - /// - [Property(xmiId: "_19_0_4_b9102da_1619792219511_543311_445", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [Implements(implementation: "IFeature.ChainingFeature")] - public List chainingFeature => this.ComputeChainingFeature(); - - /// - /// The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it - /// has one. Semantically, the values of the crossFeature of an end Feature must include all values of - /// the end Feature obtained when navigating from values of the other end Features of the same - /// owningType. - /// - [Property(xmiId: "_19_0_4_b9102da_1689616227528_355910_218", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.CrossFeature")] - public IFeature crossFeature => this.ComputeCrossFeature(); - - /// - /// The declared name of this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674987_737648_43307", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredName")] - public string DeclaredName { get; set; } - - /// - /// An optional alternative name for the Element that is intended to be shorter or in some way more - /// succinct than its primary name. It may act as a modeler-specified identifier for the Element, though - /// it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a - /// model or relative to some other context. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594160442439_915308_4153", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredShortName")] - public string DeclaredShortName { get; set; } - - /// - /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those - /// Types, but not including those of the remaining Types. For example, a Classifier might be the - /// difference of a Classifier for people and another for people of a particular nationality, leaving - /// people who are not of that nationality. Similarly, a feature of people might be the difference - /// between a feature for their children and a Classifier for people of a particular sex, identifying - /// their children not of that sex (because the interpretations of the children Feature that identify - /// those of that sex are also interpretations of the Classifier for that sex). - /// - [Property(xmiId: "_19_0_4_b9102da_1661975883472_645501_1372", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.DifferencingType")] - public List differencingType => this.ComputeDifferencingType(); - - /// - /// The features of this Type that have a non-null direction. - /// - [Property(xmiId: "_19_0_4_12e503d9_1623952188842_882068_37169", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [RedefinedByProperty("IStep.Parameter")] - [Implements(implementation: "IType.DirectedFeature")] - List Core.Types.IType.directedFeature => [.. this.parameter]; - - /// - /// Indicates how values of this Feature are determined or used (as specified for the - /// FeatureDirectionKind). - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674994_447677_43347", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.Direction")] - public FeatureDirectionKind? Direction { get; set; } - - /// - /// The Documentation owned by this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594150061166_345630_1621", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.Documentation")] - public List documentation => this.ComputeDocumentation(); - - /// - /// The globally unique identifier for this Element. This is intended to be set by tooling, and it must - /// not change during the lifetime of the Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_844338_43305", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ElementId")] - public string ElementId { get; set; } - - /// - /// All features of this Type with isEnd = true. - /// - [Property(xmiId: "_18_5_3_12e503d9_1562476168385_824569_22106", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IType.EndFeature")] - public List endFeature => this.ComputeEndFeature(); - - /// - /// The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an - /// ownedMemberFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1563834516279_920295_20653", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1562476168386_366266_22107")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [Implements(implementation: "IFeature.EndOwningType")] - public IType endOwningType => this.ComputeEndOwningType(); - - /// - /// The ownedMemberFeatures of the featureMemberships of this Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_326391_43166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "IType.Feature")] - public List feature => this.ComputeFeature(); - - /// - /// The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and - /// those inheritedMemberships that are FeatureMemberships (but does not include any - /// importedMemberships). - /// - [Property(xmiId: "_19_0_4_12e503d9_1651076866512_962346_485", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.FeatureMembership")] - public List featureMembership => this.ComputeFeatureMembership(); - - /// - /// The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. - /// - [Property(xmiId: "_2022x_2_12e503d9_1715790852907_110671_19", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.FeatureTarget")] - public IFeature featureTarget => this.ComputeFeatureTarget(); - - /// - /// Types that feature this Feature, such that any instance in the domain of the Feature must be - /// classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. - /// If the Feature is chained, then the featuringTypes of the first Feature in the chain are also - /// featuringTypes of the chained Feature. - /// - [Property(xmiId: "_19_0_4_12e503d9_1603905619975_304385_743", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.FeaturingType")] - public List featuringType => this.ComputeFeaturingType(); - - /// - /// The Function that types this Expression. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543948477241_299049_20934", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [Implements(implementation: "IExpression.Function")] - public IFunction function => this.ComputeFunction(); - - /// - /// The Memberships in this Namespace that result from the ownedImports of this Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_207869_43270", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [Implements(implementation: "INamespace.ImportedMembership")] - public List importedMembership => this.ComputeImportedMembership(); - - /// - /// All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575499020770_15576_2334", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IType.InheritedFeature")] - public List inheritedFeature => this.ComputeInheritedFeature(); - - /// - /// All Memberships inherited by this Type via Specialization or Conjugation. These are included in the - /// derived union for the memberships of the Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1551972927538_787976_19004", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [Implements(implementation: "IType.InheritedMembership")] - public List inheritedMembership => this.ComputeInheritedMembership(); - - /// - /// All features related to this Type by FeatureMemberships that have direction in or inout. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_37384_43169", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IType.Input")] - public List input => this.ComputeInput(); - - /// - /// The Type that is being instantiated. - /// - [Property(xmiId: "_2022x_2_12e503d9_1739134352572_416088_80", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "IInstantiationExpression.InstantiatedType")] - public IType instantiatedType => this.ComputeInstantiatedType(); - - /// - /// The interpretations of a Type with intersectingTypes are asserted to be those in common among the - /// intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings - /// of this Type. For example, a Classifier might be an intersection of Classifiers for people of a - /// particular sex and of a particular nationality. Similarly, a feature for people's children of a - /// particular sex might be the intersection of a Feature for their children and a Classifier for people - /// of that sex (because the interpretations of the children Feature that identify those of that sex are - /// also interpretations of the Classifier for that sex). - /// - [Property(xmiId: "_19_0_4_b9102da_1661973922199_584242_1045", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.IntersectingType")] - public List intersectingType => this.ComputeIntersectingType(); - - /// - /// Indicates whether instances of this Type must also be instances of at least one of its specialized - /// Types. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_741353_43165", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IType.IsAbstract")] - public bool IsAbstract { get; set; } - - /// - /// Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature - /// cannot exist after its featuring instance no longer does and cannot be values of another composite - /// feature that is not on the same featuring instance. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_331870_43224", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsComposite")] - public bool IsComposite { get; set; } - - /// - /// Indicates whether this Type has an ownedConjugator. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575485930816_796088_1933", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.IsConjugated")] - public bool isConjugated => this.ComputeIsConjugated(); - - /// - /// If isVariable is true, then whether the value of this Feature nevertheless does not change over all - /// snapshots of its owningType. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674993_300560_43342", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsConstant")] - public bool IsConstant { get; set; } - - /// - /// Whether the values of this Feature can always be computed from the values of other Features. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674992_500504_43341", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsDerived")] - public bool IsDerived { get; set; } - - /// - /// Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping - /// each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in - /// which case values of the crossFeature must be the same as those found by navigation across instances - /// of the owningType from values of other end Features to values of this Feature. If the owningType has - /// n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any - /// one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of - /// values of that Feature reached by navigation when the values of the other n-1 end Features are held - /// fixed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1562475749426_705395_21984", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsEnd")] - public bool IsEnd { get; set; } - - /// - /// Whether all necessary implied Relationships have been included in the ownedRelationships of this - /// Element. This property may be true, even if there are not actually any ownedRelationships with - /// isImplied = true, meaning that no such Relationships are actually implied for this Element. However, - /// if it is false, then ownedRelationships may not contain any implied Relationships. That is, either - /// all required implied Relationships must be included, or none of them. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070949317_79713_3658", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IElement.IsImpliedIncluded")] - public bool IsImpliedIncluded { get; set; } - - /// - /// Whether this Element is contained in the ownership tree of a library model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1665443500960_5561_723", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.IsLibraryElement")] - public bool isLibraryElement => this.ComputeIsLibraryElement(); - - /// - /// Whether this Expression meets the constraints necessary to be evaluated at model level, that is, - /// using metadata within the model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1609957047704_424471_48", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IExpression.IsModelLevelEvaluable")] - public bool isModelLevelEvaluable => this.ComputeIsModelLevelEvaluable(); - - /// - /// Whether an order exists for the values of this Feature or not. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674969_728225_43215", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsOrdered")] - public bool IsOrdered { get; set; } - - /// - /// Whether the values of this Feature are contained in the space and time of instances of the domain of - /// the Feature and represent the same thing as those instances. - /// - [Property(xmiId: "_18_5_3_b9102da_1559231981638_234817_22063", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsPortion")] - public bool IsPortion { get; set; } - - /// - /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) - /// - [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IType.IsSufficient")] - public bool IsSufficient { get; set; } - - /// - /// Whether or not values for this Feature must have no duplicates or not. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674968_321342_43214", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "true")] - [Implements(implementation: "IFeature.IsUnique")] - public bool IsUnique { get; set; } = true; - - /// - /// Whether the value of this Feature might vary over time. That is, whether the Feature may have a - /// different value for each snapshot of an owningType that is an Occurrence. - /// - [Property(xmiId: "_2022x_2_12e503d9_1725998273002_23711_212", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsVariable")] - public bool IsVariable { get; set; } - - /// - /// The set of all member Elements of this Namespace, which are the memberElements of all memberships of - /// the Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_644335_43267", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "INamespace.Member")] - public List member => this.ComputeMember(); - - /// - /// All Memberships in this Namespace, including (at least) the union of ownedMemberships and - /// importedMemberships. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674962_198288_43183", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: true, isUnique: true, defaultValue: null)] - [Implements(implementation: "INamespace.Membership")] - public List membership => this.ComputeMembership(); - - /// - /// An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. - /// If there is no such ownedMember, then the cardinality of this Type is constrained by all the - /// Multiplicity constraints applicable to any direct supertypes. - /// - [Property(xmiId: "_19_0_2_12e503d9_1573095852093_324833_5396", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IType.Multiplicity")] - public IMultiplicity multiplicity => this.ComputeMultiplicity(); - - /// - /// The name to be used for this Element during name resolution within its owningNamespace. This is - /// derived using the effectiveName() operation. By default, it is the same as the declaredName, but - /// this is overridden for certain kinds of Elements to compute a name even when the declaredName is - /// null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617485009541_709355_27528", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Name")] - public string name => this.ComputeName(); - - /// - /// All features related to this Type by FeatureMemberships that have direction out or inout. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_365618_43170", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IType.Output")] - public List output => this.ComputeOutput(); - - /// - /// The ownedRelationships of this Element that are Annotations, for which this Element is the - /// annotatedElement. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594152527165_702130_2500", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543094430277_599480_18543")] - [Implements(implementation: "IElement.OwnedAnnotation")] - public List ownedAnnotation => this.ComputeOwnedAnnotation(); - - /// - /// A Conjugation owned by this Type for which the Type is the originalType. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575482646809_280165_440", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1575482490144_309557_300")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedConjugator")] - public IConjugation ownedConjugator => this.ComputeOwnedConjugator(); - - /// - /// The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature - /// is the crossingFeature. - /// - [Property(xmiId: "_19_0_4_b9102da_1689616916594_145818_277", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedCrossSubsetting")] - public ICrossSubsetting ownedCrossSubsetting => this.ComputeOwnedCrossSubsetting(); - - /// - /// The ownedRelationships of this Type that are Differencings, having this Type as their - /// typeDifferenced. - /// - [Property(xmiId: "_19_0_4_b9102da_1661871168454_98082_797", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedDifferencing")] - public List ownedDifferencing => this.ComputeOwnedDifferencing(); - - /// - /// The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined - /// Type. - /// - [Property(xmiId: "_19_0_4_12e503d9_1627447519613_145554_370", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_19_0_4_b9102da_1623183194914_502526_616")] - [Implements(implementation: "IType.OwnedDisjoining")] - public List ownedDisjoining => this.ComputeOwnedDisjoining(); - - /// - /// The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of - /// this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_112608_17278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.OwnedElement")] - public List ownedElement => this.ComputeOwnedElement(); - - /// - /// All endFeatures of this Type that are ownedFeatures. - /// - [Property(xmiId: "_18_5_3_12e503d9_1563834516278_687758_20652", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1562476168385_824569_22106")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [Implements(implementation: "IType.OwnedEndFeature")] - public List ownedEndFeature => this.ComputeOwnedEndFeature(); - - /// - /// The ownedMemberFeatures of the ownedFeatureMemberships of this Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_226999_43167", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IType.OwnedFeature")] - public List ownedFeature => this.ComputeOwnedFeature(); - - /// - /// The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the - /// featureChained. - /// - [Property(xmiId: "_19_0_4_b9102da_1622125589880_791465_72", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "IFeature.OwnedFeatureChaining")] - public List ownedFeatureChaining => this.ComputeOwnedFeatureChaining(); - - /// - /// The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the - /// featureInverted. - /// - [Property(xmiId: "_19_0_4_b9102da_1653567738671_359235_43", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_b9102da_1623178838861_768019_145")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IFeature.OwnedFeatureInverting")] - public List ownedFeatureInverting => this.ComputeOwnedFeatureInverting(); - - /// - /// The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. - /// Each such FeatureMembership identifies an ownedFeature of the Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_868417_43171", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_190614_43269")] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1651076866512_962346_485")] - [Implements(implementation: "IType.OwnedFeatureMembership")] - public List ownedFeatureMembership => this.ComputeOwnedFeatureMembership(); - - /// - /// The ownedRelationships of this Namespace that are Imports, for which the Namespace is the - /// importOwningNamespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674974_746786_43247", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "INamespace.OwnedImport")] - public List ownedImport => this.ComputeOwnedImport(); - - /// - /// The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. - /// - [Property(xmiId: "_19_0_4_b9102da_1623242552144_910757_524", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedIntersecting")] - public List ownedIntersecting => this.ComputeOwnedIntersecting(); - - /// - /// The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships - /// of the Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_259543_43268", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "INamespace.OwnedMember")] - public List ownedMember => this.ComputeOwnedMember(); - - /// - /// The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the - /// membershipOwningNamespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_190614_43269", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "INamespace.OwnedMembership")] - public List ownedMembership => this.ComputeOwnedMembership(); - - /// - /// The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the - /// redefiningFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_161813_43220", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedRedefinition")] - public List ownedRedefinition => this.ComputeOwnedRedefinition(); - - /// - /// The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the - /// Feature is the referencingFeature. - /// - [Property(xmiId: "_19_0_4_12e503d9_1661555161564_247405_255", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedReferenceSubsetting")] - public IReferenceSubsetting ownedReferenceSubsetting => this.ComputeOwnedReferenceSubsetting(); - - /// - /// The Relationships for which this Element is the owningRelatedElement. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_217766_16748", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwnedRelationship")] - public List OwnedRelationship { get; set; } = []; - - /// - /// The ownedRelationships of this Type that are Specializations, for which the Type is the specific - /// Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_579676_43168", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674984_558067_43292")] - [Implements(implementation: "IType.OwnedSpecialization")] - public List ownedSpecialization => this.ComputeOwnedSpecialization(); - - /// - /// The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the - /// subsettingFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_472382_43221", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_579676_43168")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674966_718145_43205")] - [Implements(implementation: "IFeature.OwnedSubsetting")] - public List ownedSubsetting => this.ComputeOwnedSubsetting(); - - /// - /// The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the - /// featureOfType. - /// - [Property(xmiId: "_19_0_4_12e503d9_1603905673975_310948_762", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1603904928950_196800_580")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IFeature.OwnedTypeFeaturing")] - public List ownedTypeFeaturing => this.ComputeOwnedTypeFeaturing(); - - /// - /// The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the - /// typedFeature. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596597427751_965862_42", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_579676_43168")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543180501615_804591_21100")] - [Implements(implementation: "IFeature.OwnedTyping")] - public List ownedTyping => this.ComputeOwnedTyping(); - - /// - /// The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. - /// - [Property(xmiId: "_19_0_4_b9102da_1661869978505_968809_460", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "IType.OwnedUnioning")] - public List ownedUnioning => this.ComputeOwnedUnioning(); - - /// - /// The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this - /// Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_744477_17277", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Owner")] - public IElement owner => this.ComputeOwner(); - - /// - /// The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_68441_43223", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674972_622493_43236")] - [Implements(implementation: "IFeature.OwningFeatureMembership")] - public IFeatureMembership owningFeatureMembership => this.ComputeOwningFeatureMembership(); - - /// - /// The owningRelationship of this Element, if that Relationship is a Membership. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674972_622493_43236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674973_469277_43243")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_482273_43303")] - [Implements(implementation: "IElement.OwningMembership")] - public IOwningMembership owningMembership => this.ComputeOwningMembership(); - - /// - /// The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership - /// of this Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_474739_43306", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674980_717955_43271")] - [Implements(implementation: "IElement.OwningNamespace")] - public INamespace owningNamespace => this.ComputeOwningNamespace(); - - /// - /// The Relationship for which this Element is an ownedRelatedElement, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_482273_43303", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwningRelationship")] - public IRelationship OwningRelationship { get; set; } - - /// - /// The Type that is the owningType of the owningFeatureMembership of this Feature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674965_592215_43200", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674987_297074_43308")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_474739_43306")] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1603905619975_304385_743")] - [Implements(implementation: "IFeature.OwningType")] - public IType owningType => this.ComputeOwningType(); - - /// - /// The parameters of this Step, which are defined as its directedFeatures, whose values are passed into - /// and/or out of a performance of the Step. - /// - [Property(xmiId: "_19_0_2_12e503d9_1595189174990_213826_657", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IStep.Parameter")] - public List parameter => this.ComputeParameter(); - - /// - /// The full ownership-qualified name of this Element, represented in a form that is valid according to - /// the KerML textual concrete syntax for qualified names (including use of unrestricted name notation - /// and escaped characters, as necessary). The qualifiedName is null if this Element has no - /// owningNamespace or if there is not a complete ownership chain of named Namespaces from a root - /// Namespace to this Element. If the owningNamespace has other Elements with the same name as this one, - /// then the qualifiedName is null for all such Elements other than the first. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611356604987_900871_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.QualifiedName")] - public string qualifiedName => this.ComputeQualifiedName(); - - /// - /// An output parameter of the Expression whose value is the result of the Expression. The result of an - /// Expression is either inherited from its function or it is related to the Expression via a - /// ReturnParameterMembership, in which case it redefines the result parameter of its function. - /// - [Property(xmiId: "_19_0_2_12e503d9_1595188071574_902060_363", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674960_365618_43170")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [Implements(implementation: "IExpression.Result")] - public IFeature result => this.ComputeResult(); - - /// - /// The short name to be used for this Element during name resolution within its owningNamespace. This - /// is derived using the effectiveShortName() operation. By default, it is the same as the - /// declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even - /// when the declaredName is null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1673496405504_544235_24", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ShortName")] - public string shortName => this.ComputeShortName(); - - /// - /// The TextualRepresentations that annotate this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594154758493_640290_3388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.TextualRepresentation")] - public List textualRepresentation => this.ComputeTextualRepresentation(); - - /// - /// Types that restrict the values of this Feature, such that the values must be instances of all the - /// types. The types of a Feature are derived from its typings and the types of its subsettings. If the - /// Feature is chained, then the types of the last Feature in the chain are also types of the chained - /// Feature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674969_376003_43216", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.Type")] - public List type => this.ComputeType(); - - /// - /// The interpretations of a Type with unioningTypes are asserted to be the same as those of all the - /// unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of - /// this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. - /// Similarly, a feature for people's children might be the union of features dividing them in the - /// same ways as people in general. - /// - [Property(xmiId: "_19_0_4_b9102da_1661974896766_783268_1231", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.UnioningType")] - public List unioningType => this.ComputeUnioningType(); - - } -} - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ diff --git a/SysML2.NET/Core/AutoGenPoco/Interaction.cs b/SysML2.NET/Core/AutoGenPoco/Interaction.cs index 41283290..7888a772 100644 --- a/SysML2.NET/Core/AutoGenPoco/Interaction.cs +++ b/SysML2.NET/Core/AutoGenPoco/Interaction.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -242,11 +242,11 @@ public partial class Interaction : IInteraction /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/InterfaceDefinition.cs b/SysML2.NET/Core/AutoGenPoco/InterfaceDefinition.cs index 690b8052..53074ff9 100644 --- a/SysML2.NET/Core/AutoGenPoco/InterfaceDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/InterfaceDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -144,7 +144,6 @@ public partial class InterfaceDefinition : IInterfaceDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -303,11 +302,11 @@ public partial class InterfaceDefinition : IInterfaceDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [RedefinedByProperty("IConnectionDefinition.IsSufficient")] @@ -713,7 +712,6 @@ bool Core.Types.IType.IsSufficient /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/InterfaceUsage.cs b/SysML2.NET/Core/AutoGenPoco/InterfaceUsage.cs index 4d8f23a5..633a77b7 100644 --- a/SysML2.NET/Core/AutoGenPoco/InterfaceUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/InterfaceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -202,7 +202,6 @@ public partial class InterfaceUsage : IInterfaceUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -457,11 +456,11 @@ public partial class InterfaceUsage : IInterfaceUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -509,9 +508,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -737,7 +736,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1029,7 +1027,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Intersecting.cs b/SysML2.NET/Core/AutoGenPoco/Intersecting.cs index ddbb03ec..24076e14 100644 --- a/SysML2.NET/Core/AutoGenPoco/Intersecting.cs +++ b/SysML2.NET/Core/AutoGenPoco/Intersecting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Invariant.cs b/SysML2.NET/Core/AutoGenPoco/Invariant.cs index ef423a47..7d05b966 100644 --- a/SysML2.NET/Core/AutoGenPoco/Invariant.cs +++ b/SysML2.NET/Core/AutoGenPoco/Invariant.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -366,11 +366,11 @@ public partial class Invariant : IInvariant /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/InvocationExpression.cs b/SysML2.NET/Core/AutoGenPoco/InvocationExpression.cs index 9136b508..d8b5b462 100644 --- a/SysML2.NET/Core/AutoGenPoco/InvocationExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/InvocationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -68,8 +68,8 @@ public partial class InvocationExpression : IInvocationExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -380,11 +380,11 @@ public partial class InvocationExpression : IInvocationExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/ItemDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ItemDefinition.cs index d00250a1..0f9d2663 100644 --- a/SysML2.NET/Core/AutoGenPoco/ItemDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ItemDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -126,7 +126,6 @@ public partial class ItemDefinition : IItemDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -260,11 +259,11 @@ public partial class ItemDefinition : IItemDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -654,7 +653,6 @@ public partial class ItemDefinition : IItemDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/ItemUsage.cs b/SysML2.NET/Core/AutoGenPoco/ItemUsage.cs index 05dc0679..c84ef7f5 100644 --- a/SysML2.NET/Core/AutoGenPoco/ItemUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ItemUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -162,7 +162,6 @@ public partial class ItemUsage : IItemUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -400,11 +399,11 @@ public partial class ItemUsage : IItemUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -452,9 +451,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -680,7 +679,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -964,7 +962,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/JoinNode.cs b/SysML2.NET/Core/AutoGenPoco/JoinNode.cs index 26b6e488..bcf69e66 100644 --- a/SysML2.NET/Core/AutoGenPoco/JoinNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/JoinNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -84,7 +84,6 @@ public partial class JoinNode : IJoinNode /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -152,7 +151,7 @@ public partial class JoinNode : IJoinNode [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -181,7 +180,6 @@ public partial class JoinNode : IJoinNode /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -419,11 +417,11 @@ public partial class JoinNode : IJoinNode /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -461,9 +459,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -689,7 +687,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -732,9 +729,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -974,7 +970,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/LibraryPackage.cs b/SysML2.NET/Core/AutoGenPoco/LibraryPackage.cs index cf338f14..90d6930c 100644 --- a/SysML2.NET/Core/AutoGenPoco/LibraryPackage.cs +++ b/SysML2.NET/Core/AutoGenPoco/LibraryPackage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/LiteralBoolean.cs b/SysML2.NET/Core/AutoGenPoco/LiteralBoolean.cs index ee8a7dfc..a88f6cc6 100644 --- a/SysML2.NET/Core/AutoGenPoco/LiteralBoolean.cs +++ b/SysML2.NET/Core/AutoGenPoco/LiteralBoolean.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -358,11 +358,11 @@ public partial class LiteralBoolean : ILiteralBoolean /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/LiteralExpression.cs b/SysML2.NET/Core/AutoGenPoco/LiteralExpression.cs index 082eadc2..24cc5b2c 100644 --- a/SysML2.NET/Core/AutoGenPoco/LiteralExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/LiteralExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -357,11 +357,11 @@ public partial class LiteralExpression : ILiteralExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/LiteralInfinity.cs b/SysML2.NET/Core/AutoGenPoco/LiteralInfinity.cs index aca3ef81..4455af01 100644 --- a/SysML2.NET/Core/AutoGenPoco/LiteralInfinity.cs +++ b/SysML2.NET/Core/AutoGenPoco/LiteralInfinity.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -358,11 +358,11 @@ public partial class LiteralInfinity : ILiteralInfinity /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/LiteralInteger.cs b/SysML2.NET/Core/AutoGenPoco/LiteralInteger.cs index ec27b392..26c9d9da 100644 --- a/SysML2.NET/Core/AutoGenPoco/LiteralInteger.cs +++ b/SysML2.NET/Core/AutoGenPoco/LiteralInteger.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -358,11 +358,11 @@ public partial class LiteralInteger : ILiteralInteger /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/LiteralRational.cs b/SysML2.NET/Core/AutoGenPoco/LiteralRational.cs index 7f435be4..05e57b9f 100644 --- a/SysML2.NET/Core/AutoGenPoco/LiteralRational.cs +++ b/SysML2.NET/Core/AutoGenPoco/LiteralRational.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -358,11 +358,11 @@ public partial class LiteralRational : ILiteralRational /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/LiteralString.cs b/SysML2.NET/Core/AutoGenPoco/LiteralString.cs index 0ddc35c8..c4bbcc7c 100644 --- a/SysML2.NET/Core/AutoGenPoco/LiteralString.cs +++ b/SysML2.NET/Core/AutoGenPoco/LiteralString.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -358,11 +358,11 @@ public partial class LiteralString : ILiteralString /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/LoopActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/LoopActionUsage.cs deleted file mode 100644 index 2deb4663..00000000 --- a/SysML2.NET/Core/AutoGenPoco/LoopActionUsage.cs +++ /dev/null @@ -1,1144 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// -// -// Copyright (C) 2022-2025 Starion Group S.A. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// ------------------------------------------------------------------------------------------------ - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ - -namespace SysML2.NET.Core.POCO.Systems.Actions -{ - using System; - using System.CodeDom.Compiler; - using System.Collections.Generic; - using System.Linq; - - using SysML2.NET.Core.Core.Types; - using SysML2.NET.Core.Systems.Occurrences; - using SysML2.NET.Core.POCO.Core.Classifiers; - using SysML2.NET.Core.POCO.Core.Features; - using SysML2.NET.Core.POCO.Core.Types; - using SysML2.NET.Core.POCO.Kernel.Behaviors; - using SysML2.NET.Core.POCO.Kernel.Classes; - using SysML2.NET.Core.POCO.Root.Annotations; - using SysML2.NET.Core.POCO.Root.Elements; - using SysML2.NET.Core.POCO.Root.Namespaces; - using SysML2.NET.Core.POCO.Systems.Allocations; - using SysML2.NET.Core.POCO.Systems.AnalysisCases; - using SysML2.NET.Core.POCO.Systems.Attributes; - using SysML2.NET.Core.POCO.Systems.Calculations; - using SysML2.NET.Core.POCO.Systems.Cases; - using SysML2.NET.Core.POCO.Systems.Connections; - using SysML2.NET.Core.POCO.Systems.Constraints; - using SysML2.NET.Core.POCO.Systems.DefinitionAndUsage; - using SysML2.NET.Core.POCO.Systems.Enumerations; - using SysML2.NET.Core.POCO.Systems.Flows; - using SysML2.NET.Core.POCO.Systems.Interfaces; - using SysML2.NET.Core.POCO.Systems.Items; - using SysML2.NET.Core.POCO.Systems.Metadata; - using SysML2.NET.Core.POCO.Systems.Occurrences; - using SysML2.NET.Core.POCO.Systems.Parts; - using SysML2.NET.Core.POCO.Systems.Ports; - using SysML2.NET.Core.POCO.Systems.Requirements; - using SysML2.NET.Core.POCO.Systems.States; - using SysML2.NET.Core.POCO.Systems.UseCases; - using SysML2.NET.Core.POCO.Systems.VerificationCases; - using SysML2.NET.Core.POCO.Systems.Views; - using SysML2.NET.Decorators; - - /// - /// A LoopActionUsage is an ActionUsage that specifies that its bodyAction should be performed - /// repeatedly. Its subclasses WhileLoopActionUsage and ForLoopActionUsage provide different ways to - /// determine how many times the bodyAction should be performed. - /// - [Class(xmiId: "_19_0_4_12e503d9_1624203585458_610400_3524", isAbstract: true, isFinalSpecialization: false, isActive: false)] - [GeneratedCode("SysML2.NET", "latest")] - public partial class LoopActionUsage : ILoopActionUsage - { - /// - /// Gets or sets the unique identifier - /// - [Property(xmiId: "sysml2.net", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IData.Id")] - public Guid Id { get; set; } - - /// - /// The Behaviors that are the types of this ActionUsage. Nominally, these would be ActionDefinitions, - /// but other kinds of Kernel Behaviors are also allowed, to permit use of Behaviors from the Kernel - /// Model Libraries. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [Implements(implementation: "IActionUsage.ActionDefinition")] - public List actionDefinition => this.ComputeActionDefinition(); - - /// - /// Various alternative identifiers for this Element. Generally, these will be set by tools. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594312532679_496267_4310", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.AliasIds")] - public List AliasIds { get; set; } = []; - - /// - /// The Behaviors that type this Step. - /// - [Property(xmiId: "_18_5_3_b9102da_1536346315176_954314_17388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] - [Implements(implementation: "IStep.Behavior")] - List Kernel.Behaviors.IStep.behavior => [.. this.actionDefinition]; - - /// - /// The ActionUsage to be performed repeatedly by the LoopActionUsage. It is the second parameter of the - /// LoopActionUsage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1624203902575_509097_3869", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "ILoopActionUsage.BodyAction")] - public IActionUsage bodyAction => this.ComputeBodyAction(); - - /// - /// The Feature that are chained together to determine the values of this Feature, derived from the - /// chainingFeatures of the ownedFeatureChainings of this Feature, in the same order. The values of a - /// Feature with chainingFeatures are the same as values of the last Feature in the chain, which can be - /// found by starting with the values of the first Feature (for each instance of the domain of the - /// original Feature), then using each of those as domain instances to find the values of the second - /// Feature in chainingFeatures, and so on, to values of the last Feature. - /// - [Property(xmiId: "_19_0_4_b9102da_1619792219511_543311_445", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [Implements(implementation: "IFeature.ChainingFeature")] - public List chainingFeature => this.ComputeChainingFeature(); - - /// - /// The second chainingFeature of the crossedFeature of the ownedCrossSubsetting of this Feature, if it - /// has one. Semantically, the values of the crossFeature of an end Feature must include all values of - /// the end Feature obtained when navigating from values of the other end Features of the same - /// owningType. - /// - [Property(xmiId: "_19_0_4_b9102da_1689616227528_355910_218", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.CrossFeature")] - public IFeature crossFeature => this.ComputeCrossFeature(); - - /// - /// The declared name of this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674987_737648_43307", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredName")] - public string DeclaredName { get; set; } - - /// - /// An optional alternative name for the Element that is intended to be shorter or in some way more - /// succinct than its primary name. It may act as a modeler-specified identifier for the Element, though - /// it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a - /// model or relative to some other context. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594160442439_915308_4153", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredShortName")] - public string DeclaredShortName { get; set; } - - /// - /// The Classifiers that are the types of this Usage. Nominally, these are Definitions, but other kinds - /// of Kernel Classifiers are also allowed, to permit use of Classifiers from the Kernel Model - /// Libraries. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591477641252_179221_958", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] - [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] - [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; - - /// - /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those - /// Types, but not including those of the remaining Types. For example, a Classifier might be the - /// difference of a Classifier for people and another for people of a particular nationality, leaving - /// people who are not of that nationality. Similarly, a feature of people might be the difference - /// between a feature for their children and a Classifier for people of a particular sex, identifying - /// their children not of that sex (because the interpretations of the children Feature that identify - /// those of that sex are also interpretations of the Classifier for that sex). - /// - [Property(xmiId: "_19_0_4_b9102da_1661975883472_645501_1372", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.DifferencingType")] - public List differencingType => this.ComputeDifferencingType(); - - /// - /// The features of this Type that have a non-null direction. - /// - [Property(xmiId: "_19_0_4_12e503d9_1623952188842_882068_37169", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [RedefinedByProperty("IStep.Parameter")] - [Implements(implementation: "IType.DirectedFeature")] - List Core.Types.IType.directedFeature => [.. this.parameter]; - - /// - /// The usages of this Usage that are directedFeatures. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] - [Implements(implementation: "IUsage.DirectedUsage")] - public List directedUsage => this.ComputeDirectedUsage(); - - /// - /// Indicates how values of this Feature are determined or used (as specified for the - /// FeatureDirectionKind). - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674994_447677_43347", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.Direction")] - public FeatureDirectionKind? Direction { get; set; } - - /// - /// The Documentation owned by this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594150061166_345630_1621", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.Documentation")] - public List documentation => this.ComputeDocumentation(); - - /// - /// The globally unique identifier for this Element. This is intended to be set by tooling, and it must - /// not change during the lifetime of the Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_844338_43305", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ElementId")] - public string ElementId { get; set; } - - /// - /// All features of this Type with isEnd = true. - /// - [Property(xmiId: "_18_5_3_12e503d9_1562476168385_824569_22106", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IType.EndFeature")] - public List endFeature => this.ComputeEndFeature(); - - /// - /// The Type that is related to this Feature by an EndFeatureMembership in which the Feature is an - /// ownedMemberFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1563834516279_920295_20653", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1562476168386_366266_22107")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [Implements(implementation: "IFeature.EndOwningType")] - public IType endOwningType => this.ComputeEndOwningType(); - - /// - /// The ownedMemberFeatures of the featureMemberships of this Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_326391_43166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "IType.Feature")] - public List feature => this.ComputeFeature(); - - /// - /// The FeatureMemberships for features of this Type, which include all ownedFeatureMemberships and - /// those inheritedMemberships that are FeatureMemberships (but does not include any - /// importedMemberships). - /// - [Property(xmiId: "_19_0_4_12e503d9_1651076866512_962346_485", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.FeatureMembership")] - public List featureMembership => this.ComputeFeatureMembership(); - - /// - /// The last of the chainingFeatures of this Feature, if it has any. Otherwise, this Feature itself. - /// - [Property(xmiId: "_2022x_2_12e503d9_1715790852907_110671_19", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.FeatureTarget")] - public IFeature featureTarget => this.ComputeFeatureTarget(); - - /// - /// Types that feature this Feature, such that any instance in the domain of the Feature must be - /// classified by all of these Types, including at least all the featuringTypes of its typeFeaturings. - /// If the Feature is chained, then the featuringTypes of the first Feature in the chain are also - /// featuringTypes of the chained Feature. - /// - [Property(xmiId: "_19_0_4_12e503d9_1603905619975_304385_743", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IFeature.FeaturingType")] - public List featuringType => this.ComputeFeaturingType(); - - /// - /// The Memberships in this Namespace that result from the ownedImports of this Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_207869_43270", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [Implements(implementation: "INamespace.ImportedMembership")] - public List importedMembership => this.ComputeImportedMembership(); - - /// - /// The at most one occurrenceDefinition that has isIndividual = true. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618958878775_52798_7090", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [Implements(implementation: "IOccurrenceUsage.IndividualDefinition")] - public IOccurrenceDefinition individualDefinition => this.ComputeIndividualDefinition(); - - /// - /// All the memberFeatures of the inheritedMemberships of this Type that are FeatureMemberships. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575499020770_15576_2334", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IType.InheritedFeature")] - public List inheritedFeature => this.ComputeInheritedFeature(); - - /// - /// All Memberships inherited by this Type via Specialization or Conjugation. These are included in the - /// derived union for the memberships of the Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1551972927538_787976_19004", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [Implements(implementation: "IType.InheritedMembership")] - public List inheritedMembership => this.ComputeInheritedMembership(); - - /// - /// All features related to this Type by FeatureMemberships that have direction in or inout. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_37384_43169", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IType.Input")] - public List input => this.ComputeInput(); - - /// - /// The interpretations of a Type with intersectingTypes are asserted to be those in common among the - /// intersectingTypes, which are the Types derived from the intersectingType of the ownedIntersectings - /// of this Type. For example, a Classifier might be an intersection of Classifiers for people of a - /// particular sex and of a particular nationality. Similarly, a feature for people's children of a - /// particular sex might be the intersection of a Feature for their children and a Classifier for people - /// of that sex (because the interpretations of the children Feature that identify those of that sex are - /// also interpretations of the Classifier for that sex). - /// - [Property(xmiId: "_19_0_4_b9102da_1661973922199_584242_1045", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.IntersectingType")] - public List intersectingType => this.ComputeIntersectingType(); - - /// - /// Indicates whether instances of this Type must also be instances of at least one of its specialized - /// Types. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_741353_43165", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IType.IsAbstract")] - public bool IsAbstract { get; set; } - - /// - /// Whether the Feature is a composite feature of its featuringType. If so, the values of the Feature - /// cannot exist after its featuring instance no longer does and cannot be values of another composite - /// feature that is not on the same featuring instance. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_331870_43224", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsComposite")] - public bool IsComposite { get; set; } - - /// - /// Indicates whether this Type has an ownedConjugator. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575485930816_796088_1933", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.IsConjugated")] - public bool isConjugated => this.ComputeIsConjugated(); - - /// - /// If isVariable is true, then whether the value of this Feature nevertheless does not change over all - /// snapshots of its owningType. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674993_300560_43342", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsConstant")] - public bool IsConstant { get; set; } - - /// - /// Whether the values of this Feature can always be computed from the values of other Features. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674992_500504_43341", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsDerived")] - public bool IsDerived { get; set; } - - /// - /// Whether or not this Feature is an end Feature. An end Feature always has multiplicity 1, mapping - /// each of its domain instances to a single co-domain instance. However, it may have a crossFeature, in - /// which case values of the crossFeature must be the same as those found by navigation across instances - /// of the owningType from values of other end Features to values of this Feature. If the owningType has - /// n end Features, then the multiplicity, ordering, and uniqueness declared for the crossFeature of any - /// one of these end Features constrains the cardinality, ordering, and uniqueness of the collection of - /// values of that Feature reached by navigation when the values of the other n-1 end Features are held - /// fixed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1562475749426_705395_21984", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsEnd")] - public bool IsEnd { get; set; } - - /// - /// Whether all necessary implied Relationships have been included in the ownedRelationships of this - /// Element. This property may be true, even if there are not actually any ownedRelationships with - /// isImplied = true, meaning that no such Relationships are actually implied for this Element. However, - /// if it is false, then ownedRelationships may not contain any implied Relationships. That is, either - /// all required implied Relationships must be included, or none of them. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070949317_79713_3658", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IElement.IsImpliedIncluded")] - public bool IsImpliedIncluded { get; set; } - - /// - /// Whether this OccurrenceUsage represents the usage of the specific individual represented by its - /// individualDefinition. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618959865886_548379_7149", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IOccurrenceUsage.IsIndividual")] - public bool IsIndividual { get; set; } - - /// - /// Whether this Element is contained in the ownership tree of a library model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1665443500960_5561_723", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.IsLibraryElement")] - public bool isLibraryElement => this.ComputeIsLibraryElement(); - - /// - /// Whether an order exists for the values of this Feature or not. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674969_728225_43215", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsOrdered")] - public bool IsOrdered { get; set; } - - /// - /// Whether the values of this Feature are contained in the space and time of instances of the domain of - /// the Feature and represent the same thing as those instances. - /// - [Property(xmiId: "_18_5_3_b9102da_1559231981638_234817_22063", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IFeature.IsPortion")] - public bool IsPortion { get; set; } - - /// - /// Whether this Usage is a referential Usage, that is, it has isComposite = false. - /// - [Property(xmiId: "_19_0_4_12e503d9_1624035114787_488767_41423", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IUsage.IsReference")] - public bool isReference => this.ComputeIsReference(); - - /// - /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) - /// - [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IType.IsSufficient")] - public bool IsSufficient { get; set; } - - /// - /// Whether or not values for this Feature must have no duplicates or not. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674968_321342_43214", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "true")] - [Implements(implementation: "IFeature.IsUnique")] - public bool IsUnique { get; set; } = true; - - /// - /// Whether the value of this Feature might vary over time. That is, whether the Feature may have a - /// different value for each snapshot of an owningType that is an Occurrence. - /// - [Property(xmiId: "_2022x_2_12e503d9_1725998273002_23711_212", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [RedefinedByProperty("IUsage.MayTimeVary")] - [Implements(implementation: "IFeature.IsVariable")] - bool Core.Features.IFeature.IsVariable - { - get => this.mayTimeVary; - set { } - } - - /// - /// Whether this Usage is for a variation point or not. If true, then all the memberships of the Usage - /// must be VariantMemberships. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590978312364_290951_421", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IUsage.IsVariation")] - public bool IsVariation { get; set; } - - /// - /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its - /// owningType, rather than being featured by the owningType itself). However, if isConstant is also - /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. - /// - [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] - [Implements(implementation: "IUsage.MayTimeVary")] - public bool mayTimeVary => this.ComputeMayTimeVary(); - - /// - /// The set of all member Elements of this Namespace, which are the memberElements of all memberships of - /// the Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_644335_43267", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "INamespace.Member")] - public List member => this.ComputeMember(); - - /// - /// All Memberships in this Namespace, including (at least) the union of ownedMemberships and - /// importedMemberships. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674962_198288_43183", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: true, isUnique: true, defaultValue: null)] - [Implements(implementation: "INamespace.Membership")] - public List membership => this.ComputeMembership(); - - /// - /// An ownedMember of this Type that is a Multiplicity, which constraints the cardinality of the Type. - /// If there is no such ownedMember, then the cardinality of this Type is constrained by all the - /// Multiplicity constraints applicable to any direct supertypes. - /// - [Property(xmiId: "_19_0_2_12e503d9_1573095852093_324833_5396", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IType.Multiplicity")] - public IMultiplicity multiplicity => this.ComputeMultiplicity(); - - /// - /// The name to be used for this Element during name resolution within its owningNamespace. This is - /// derived using the effectiveName() operation. By default, it is the same as the declaredName, but - /// this is overridden for certain kinds of Elements to compute a name even when the declaredName is - /// null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617485009541_709355_27528", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Name")] - public string name => this.ComputeName(); - - /// - /// The ActionUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565501745142_70952_31609", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedAction")] - public List nestedAction => this.ComputeNestedAction(); - - /// - /// The AllocationUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611430983774_648557_1053", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedAllocation")] - public List nestedAllocation => this.ComputeNestedAllocation(); - - /// - /// The AnalysisCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591152666850_226358_3749", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedAnalysisCase")] - public List nestedAnalysisCase => this.ComputeNestedAnalysisCase(); - - /// - /// The code>AttributeUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591500785349_111324_4486", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedAttribute")] - public List nestedAttribute => this.ComputeNestedAttribute(); - - /// - /// The CalculationUsage that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1588215112283_215964_632", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565501745142_70952_31609")] - [Implements(implementation: "IUsage.NestedCalculation")] - public List nestedCalculation => this.ComputeNestedCalculation(); - - /// - /// The CaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591135021853_494751_737", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1588215112283_215964_632")] - [Implements(implementation: "IUsage.NestedCase")] - public List nestedCase => this.ComputeNestedCase(); - - /// - /// The ConcernUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617051711833_106553_1460", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1583000447195_878123_1244")] - [Implements(implementation: "IUsage.NestedConcern")] - public List nestedConcern => this.ComputeNestedConcern(); - - /// - /// The ConnectorAsUsages that are nestedUsages of this Usage. Note that this list includes - /// BindingConnectorAsUsages, SuccessionAsUsages, and FlowConnectionUsages because these are - /// ConnectorAsUsages even though they are not ConnectionUsages. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591479754895_422988_1242", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedConnection")] - public List nestedConnection => this.ComputeNestedConnection(); - - /// - /// The ConstraintUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1578067664051_434365_1774", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedConstraint")] - public List nestedConstraint => this.ComputeNestedConstraint(); - - /// - /// The code>EnumerationUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1606946589000_158124_239", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591500785349_111324_4486")] - [Implements(implementation: "IUsage.NestedEnumeration")] - public List nestedEnumeration => this.ComputeNestedEnumeration(); - - /// - /// The code>FlowUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1624054938718_124518_1464", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedFlow")] - public List nestedFlow => this.ComputeNestedFlow(); - - /// - /// The InterfaceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591498454569_383419_3839", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591479754895_422988_1242")] - [Implements(implementation: "IUsage.NestedInterface")] - public List nestedInterface => this.ComputeNestedInterface(); - - /// - /// The ItemUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591482421103_284620_2978", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943853976_48759_278")] - [Implements(implementation: "IUsage.NestedItem")] - public List nestedItem => this.ComputeNestedItem(); - - /// - /// The MetadataUsages that are nestedUsages of this of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1661488589862_120785_2970", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591482421103_284620_2978")] - [Implements(implementation: "IUsage.NestedMetadata")] - public List nestedMetadata => this.ComputeNestedMetadata(); - - /// - /// The OccurrenceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618943853976_48759_278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedOccurrence")] - public List nestedOccurrence => this.ComputeNestedOccurrence(); - - /// - /// The PartUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591496406876_479979_3188", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591482421103_284620_2978")] - [Implements(implementation: "IUsage.NestedPart")] - public List nestedPart => this.ComputeNestedPart(); - - /// - /// The PortUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565494459494_859367_26042", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedPort")] - public List nestedPort => this.ComputeNestedPort(); - - /// - /// The ReferenceUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1591477541360_47573_933", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedReference")] - public List nestedReference => this.ComputeNestedReference(); - - /// - /// The RenderingUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596741501454_147708_6545", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591496406876_479979_3188")] - [Implements(implementation: "IUsage.NestedRendering")] - public List nestedRendering => this.ComputeNestedRendering(); - - /// - /// The RequirementUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1583000447195_878123_1244", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1578067664051_434365_1774")] - [Implements(implementation: "IUsage.NestedRequirement")] - public List nestedRequirement => this.ComputeNestedRequirement(); - - /// - /// The StateUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575587743891_973819_756", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565501745142_70952_31609")] - [Implements(implementation: "IUsage.NestedState")] - public List nestedState => this.ComputeNestedState(); - - /// - /// The TransitionUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1578597913303_768272_3894", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565472757327_162097_21259")] - [Implements(implementation: "IUsage.NestedTransition")] - public List nestedTransition => this.ComputeNestedTransition(); - - /// - /// The Usages that are ownedFeatures of this Usage. - /// - [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] - [Implements(implementation: "IUsage.NestedUsage")] - public List nestedUsage => this.ComputeNestedUsage(); - - /// - /// The UseCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_4_12e503d9_1621463992900_247262_1080", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedUseCase")] - public List nestedUseCase => this.ComputeNestedUseCase(); - - /// - /// The VerificationCaseUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596821592100_42801_10499", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591135021853_494751_737")] - [Implements(implementation: "IUsage.NestedVerificationCase")] - public List nestedVerificationCase => this.ComputeNestedVerificationCase(); - - /// - /// The ViewUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596644669126_858176_809", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591496406876_479979_3188")] - [Implements(implementation: "IUsage.NestedView")] - public List nestedView => this.ComputeNestedView(); - - /// - /// The ViewpointUsages that are nestedUsages of this Usage. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596649930212_443356_3818", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1583000447195_878123_1244")] - [Implements(implementation: "IUsage.NestedViewpoint")] - public List nestedViewpoint => this.ComputeNestedViewpoint(); - - /// - /// The Classes that are the types of this OccurrenceUsage. Nominally, these are OccurrenceDefinitions, - /// but other kinds of kernel Classes are also allowed, to permit use of Classes from the Kernel Model - /// Libraries. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] - [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; - - /// - /// All features related to this Type by FeatureMemberships that have direction out or inout. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_365618_43170", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IType.Output")] - public List output => this.ComputeOutput(); - - /// - /// The ownedRelationships of this Element that are Annotations, for which this Element is the - /// annotatedElement. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594152527165_702130_2500", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543094430277_599480_18543")] - [Implements(implementation: "IElement.OwnedAnnotation")] - public List ownedAnnotation => this.ComputeOwnedAnnotation(); - - /// - /// A Conjugation owned by this Type for which the Type is the originalType. - /// - [Property(xmiId: "_19_0_2_12e503d9_1575482646809_280165_440", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1575482490144_309557_300")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedConjugator")] - public IConjugation ownedConjugator => this.ComputeOwnedConjugator(); - - /// - /// The one ownedSubsetting of this Feature, if any, that is a CrossSubsetting}, for which the Feature - /// is the crossingFeature. - /// - [Property(xmiId: "_19_0_4_b9102da_1689616916594_145818_277", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedCrossSubsetting")] - public ICrossSubsetting ownedCrossSubsetting => this.ComputeOwnedCrossSubsetting(); - - /// - /// The ownedRelationships of this Type that are Differencings, having this Type as their - /// typeDifferenced. - /// - [Property(xmiId: "_19_0_4_b9102da_1661871168454_98082_797", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedDifferencing")] - public List ownedDifferencing => this.ComputeOwnedDifferencing(); - - /// - /// The ownedRelationships of this Type that are Disjoinings, for which the Type is the typeDisjoined - /// Type. - /// - [Property(xmiId: "_19_0_4_12e503d9_1627447519613_145554_370", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_19_0_4_b9102da_1623183194914_502526_616")] - [Implements(implementation: "IType.OwnedDisjoining")] - public List ownedDisjoining => this.ComputeOwnedDisjoining(); - - /// - /// The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of - /// this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_112608_17278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.OwnedElement")] - public List ownedElement => this.ComputeOwnedElement(); - - /// - /// All endFeatures of this Type that are ownedFeatures. - /// - [Property(xmiId: "_18_5_3_12e503d9_1563834516278_687758_20652", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1562476168385_824569_22106")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [Implements(implementation: "IType.OwnedEndFeature")] - public List ownedEndFeature => this.ComputeOwnedEndFeature(); - - /// - /// The ownedMemberFeatures of the ownedFeatureMemberships of this Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_226999_43167", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IType.OwnedFeature")] - public List ownedFeature => this.ComputeOwnedFeature(); - - /// - /// The ownedRelationships of this Feature that are FeatureChainings, for which the Feature will be the - /// featureChained. - /// - [Property(xmiId: "_19_0_4_b9102da_1622125589880_791465_72", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "IFeature.OwnedFeatureChaining")] - public List ownedFeatureChaining => this.ComputeOwnedFeatureChaining(); - - /// - /// The ownedRelationships of this Feature that are FeatureInvertings and for which the Feature is the - /// featureInverted. - /// - [Property(xmiId: "_19_0_4_b9102da_1653567738671_359235_43", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_b9102da_1623178838861_768019_145")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IFeature.OwnedFeatureInverting")] - public List ownedFeatureInverting => this.ComputeOwnedFeatureInverting(); - - /// - /// The ownedMemberships of this Type that are FeatureMemberships, for which the Type is the owningType. - /// Each such FeatureMembership identifies an ownedFeature of the Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674960_868417_43171", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_190614_43269")] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1651076866512_962346_485")] - [Implements(implementation: "IType.OwnedFeatureMembership")] - public List ownedFeatureMembership => this.ComputeOwnedFeatureMembership(); - - /// - /// The ownedRelationships of this Namespace that are Imports, for which the Namespace is the - /// importOwningNamespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674974_746786_43247", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "INamespace.OwnedImport")] - public List ownedImport => this.ComputeOwnedImport(); - - /// - /// The ownedRelationships of this Type that are Intersectings, have the Type as their typeIntersected. - /// - [Property(xmiId: "_19_0_4_b9102da_1623242552144_910757_524", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IType.OwnedIntersecting")] - public List ownedIntersecting => this.ComputeOwnedIntersecting(); - - /// - /// The owned members of this Namespace, which are the ownedMemberElements of the ownedMemberships - /// of the Namespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_259543_43268", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_644335_43267")] - [Implements(implementation: "INamespace.OwnedMember")] - public List ownedMember => this.ComputeOwnedMember(); - - /// - /// The ownedRelationships of this Namespace that are Memberships, for which the Namespace is the - /// membershipOwningNamespace. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674979_190614_43269", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674962_198288_43183")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "INamespace.OwnedMembership")] - public List ownedMembership => this.ComputeOwnedMembership(); - - /// - /// The ownedSubsettings of this Feature that are Redefinitions, for which the Feature is the - /// redefiningFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_161813_43220", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedRedefinition")] - public List ownedRedefinition => this.ComputeOwnedRedefinition(); - - /// - /// The one ownedSubsetting of this Feature, if any, that is a ReferenceSubsetting, for which the - /// Feature is the referencingFeature. - /// - [Property(xmiId: "_19_0_4_12e503d9_1661555161564_247405_255", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674970_472382_43221")] - [Implements(implementation: "IFeature.OwnedReferenceSubsetting")] - public IReferenceSubsetting ownedReferenceSubsetting => this.ComputeOwnedReferenceSubsetting(); - - /// - /// The Relationships for which this Element is the owningRelatedElement. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_217766_16748", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwnedRelationship")] - public List OwnedRelationship { get; set; } = []; - - /// - /// The ownedRelationships of this Type that are Specializations, for which the Type is the specific - /// Type. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674959_579676_43168", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674984_558067_43292")] - [Implements(implementation: "IType.OwnedSpecialization")] - public List ownedSpecialization => this.ComputeOwnedSpecialization(); - - /// - /// The ownedSpecializations of this Feature that are Subsettings, for which the Feature is the - /// subsettingFeature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_472382_43221", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_579676_43168")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674966_718145_43205")] - [Implements(implementation: "IFeature.OwnedSubsetting")] - public List ownedSubsetting => this.ComputeOwnedSubsetting(); - - /// - /// The ownedRelationships of this Feature that are TypeFeaturings and for which the Feature is the - /// featureOfType. - /// - [Property(xmiId: "_19_0_4_12e503d9_1603905673975_310948_762", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1603904928950_196800_580")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [Implements(implementation: "IFeature.OwnedTypeFeaturing")] - public List ownedTypeFeaturing => this.ComputeOwnedTypeFeaturing(); - - /// - /// The ownedSpecializations of this Feature that are FeatureTypings, for which the Feature is the - /// typedFeature. - /// - [Property(xmiId: "_19_0_2_12e503d9_1596597427751_965862_42", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_579676_43168")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543180501615_804591_21100")] - [Implements(implementation: "IFeature.OwnedTyping")] - public List ownedTyping => this.ComputeOwnedTyping(); - - /// - /// The ownedRelationships of this Type that are Unionings, having the Type as their typeUnioned. - /// - [Property(xmiId: "_19_0_4_b9102da_1661869978505_968809_460", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674971_80547_43227")] - [Implements(implementation: "IType.OwnedUnioning")] - public List ownedUnioning => this.ComputeOwnedUnioning(); - - /// - /// The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this - /// Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_744477_17277", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Owner")] - public IElement owner => this.ComputeOwner(); - - /// - /// The Definition that owns this Usage (if any). - /// - [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] - [Implements(implementation: "IUsage.OwningDefinition")] - public IDefinition owningDefinition => this.ComputeOwningDefinition(); - - /// - /// The FeatureMembership that owns this Feature as an ownedMemberFeature, determining its owningType. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674970_68441_43223", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674972_622493_43236")] - [Implements(implementation: "IFeature.OwningFeatureMembership")] - public IFeatureMembership owningFeatureMembership => this.ComputeOwningFeatureMembership(); - - /// - /// The owningRelationship of this Element, if that Relationship is a Membership. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674972_622493_43236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674973_469277_43243")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_482273_43303")] - [Implements(implementation: "IElement.OwningMembership")] - public IOwningMembership owningMembership => this.ComputeOwningMembership(); - - /// - /// The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership - /// of this Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_474739_43306", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674980_717955_43271")] - [Implements(implementation: "IElement.OwningNamespace")] - public INamespace owningNamespace => this.ComputeOwningNamespace(); - - /// - /// The Relationship for which this Element is an ownedRelatedElement, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_482273_43303", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwningRelationship")] - public IRelationship OwningRelationship { get; set; } - - /// - /// The Type that is the owningType of the owningFeatureMembership of this Feature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674965_592215_43200", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674987_297074_43308")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_474739_43306")] - [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1603905619975_304385_743")] - [Implements(implementation: "IFeature.OwningType")] - public IType owningType => this.ComputeOwningType(); - - /// - /// The Usage in which this Usage is nested (if any). - /// - [Property(xmiId: "_18_5_3_12e503d9_1565472757327_504924_21260", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [Implements(implementation: "IUsage.OwningUsage")] - public IUsage owningUsage => this.ComputeOwningUsage(); - - /// - /// The parameters of this Step, which are defined as its directedFeatures, whose values are passed into - /// and/or out of a performance of the Step. - /// - [Property(xmiId: "_19_0_2_12e503d9_1595189174990_213826_657", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [Implements(implementation: "IStep.Parameter")] - public List parameter => this.ComputeParameter(); - - /// - /// The kind of temporal portion (time slice or snapshot) is represented by this OccurrenceUsage. If - /// portionKind is not null, then the owningType of the OccurrenceUsage must be non-null, and the - /// OccurrenceUsage represents portions of the featuring instance of the owningType. - /// - [Property(xmiId: "_19_0_4_12e503d9_1618959362712_182798_7138", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IOccurrenceUsage.PortionKind")] - public PortionKind? PortionKind { get; set; } - - /// - /// The full ownership-qualified name of this Element, represented in a form that is valid according to - /// the KerML textual concrete syntax for qualified names (including use of unrestricted name notation - /// and escaped characters, as necessary). The qualifiedName is null if this Element has no - /// owningNamespace or if there is not a complete ownership chain of named Namespaces from a root - /// Namespace to this Element. If the owningNamespace has other Elements with the same name as this one, - /// then the qualifiedName is null for all such Elements other than the first. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611356604987_900871_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.QualifiedName")] - public string qualifiedName => this.ComputeQualifiedName(); - - /// - /// The short name to be used for this Element during name resolution within its owningNamespace. This - /// is derived using the effectiveShortName() operation. By default, it is the same as the - /// declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even - /// when the declaredName is null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1673496405504_544235_24", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ShortName")] - public string shortName => this.ComputeShortName(); - - /// - /// The TextualRepresentations that annotate this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594154758493_640290_3388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.TextualRepresentation")] - public List textualRepresentation => this.ComputeTextualRepresentation(); - - /// - /// Types that restrict the values of this Feature, such that the values must be instances of all the - /// types. The types of a Feature are derived from its typings and the types of its subsettings. If the - /// Feature is chained, then the types of the last Feature in the chain are also types of the chained - /// Feature. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674969_376003_43216", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedByProperty("IUsage.Definition")] - [Implements(implementation: "IFeature.Type")] - List Core.Features.IFeature.type => [.. ((SysML2.NET.Core.POCO.Systems.DefinitionAndUsage.IUsage)this).definition]; - - /// - /// The interpretations of a Type with unioningTypes are asserted to be the same as those of all the - /// unioningTypes together, which are the Types derived from the unioningType of the ownedUnionings of - /// this Type. For example, a Classifier for people might be the union of Classifiers for all the sexes. - /// Similarly, a feature for people's children might be the union of features dividing them in the - /// same ways as people in general. - /// - [Property(xmiId: "_19_0_4_b9102da_1661974896766_783268_1231", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IType.UnioningType")] - public List unioningType => this.ComputeUnioningType(); - - /// - /// The Usages that are features of this Usage (not necessarily owned). - /// - [Property(xmiId: "_19_0_2_12e503d9_1591217543254_26688_475", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_326391_43166")] - [Implements(implementation: "IUsage.Usage")] - public List usage => this.ComputeUsage(); - - /// - /// The Usages which represent the variants of this Usage as a variation point Usage, if isVariation = - /// true. If isVariation = false, then there must be no variants. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590979649160_380466_999", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_259543_43268")] - [Implements(implementation: "IUsage.Variant")] - public List variant => this.ComputeVariant(); - - /// - /// The ownedMemberships of this Usage that are VariantMemberships. If isVariation = true, then this - /// must be all memberships of the Usage. If isVariation = false, then variantMembershipmust be empty. - /// - [Property(xmiId: "_19_0_2_12e503d9_1590979136735_982171_914", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674979_190614_43269")] - [Implements(implementation: "IUsage.VariantMembership")] - public List variantMembership => this.ComputeVariantMembership(); - - } -} - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ diff --git a/SysML2.NET/Core/AutoGenPoco/Membership.cs b/SysML2.NET/Core/AutoGenPoco/Membership.cs index 511669fe..090fa8c1 100644 --- a/SysML2.NET/Core/AutoGenPoco/Membership.cs +++ b/SysML2.NET/Core/AutoGenPoco/Membership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -38,10 +38,11 @@ namespace SysML2.NET.Core.POCO.Root.Namespaces /// A Membership is a Relationship between a Namespace and an Element that indicates the Element is a /// member of (i.e., is contained in) the Namespace. Any memberNames specify how the memberElement is /// identified in the Namespace and the visibility specifies whether or not the memberElement is - /// publicly visible from outside the Namespace.If a Membership is an OwningMembership, then it owns its - /// memberElement, which becomes an ownedMember of the membershipOwningNamespace. Otherwise, the - /// memberNames of a Membership are effectively aliases within the membershipOwningNamespace for an - /// Element with a separate OwningMembership in the same or a different Namespace. + /// publicly visible from outside the Namespace. If a Membership is an + /// OwningMembership, then it owns its memberElement, which becomes an ownedMember of the + /// membershipOwningNamespace. Otherwise, the memberNames of a Membership are effectively aliases within + /// the membershipOwningNamespace for an Element with a separate OwningMembership in the same or a + /// different Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651680_888716_42152", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/MembershipExpose.cs b/SysML2.NET/Core/AutoGenPoco/MembershipExpose.cs index c1502b2d..bf3fdd3b 100644 --- a/SysML2.NET/Core/AutoGenPoco/MembershipExpose.cs +++ b/SysML2.NET/Core/AutoGenPoco/MembershipExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/MembershipImport.cs b/SysML2.NET/Core/AutoGenPoco/MembershipImport.cs index c53c1399..08545636 100644 --- a/SysML2.NET/Core/AutoGenPoco/MembershipImport.cs +++ b/SysML2.NET/Core/AutoGenPoco/MembershipImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/MergeNode.cs b/SysML2.NET/Core/AutoGenPoco/MergeNode.cs index e44d7899..2c04bda3 100644 --- a/SysML2.NET/Core/AutoGenPoco/MergeNode.cs +++ b/SysML2.NET/Core/AutoGenPoco/MergeNode.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -84,7 +84,6 @@ public partial class MergeNode : IMergeNode /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -152,7 +151,7 @@ public partial class MergeNode : IMergeNode [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -181,7 +180,6 @@ public partial class MergeNode : IMergeNode /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -419,11 +417,11 @@ public partial class MergeNode : IMergeNode /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -461,9 +459,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -689,7 +687,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -732,9 +729,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -974,7 +970,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Metaclass.cs b/SysML2.NET/Core/AutoGenPoco/Metaclass.cs index 475eb9aa..2d7f9d43 100644 --- a/SysML2.NET/Core/AutoGenPoco/Metaclass.cs +++ b/SysML2.NET/Core/AutoGenPoco/Metaclass.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -220,11 +220,11 @@ public partial class Metaclass : IMetaclass /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/MetadataAccessExpression.cs b/SysML2.NET/Core/AutoGenPoco/MetadataAccessExpression.cs index b2787950..0dfcd7d2 100644 --- a/SysML2.NET/Core/AutoGenPoco/MetadataAccessExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/MetadataAccessExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -360,11 +360,11 @@ public partial class MetadataAccessExpression : IMetadataAccessExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/MetadataDefinition.cs b/SysML2.NET/Core/AutoGenPoco/MetadataDefinition.cs index 437fef10..1a995f6f 100644 --- a/SysML2.NET/Core/AutoGenPoco/MetadataDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/MetadataDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -123,7 +123,6 @@ public partial class MetadataDefinition : IMetadataDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -257,11 +256,11 @@ public partial class MetadataDefinition : IMetadataDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -651,7 +650,6 @@ public partial class MetadataDefinition : IMetadataDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/MetadataFeature.cs b/SysML2.NET/Core/AutoGenPoco/MetadataFeature.cs index 81921358..7aee699b 100644 --- a/SysML2.NET/Core/AutoGenPoco/MetadataFeature.cs +++ b/SysML2.NET/Core/AutoGenPoco/MetadataFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -349,11 +349,11 @@ public partial class MetadataFeature : IMetadataFeature /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/MetadataUsage.cs b/SysML2.NET/Core/AutoGenPoco/MetadataUsage.cs index 781b553c..36c5ca61 100644 --- a/SysML2.NET/Core/AutoGenPoco/MetadataUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/MetadataUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -181,7 +181,6 @@ public partial class MetadataUsage : IMetadataUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -419,11 +418,11 @@ public partial class MetadataUsage : IMetadataUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -464,17 +463,16 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565471361757_649736_20796", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("IMetadataUsage.MetadataDefinition")] [Implements(implementation: "IItemUsage.ItemDefinition")] - List Systems.Items.IItemUsage.itemDefinition => this.metadataDefinition != null ? [this.metadataDefinition] : []; + public List itemDefinition => this.ComputeItemDefinition(); /// /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -510,7 +508,6 @@ bool Core.Features.IFeature.IsVariable /// The MetadataDefinition that is the definition of this MetadataUsage. /// [Property(xmiId: "_19_0_4_12e503d9_1647727047674_847094_2563", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565471361757_649736_20796")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1606345564958_925589_327")] [Implements(implementation: "IMetadataUsage.MetadataDefinition")] public IMetaclass metadataDefinition => this.ComputeMetadataDefinition(); @@ -718,7 +715,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1021,7 +1017,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Multiplicity.cs b/SysML2.NET/Core/AutoGenPoco/Multiplicity.cs index e1b49718..51f39b0f 100644 --- a/SysML2.NET/Core/AutoGenPoco/Multiplicity.cs +++ b/SysML2.NET/Core/AutoGenPoco/Multiplicity.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -39,15 +39,16 @@ namespace SysML2.NET.Core.POCO.Core.Types /// /// A Multiplicity is a Feature whose co-domain is a set of natural numbers giving the allowed /// cardinalities of each typeWithMultiplicity. The cardinality of a Type is defined as follows, - /// depending on whether the Type is a Classifier or Feature.
  • Classifier – The number of basic - /// instances of the Classifier, that is, those instances representing things, which are not instances - /// of any subtypes of the Classifier that are Features.
  • Features – The number of instances with the - /// same featuring instances. In the case of a Feature with a Classifier as its featuringType, this is - /// the number of values of Feature for each basic instance of the Classifier. Note that, for non-unique - /// Features, all duplicate values are included in this count.
Multiplicity co-domains (in - /// models) can be specified by Expression that might vary in their results. If the typeWithMultiplicity - /// is a Classifier, the domain of the Multiplicity shall be Base::Anything. If the - /// typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the + /// depending on whether the Type is a Classifier or Feature.
    + ///
  • Classifier – The number of basic instances of the Classifier, that is, those instances + /// representing things, which are not instances of any subtypes of the Classifier that are Features. + ///
  • Features – The number of instances with the same featuring instances. In the + /// case of a Feature with a Classifier as its featuringType, this is the number of values of Feature + /// for each basic instance of the Classifier. Note that, for non-unique Features, all duplicate values + /// are included in this count.
Multiplicity + /// co-domains (in models) can be specified by Expression that might vary in their results. If the + /// typeWithMultiplicity is a Classifier, the domain of the Multiplicity shall be Base::Anything. If + /// the typeWithMultiplicity is a Feature, the Multiplicity shall have the same domain as the /// typeWithMultiplicity. ///
[Class(xmiId: "_19_0_2_12e503d9_1573083797505_495205_3879", isAbstract: false, isFinalSpecialization: false, isActive: false)] @@ -339,11 +340,11 @@ public partial class Multiplicity : IMultiplicity /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/MultiplicityRange.cs b/SysML2.NET/Core/AutoGenPoco/MultiplicityRange.cs index 0788c1db..4a1adabf 100644 --- a/SysML2.NET/Core/AutoGenPoco/MultiplicityRange.cs +++ b/SysML2.NET/Core/AutoGenPoco/MultiplicityRange.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -345,11 +345,11 @@ public partial class MultiplicityRange : IMultiplicityRange /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/Namespace.cs b/SysML2.NET/Core/AutoGenPoco/Namespace.cs index 88d1eac8..0e5d39ab 100644 --- a/SysML2.NET/Core/AutoGenPoco/Namespace.cs +++ b/SysML2.NET/Core/AutoGenPoco/Namespace.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -36,13 +36,14 @@ namespace SysML2.NET.Core.POCO.Root.Namespaces /// /// A Namespace is an Element that contains other Elements, known as its members, via Membership /// Relationships with those Elements. The members of a Namespace may be owned by the Namespace, aliased - /// in the Namespace, or imported into the Namespace via Import Relationships.A Namespace can provide - /// names for its members via the memberNames and memberShortNames specified by the Memberships in the - /// Namespace. If a Membership specifies a memberName and/or memberShortName, then those are names of - /// the corresponding memberElement relative to the Namespace. For an OwningMembership, the - /// ownedMemberName and ownedMemberShortName are given by the Element name and shortName. Note that the - /// same Element may be the memberElement of multiple Memberships in a Namespace (though it may be owned - /// at most once), each of which may define a separate alias for the Element relative to the Namespace. + /// in the Namespace, or imported into the Namespace via Import Relationships. A + /// Namespace can provide names for its members via the memberNames and memberShortNames specified by + /// the Memberships in the Namespace. If a Membership specifies a memberName and/or memberShortName, + /// then those are names of the corresponding memberElement relative to the Namespace. For an + /// OwningMembership, the ownedMemberName and ownedMemberShortName are given by the Element name and + /// shortName. Note that the same Element may be the memberElement of multiple Memberships in a + /// Namespace (though it may be owned at most once), each of which may define a separate alias for the + /// Element relative to the Namespace. /// [Class(xmiId: "_18_5_3_12e503d9_1533160651694_110063_42176", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/NamespaceExpose.cs b/SysML2.NET/Core/AutoGenPoco/NamespaceExpose.cs index 7d09ef45..44699e13 100644 --- a/SysML2.NET/Core/AutoGenPoco/NamespaceExpose.cs +++ b/SysML2.NET/Core/AutoGenPoco/NamespaceExpose.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/NamespaceImport.cs b/SysML2.NET/Core/AutoGenPoco/NamespaceImport.cs index ec138e69..af18c1dd 100644 --- a/SysML2.NET/Core/AutoGenPoco/NamespaceImport.cs +++ b/SysML2.NET/Core/AutoGenPoco/NamespaceImport.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/NullExpression.cs b/SysML2.NET/Core/AutoGenPoco/NullExpression.cs index 8e83f2b1..313b96ff 100644 --- a/SysML2.NET/Core/AutoGenPoco/NullExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/NullExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -357,11 +357,11 @@ public partial class NullExpression : INullExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/ObjectiveMembership.cs b/SysML2.NET/Core/AutoGenPoco/ObjectiveMembership.cs index 842d61b2..04059cb6 100644 --- a/SysML2.NET/Core/AutoGenPoco/ObjectiveMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ObjectiveMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/OccurrenceDefinition.cs b/SysML2.NET/Core/AutoGenPoco/OccurrenceDefinition.cs index 633e6095..78cfdc13 100644 --- a/SysML2.NET/Core/AutoGenPoco/OccurrenceDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/OccurrenceDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -126,7 +126,6 @@ public partial class OccurrenceDefinition : IOccurrenceDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -260,11 +259,11 @@ public partial class OccurrenceDefinition : IOccurrenceDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -654,7 +653,6 @@ public partial class OccurrenceDefinition : IOccurrenceDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/OccurrenceUsage.cs b/SysML2.NET/Core/AutoGenPoco/OccurrenceUsage.cs index b7636888..aafd8bb0 100644 --- a/SysML2.NET/Core/AutoGenPoco/OccurrenceUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/OccurrenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -161,7 +161,6 @@ public partial class OccurrenceUsage : IOccurrenceUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -399,11 +398,11 @@ public partial class OccurrenceUsage : IOccurrenceUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -441,9 +440,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -669,7 +668,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -953,7 +951,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/OperatorExpression.cs b/SysML2.NET/Core/AutoGenPoco/OperatorExpression.cs index 228a638e..f26e95e8 100644 --- a/SysML2.NET/Core/AutoGenPoco/OperatorExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/OperatorExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,8 +64,8 @@ public partial class OperatorExpression : IOperatorExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -376,11 +376,11 @@ public partial class OperatorExpression : IOperatorExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/OwningMembership.cs b/SysML2.NET/Core/AutoGenPoco/OwningMembership.cs index 3c5aaf2c..db6766cc 100644 --- a/SysML2.NET/Core/AutoGenPoco/OwningMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/OwningMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Package.cs b/SysML2.NET/Core/AutoGenPoco/Package.cs index 12a29f64..1f87ef78 100644 --- a/SysML2.NET/Core/AutoGenPoco/Package.cs +++ b/SysML2.NET/Core/AutoGenPoco/Package.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ParameterMembership.cs b/SysML2.NET/Core/AutoGenPoco/ParameterMembership.cs index b844ce53..cf7ed8da 100644 --- a/SysML2.NET/Core/AutoGenPoco/ParameterMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ParameterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/PartDefinition.cs b/SysML2.NET/Core/AutoGenPoco/PartDefinition.cs index f178763f..2ec1d4c2 100644 --- a/SysML2.NET/Core/AutoGenPoco/PartDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/PartDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -124,7 +124,6 @@ public partial class PartDefinition : IPartDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -258,11 +257,11 @@ public partial class PartDefinition : IPartDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -652,7 +651,6 @@ public partial class PartDefinition : IPartDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/PartUsage.cs b/SysML2.NET/Core/AutoGenPoco/PartUsage.cs index f650849d..5d6eb8ae 100644 --- a/SysML2.NET/Core/AutoGenPoco/PartUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/PartUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,8 +64,8 @@ namespace SysML2.NET.Core.POCO.Systems.Parts /// /// A PartUsage is a usage of a PartDefinition to represent a system or a part of a system. At least one - /// of the itemDefinitions of the PartUsage must be a PartDefinition.A PartUsage must subset, directly - /// or indirectly, the base PartUsage parts from the Systems Model Library. + /// of the itemDefinitions of the PartUsage must be a PartDefinition. A PartUsage + /// must subset, directly or indirectly, the base PartUsage parts from the Systems Model Library. /// [Class(xmiId: "_18_5_3_12e503d9_1565471239590_312157_20701", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -161,7 +161,6 @@ public partial class PartUsage : IPartUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -399,11 +398,11 @@ public partial class PartUsage : IPartUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -451,9 +450,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -679,7 +678,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -963,7 +961,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/PayloadFeature.cs b/SysML2.NET/Core/AutoGenPoco/PayloadFeature.cs index f8e1e6c2..6041f8aa 100644 --- a/SysML2.NET/Core/AutoGenPoco/PayloadFeature.cs +++ b/SysML2.NET/Core/AutoGenPoco/PayloadFeature.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -330,11 +330,11 @@ public partial class PayloadFeature : IPayloadFeature /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/PerformActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/PerformActionUsage.cs index 01d5b111..c7da1fbe 100644 --- a/SysML2.NET/Core/AutoGenPoco/PerformActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/PerformActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -86,7 +86,6 @@ public partial class PerformActionUsage : IPerformActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -154,7 +153,7 @@ public partial class PerformActionUsage : IPerformActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -183,7 +182,6 @@ public partial class PerformActionUsage : IPerformActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -440,11 +438,11 @@ public partial class PerformActionUsage : IPerformActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -482,9 +480,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -710,7 +708,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -753,9 +750,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -995,7 +991,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/PortConjugation.cs b/SysML2.NET/Core/AutoGenPoco/PortConjugation.cs index fd630ae5..c473f4f3 100644 --- a/SysML2.NET/Core/AutoGenPoco/PortConjugation.cs +++ b/SysML2.NET/Core/AutoGenPoco/PortConjugation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/PortDefinition.cs b/SysML2.NET/Core/AutoGenPoco/PortDefinition.cs index 473cd1bf..7512bf7f 100644 --- a/SysML2.NET/Core/AutoGenPoco/PortDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/PortDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -133,7 +133,6 @@ public partial class PortDefinition : IPortDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -267,11 +266,11 @@ public partial class PortDefinition : IPortDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -661,7 +660,6 @@ public partial class PortDefinition : IPortDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/PortUsage.cs b/SysML2.NET/Core/AutoGenPoco/PortUsage.cs index 0181526b..80379310 100644 --- a/SysML2.NET/Core/AutoGenPoco/PortUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/PortUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -159,7 +159,6 @@ public partial class PortUsage : IPortUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -397,11 +396,11 @@ public partial class PortUsage : IPortUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -439,9 +438,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -667,7 +666,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -952,7 +950,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Predicate.cs b/SysML2.NET/Core/AutoGenPoco/Predicate.cs index 948d0c5a..981763a1 100644 --- a/SysML2.NET/Core/AutoGenPoco/Predicate.cs +++ b/SysML2.NET/Core/AutoGenPoco/Predicate.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -230,9 +230,9 @@ public partial class Predicate : IPredicate /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -240,11 +240,11 @@ public partial class Predicate : IPredicate /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/Redefinition.cs b/SysML2.NET/Core/AutoGenPoco/Redefinition.cs index 4b5240d8..9d106e24 100644 --- a/SysML2.NET/Core/AutoGenPoco/Redefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/Redefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ReferenceSubsetting.cs b/SysML2.NET/Core/AutoGenPoco/ReferenceSubsetting.cs index 03038af1..a55e5618 100644 --- a/SysML2.NET/Core/AutoGenPoco/ReferenceSubsetting.cs +++ b/SysML2.NET/Core/AutoGenPoco/ReferenceSubsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -40,8 +40,8 @@ namespace SysML2.NET.Core.POCO.Core.Features /// distinguished from other Features subsetted by the referencingFeature. ReferenceSubsetting has the /// same semantics as Subsetting, but the referencedFeature may have a special purpose relative to the /// referencingFeature. For instance, ReferenceSubsetting is used to identify the relatedFeatures of a - /// Connector.ReferenceSubsetting is always an ownedRelationship of its referencingFeature. A Feature - /// can have at most one ownedReferenceSubsetting. + /// Connector. ReferenceSubsetting is always an ownedRelationship of its + /// referencingFeature. A Feature can have at most one ownedReferenceSubsetting. /// [Class(xmiId: "_19_0_4_12e503d9_1661554793960_500657_60", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/ReferenceUsage.cs b/SysML2.NET/Core/AutoGenPoco/ReferenceUsage.cs index 427b7f6e..cc9d7bd4 100644 --- a/SysML2.NET/Core/AutoGenPoco/ReferenceUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ReferenceUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -159,7 +159,6 @@ public partial class ReferenceUsage : IReferenceUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -390,11 +389,11 @@ public partial class ReferenceUsage : IReferenceUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -432,9 +431,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -660,7 +659,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -934,7 +932,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Relationship.cs b/SysML2.NET/Core/AutoGenPoco/Relationship.cs deleted file mode 100644 index 0638eb0e..00000000 --- a/SysML2.NET/Core/AutoGenPoco/Relationship.cs +++ /dev/null @@ -1,274 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// -// -// Copyright (C) 2022-2025 Starion Group S.A. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -// -// ------------------------------------------------------------------------------------------------ - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ - -namespace SysML2.NET.Core.POCO.Root.Elements -{ - using System; - using System.CodeDom.Compiler; - using System.Collections.Generic; - using System.Linq; - - using SysML2.NET.Core.POCO.Root.Annotations; - using SysML2.NET.Core.POCO.Root.Namespaces; - using SysML2.NET.Decorators; - - /// - /// A Relationship is an Element that relates other Element. Some of its relatedElements may be owned, - /// in which case those ownedRelatedElements will be deleted from a model if their owningRelationship - /// is. A Relationship may also be owned by another Element, in which case the ownedRelatedElements of - /// the Relationship are also considered to be transitively owned by the owningRelatedElement of the - /// Relationship.The relatedElements of a Relationship are divided into source and target Elements. The - /// Relationship is considered to be directed from the source to the target Elements. An undirected - /// Relationship may have either all source or all target Elements.A "relationship Element" in - /// the abstract syntax is generically any Element that is an instance of either Relationship or a - /// direct or indirect specialization of Relationship. Any other kind of Element is a - /// "non-relationship Element". It is a convention of that non-relationship Elements are only - /// related via reified relationship Elements. Any meta-associations directly between non-relationship - /// Elements must be derived from underlying reified Relationship. - /// - [Class(xmiId: "_18_5_3_12e503d9_1533160651700_869737_42192", isAbstract: true, isFinalSpecialization: false, isActive: false)] - [GeneratedCode("SysML2.NET", "latest")] - public partial class Relationship : IRelationship - { - /// - /// Gets or sets the unique identifier - /// - [Property(xmiId: "sysml2.net", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IData.Id")] - public Guid Id { get; set; } - - /// - /// Various alternative identifiers for this Element. Generally, these will be set by tools. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594312532679_496267_4310", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.AliasIds")] - public List AliasIds { get; set; } = []; - - /// - /// The declared name of this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674987_737648_43307", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredName")] - public string DeclaredName { get; set; } - - /// - /// An optional alternative name for the Element that is intended to be shorter or in some way more - /// succinct than its primary name. It may act as a modeler-specified identifier for the Element, though - /// it is then the responsibility of the modeler to maintain the uniqueness of this identifier within a - /// model or relative to some other context. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594160442439_915308_4153", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.DeclaredShortName")] - public string DeclaredShortName { get; set; } - - /// - /// The Documentation owned by this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594150061166_345630_1621", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.Documentation")] - public List documentation => this.ComputeDocumentation(); - - /// - /// The globally unique identifier for this Element. This is intended to be set by tooling, and it must - /// not change during the lifetime of the Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_844338_43305", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ElementId")] - public string ElementId { get; set; } - - /// - /// Whether this Relationship was generated by tooling to meet semantic rules, rather than being - /// directly created by a modeler. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070829631_521257_3623", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IRelationship.IsImplied")] - public bool IsImplied { get; set; } - - /// - /// Whether all necessary implied Relationships have been included in the ownedRelationships of this - /// Element. This property may be true, even if there are not actually any ownedRelationships with - /// isImplied = true, meaning that no such Relationships are actually implied for this Element. However, - /// if it is false, then ownedRelationships may not contain any implied Relationships. That is, either - /// all required implied Relationships must be included, or none of them. - /// - [Property(xmiId: "_19_0_4_12e503d9_1662070949317_79713_3658", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] - [Implements(implementation: "IElement.IsImpliedIncluded")] - public bool IsImpliedIncluded { get; set; } - - /// - /// Whether this Element is contained in the ownership tree of a library model. - /// - [Property(xmiId: "_19_0_4_12e503d9_1665443500960_5561_723", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.IsLibraryElement")] - public bool isLibraryElement => this.ComputeIsLibraryElement(); - - /// - /// The name to be used for this Element during name resolution within its owningNamespace. This is - /// derived using the effectiveName() operation. By default, it is the same as the declaredName, but - /// this is overridden for certain kinds of Elements to compute a name even when the declaredName is - /// null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1617485009541_709355_27528", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Name")] - public string name => this.ComputeName(); - - /// - /// The ownedRelationships of this Element that are Annotations, for which this Element is the - /// annotatedElement. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594152527165_702130_2500", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092026091_217766_16748")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543094430277_599480_18543")] - [Implements(implementation: "IElement.OwnedAnnotation")] - public List ownedAnnotation => this.ComputeOwnedAnnotation(); - - /// - /// The Elements owned by this Element, derived as the ownedRelatedElements of the ownedRelationships of - /// this Element. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_112608_17278", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.OwnedElement")] - public List ownedElement => this.ComputeOwnedElement(); - - /// - /// The relatedElements of this Relationship that are owned by the Relationship. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_59873_43302", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.OwnedRelatedElement")] - public List OwnedRelatedElement { get; set; } = []; - - /// - /// The Relationships for which this Element is the owningRelatedElement. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_217766_16748", aggregation: AggregationKind.Composite, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwnedRelationship")] - public List OwnedRelationship { get; set; } = []; - - /// - /// The owner of this Element, derived as the owningRelatedElement of the owningRelationship of this - /// Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092869879_744477_17277", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.Owner")] - public IElement owner => this.ComputeOwner(); - - /// - /// The owningRelationship of this Element, if that Relationship is a Membership. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674972_622493_43236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674973_469277_43243")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674986_482273_43303")] - [Implements(implementation: "IElement.OwningMembership")] - public IOwningMembership owningMembership => this.ComputeOwningMembership(); - - /// - /// The Namespace that owns this Element, which is the membershipOwningNamespace of the owningMembership - /// of this Element, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_474739_43306", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674980_717955_43271")] - [Implements(implementation: "IElement.OwningNamespace")] - public INamespace owningNamespace => this.ComputeOwningNamespace(); - - /// - /// The relatedElement of this Relationship that owns the Relationship, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1543092026091_693018_16749", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.OwningRelatedElement")] - public IElement OwningRelatedElement { get; set; } - - /// - /// The Relationship for which this Element is an ownedRelatedElement, if any. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674986_482273_43303", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_585972_43176")] - [Implements(implementation: "IElement.OwningRelationship")] - public IRelationship OwningRelationship { get; set; } - - /// - /// The full ownership-qualified name of this Element, represented in a form that is valid according to - /// the KerML textual concrete syntax for qualified names (including use of unrestricted name notation - /// and escaped characters, as necessary). The qualifiedName is null if this Element has no - /// owningNamespace or if there is not a complete ownership chain of named Namespaces from a root - /// Namespace to this Element. If the owningNamespace has other Elements with the same name as this one, - /// then the qualifiedName is null for all such Elements other than the first. - /// - [Property(xmiId: "_19_0_4_12e503d9_1611356604987_900871_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.QualifiedName")] - public string qualifiedName => this.ComputeQualifiedName(); - - /// - /// The Elements that are related by this Relationship, derived as the union of the source and target - /// Elements of the Relationship. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674961_132339_43177", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: false, defaultValue: null)] - [Implements(implementation: "IRelationship.RelatedElement")] - public List relatedElement => this.ComputeRelatedElement(); - - /// - /// The short name to be used for this Element during name resolution within its owningNamespace. This - /// is derived using the effectiveShortName() operation. By default, it is the same as the - /// declaredShortName, but this is overridden for certain kinds of Elements to compute a shortName even - /// when the declaredName is null. - /// - [Property(xmiId: "_19_0_4_12e503d9_1673496405504_544235_24", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [Implements(implementation: "IElement.ShortName")] - public string shortName => this.ComputeShortName(); - - /// - /// The relatedElements from which this Relationship is considered to be directed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674971_696758_43228", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.Source")] - public List Source { get; set; } = []; - - /// - /// The relatedElements to which this Relationship is considered to be directed. - /// - [Property(xmiId: "_18_5_3_12e503d9_1533160674961_138197_43179", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674961_132339_43177")] - [Implements(implementation: "IRelationship.Target")] - public List Target { get; set; } = []; - - /// - /// The TextualRepresentations that annotate this Element. - /// - [Property(xmiId: "_19_0_2_12e503d9_1594154758493_640290_3388", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1594145755059_76214_87")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543092869879_112608_17278")] - [Implements(implementation: "IElement.TextualRepresentation")] - public List textualRepresentation => this.ComputeTextualRepresentation(); - - } -} - -// ------------------------------------------------------------------------------------------------ -// --------THIS IS AN AUTOMATICALLY GENERATED FILE. ANY MANUAL CHANGES WILL BE OVERWRITTEN!-------- -// ------------------------------------------------------------------------------------------------ diff --git a/SysML2.NET/Core/AutoGenPoco/RenderingDefinition.cs b/SysML2.NET/Core/AutoGenPoco/RenderingDefinition.cs index 303760d7..8c6d1e4e 100644 --- a/SysML2.NET/Core/AutoGenPoco/RenderingDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/RenderingDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -123,7 +123,6 @@ public partial class RenderingDefinition : IRenderingDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -257,11 +256,11 @@ public partial class RenderingDefinition : IRenderingDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -651,7 +650,6 @@ public partial class RenderingDefinition : IRenderingDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/RenderingUsage.cs b/SysML2.NET/Core/AutoGenPoco/RenderingUsage.cs index 7e26644c..73f20d09 100644 --- a/SysML2.NET/Core/AutoGenPoco/RenderingUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/RenderingUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -160,7 +160,6 @@ public partial class RenderingUsage : IRenderingUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -398,11 +397,11 @@ public partial class RenderingUsage : IRenderingUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -450,9 +449,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -678,7 +677,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -962,7 +960,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/RequirementConstraintMembership.cs b/SysML2.NET/Core/AutoGenPoco/RequirementConstraintMembership.cs index 13a4d21c..ac32bc43 100644 --- a/SysML2.NET/Core/AutoGenPoco/RequirementConstraintMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/RequirementConstraintMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/RequirementDefinition.cs b/SysML2.NET/Core/AutoGenPoco/RequirementDefinition.cs index 77dcff65..63c45005 100644 --- a/SysML2.NET/Core/AutoGenPoco/RequirementDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/RequirementDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -81,7 +81,6 @@ public partial class RequirementDefinition : IRequirementDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621564041941_652319_2722", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -154,7 +153,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -306,9 +304,9 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -316,11 +314,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -710,7 +708,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); @@ -845,7 +842,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_4_12e503d9_1624033010374_29375_40166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.StakeholderParameter")] public List stakeholderParameter => this.ComputeStakeholderParameter(); @@ -862,7 +858,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1595189007408_784255_586", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/RequirementUsage.cs b/SysML2.NET/Core/AutoGenPoco/RequirementUsage.cs index e6fb73e4..67f6376a 100644 --- a/SysML2.NET/Core/AutoGenPoco/RequirementUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/RequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -82,7 +82,6 @@ public partial class RequirementUsage : IRequirementUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -208,7 +207,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -472,11 +470,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -514,9 +512,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -742,7 +740,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1026,7 +1023,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1175,7 +1171,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter => this.ComputeStakeholderParameter(); @@ -1184,7 +1179,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/RequirementVerificationMembership.cs b/SysML2.NET/Core/AutoGenPoco/RequirementVerificationMembership.cs index f4bf91b9..8b39a171 100644 --- a/SysML2.NET/Core/AutoGenPoco/RequirementVerificationMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/RequirementVerificationMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ResultExpressionMembership.cs b/SysML2.NET/Core/AutoGenPoco/ResultExpressionMembership.cs index 4995fde8..5fa03c0b 100644 --- a/SysML2.NET/Core/AutoGenPoco/ResultExpressionMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ResultExpressionMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ReturnParameterMembership.cs b/SysML2.NET/Core/AutoGenPoco/ReturnParameterMembership.cs index 7fba82a5..9c6d9909 100644 --- a/SysML2.NET/Core/AutoGenPoco/ReturnParameterMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ReturnParameterMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/SatisfyRequirementUsage.cs b/SysML2.NET/Core/AutoGenPoco/SatisfyRequirementUsage.cs index 58338e60..76846457 100644 --- a/SysML2.NET/Core/AutoGenPoco/SatisfyRequirementUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/SatisfyRequirementUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -85,7 +85,6 @@ public partial class SatisfyRequirementUsage : ISatisfyRequirementUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -221,7 +220,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -492,11 +490,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -534,9 +532,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -762,7 +760,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1046,7 +1043,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1213,7 +1209,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter => this.ComputeStakeholderParameter(); @@ -1222,7 +1217,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/SelectExpression.cs b/SysML2.NET/Core/AutoGenPoco/SelectExpression.cs index 4fe6a06f..304d72aa 100644 --- a/SysML2.NET/Core/AutoGenPoco/SelectExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/SelectExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,8 +64,8 @@ public partial class SelectExpression : ISelectExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -376,11 +376,11 @@ public partial class SelectExpression : ISelectExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/SendActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/SendActionUsage.cs index a0dca1a3..8f15236d 100644 --- a/SysML2.NET/Core/AutoGenPoco/SendActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/SendActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -89,7 +89,6 @@ public partial class SendActionUsage : ISendActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -157,7 +156,7 @@ public partial class SendActionUsage : ISendActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -186,7 +185,6 @@ public partial class SendActionUsage : ISendActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -424,11 +422,11 @@ public partial class SendActionUsage : ISendActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -466,9 +464,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -694,7 +692,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -737,9 +734,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -979,7 +975,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Specialization.cs b/SysML2.NET/Core/AutoGenPoco/Specialization.cs index 0dd2ce8e..72d274d6 100644 --- a/SysML2.NET/Core/AutoGenPoco/Specialization.cs +++ b/SysML2.NET/Core/AutoGenPoco/Specialization.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/StakeholderMembership.cs b/SysML2.NET/Core/AutoGenPoco/StakeholderMembership.cs index a036e177..58e30bde 100644 --- a/SysML2.NET/Core/AutoGenPoco/StakeholderMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/StakeholderMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/StateDefinition.cs b/SysML2.NET/Core/AutoGenPoco/StateDefinition.cs index 1e5c7f92..3acf2d9f 100644 --- a/SysML2.NET/Core/AutoGenPoco/StateDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/StateDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -61,9 +61,9 @@ namespace SysML2.NET.Core.POCO.Systems.States /// /// A StateDefinition is the Definition of the Behavior of a system or part of a system in a certain - /// state condition.A StateDefinition may be related to up to three of its ownedFeatures by - /// StateBehaviorMembership Relationships, all of different kinds, corresponding to the entry, do and - /// exit actions of the StateDefinition. + /// state condition. A StateDefinition may be related to up to three of its + /// ownedFeatures by StateBehaviorMembership Relationships, all of different kinds, corresponding to the + /// entry, do and exit actions of the StateDefinition. /// [Class(xmiId: "_19_0_2_12e503d9_1575587534200_898246_600", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -82,7 +82,6 @@ public partial class StateDefinition : IStateDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action => this.ComputeAction(); @@ -137,7 +136,6 @@ public partial class StateDefinition : IStateDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -307,11 +305,11 @@ public partial class StateDefinition : IStateDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -701,7 +699,6 @@ public partial class StateDefinition : IStateDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/StateSubactionMembership.cs b/SysML2.NET/Core/AutoGenPoco/StateSubactionMembership.cs index 69cb5ae2..5f446149 100644 --- a/SysML2.NET/Core/AutoGenPoco/StateSubactionMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/StateSubactionMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/StateUsage.cs b/SysML2.NET/Core/AutoGenPoco/StateUsage.cs index d1c2c10d..4ea7cce0 100644 --- a/SysML2.NET/Core/AutoGenPoco/StateUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/StateUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -64,9 +64,10 @@ namespace SysML2.NET.Core.POCO.Systems.States /// /// A StateUsage is an ActionUsage that is nominally the Usage of a StateDefinition. However, other - /// kinds of kernel Behaviors are also allowed as types, to permit use of BehaviorsA StateUsage may be - /// related to up to three of its ownedFeatures by StateSubactionMembership Relationships, all of - /// different kinds, corresponding to the entry, do and exit actions of the StateUsage. + /// kinds of kernel Behaviors are also allowed as types, to permit use of Behaviors + /// A StateUsage may be related to up to three of its ownedFeatures by StateSubactionMembership + /// Relationships, all of different kinds, corresponding to the entry, do and exit actions of the + /// StateUsage. /// [Class(xmiId: "_19_0_2_12e503d9_1575587557729_586912_651", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -86,7 +87,6 @@ public partial class StateUsage : IStateUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [RedefinedByProperty("IStateUsage.StateDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] List Systems.Actions.IActionUsage.actionDefinition => [.. this.stateDefinition]; @@ -155,7 +155,7 @@ public partial class StateUsage : IStateUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -184,7 +184,6 @@ public partial class StateUsage : IStateUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -458,11 +457,11 @@ public partial class StateUsage : IStateUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -500,9 +499,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -728,7 +727,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -771,9 +769,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1013,7 +1010,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/Step.cs b/SysML2.NET/Core/AutoGenPoco/Step.cs index a90ae9e6..db1e3c6a 100644 --- a/SysML2.NET/Core/AutoGenPoco/Step.cs +++ b/SysML2.NET/Core/AutoGenPoco/Step.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -341,11 +341,11 @@ public partial class Step : IStep /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/Structure.cs b/SysML2.NET/Core/AutoGenPoco/Structure.cs index 5f5313d5..cafa3e62 100644 --- a/SysML2.NET/Core/AutoGenPoco/Structure.cs +++ b/SysML2.NET/Core/AutoGenPoco/Structure.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -222,11 +222,11 @@ public partial class Structure : IStructure /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/Subclassification.cs b/SysML2.NET/Core/AutoGenPoco/Subclassification.cs index 9f0ed924..f0519921 100644 --- a/SysML2.NET/Core/AutoGenPoco/Subclassification.cs +++ b/SysML2.NET/Core/AutoGenPoco/Subclassification.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/SubjectMembership.cs b/SysML2.NET/Core/AutoGenPoco/SubjectMembership.cs index f2ef0c61..8db413f2 100644 --- a/SysML2.NET/Core/AutoGenPoco/SubjectMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/SubjectMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Subsetting.cs b/SysML2.NET/Core/AutoGenPoco/Subsetting.cs index dcc813ec..0ccf8af9 100644 --- a/SysML2.NET/Core/AutoGenPoco/Subsetting.cs +++ b/SysML2.NET/Core/AutoGenPoco/Subsetting.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Succession.cs b/SysML2.NET/Core/AutoGenPoco/Succession.cs index 8052888a..b280d9d0 100644 --- a/SysML2.NET/Core/AutoGenPoco/Succession.cs +++ b/SysML2.NET/Core/AutoGenPoco/Succession.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -366,11 +366,11 @@ public partial class Succession : ISuccession /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/SuccessionAsUsage.cs b/SysML2.NET/Core/AutoGenPoco/SuccessionAsUsage.cs index be6a2883..888dcaee 100644 --- a/SysML2.NET/Core/AutoGenPoco/SuccessionAsUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/SuccessionAsUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -184,7 +184,6 @@ public partial class SuccessionAsUsage : ISuccessionAsUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -415,11 +414,11 @@ public partial class SuccessionAsUsage : ISuccessionAsUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -457,9 +456,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -685,7 +684,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -967,7 +965,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/SuccessionFlow.cs b/SysML2.NET/Core/AutoGenPoco/SuccessionFlow.cs index dc623e07..d0ad0cc3 100644 --- a/SysML2.NET/Core/AutoGenPoco/SuccessionFlow.cs +++ b/SysML2.NET/Core/AutoGenPoco/SuccessionFlow.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -400,11 +400,11 @@ public partial class SuccessionFlow : ISuccessionFlow /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/SuccessionFlowUsage.cs b/SysML2.NET/Core/AutoGenPoco/SuccessionFlowUsage.cs index 5a1f611e..a4089d1c 100644 --- a/SysML2.NET/Core/AutoGenPoco/SuccessionFlowUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/SuccessionFlowUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -86,10 +86,8 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("IFlowUsage.FlowDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => [.. this.flowDefinition]; + public List actionDefinition => this.ComputeActionDefinition(); /// /// Various alternative identifiers for this Element. Generally, these will be set by tools. @@ -183,7 +181,7 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -212,7 +210,6 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -300,7 +297,6 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage /// Model Libraries. /// [Property(xmiId: "_19_0_4_12e503d9_1661892878973_977062_185", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1661900477937_518125_727")] [Implements(implementation: "IFlowUsage.FlowDefinition")] public List flowDefinition => this.ComputeFlowDefinition(); @@ -489,11 +485,11 @@ public partial class SuccessionFlowUsage : ISuccessionFlowUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -531,9 +527,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -759,7 +755,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -802,9 +797,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1052,7 +1046,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/TerminateActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/TerminateActionUsage.cs index f542f7b2..7a5dba72 100644 --- a/SysML2.NET/Core/AutoGenPoco/TerminateActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/TerminateActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -88,7 +88,6 @@ public partial class TerminateActionUsage : ITerminateActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -156,7 +155,7 @@ public partial class TerminateActionUsage : ITerminateActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -185,7 +184,6 @@ public partial class TerminateActionUsage : ITerminateActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -423,11 +421,11 @@ public partial class TerminateActionUsage : ITerminateActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -465,9 +463,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -693,7 +691,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -736,9 +733,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -978,7 +974,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/TextualRepresentation.cs b/SysML2.NET/Core/AutoGenPoco/TextualRepresentation.cs index 0a6ca061..48abd0d8 100644 --- a/SysML2.NET/Core/AutoGenPoco/TextualRepresentation.cs +++ b/SysML2.NET/Core/AutoGenPoco/TextualRepresentation.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -38,26 +38,30 @@ namespace SysML2.NET.Core.POCO.Root.Annotations /// given language. The representedElement must be the owner of the TextualRepresentation. The named /// language can be a natural language, in which case the body is an informal representation, or an /// artificial language, in which case the body is expected to be a formal, machine-parsable - /// representation.If the named language of a TextualRepresentation is machine-parsable, then the body - /// text should be legal input text as defined for that language. The interpretation of the named - /// language string shall be case insensitive. The following language names are defined to correspond to - /// the given standard languages:
kerml Kernel Modeling Language
ocl Object Constraint - /// Language
alf Action Language for fUML
Other specifications may - /// define specific language strings, other than those shown above, to be used to indicate the use of - /// languages from those specifications in KerML TextualRepresentation.If the language of a - /// TextualRepresentation is "kerml", then the body text shall be a legal representation of - /// the representedElement in the KerML textual concrete syntax. A conforming tool can use such a - /// TextualRepresentation Annotation to record the original KerML concrete syntax text from which an - /// Element was parsed. In this case, it is a tool responsibility to ensure that the body of the - /// TextualRepresentation remains correct (or the Annotation is removed) if the annotated Element - /// changes other than by re-parsing the body text.An Element with a TextualRepresentation in a language - /// other than KerML is essentially a semantically "opaque" Element specified in the other - /// language. However, a conforming KerML tool may interpret such an element consistently with the - /// specification of the named language. + /// representation. If the named language of a TextualRepresentation is + /// machine-parsable, then the body text should be legal input text as defined for that language. The + /// interpretation of the named language string shall be case insensitive. The following language names + /// are defined to correspond to the given standard languages: + /// + /// + /// + /// + ///
kerml Kernel Modeling Language
ocl Object Constraint Language
alfAction Language for fUML
Other + /// specifications may define specific language strings, other than those shown above, to be used to + /// indicate the use of languages from those specifications in KerML TextualRepresentation. + /// If the language of a TextualRepresentation is "kerml", then the body text shall + /// be a legal representation of the representedElement in the KerML textual concrete syntax. A + /// conforming tool can use such a TextualRepresentation Annotation to record the original KerML + /// concrete syntax text from which an Element was parsed. In this case, it is a tool responsibility to + /// ensure that the body of the TextualRepresentation remains correct (or the Annotation is removed) if + /// the annotated Element changes other than by re-parsing the body text. An + /// Element with a TextualRepresentation in a language other than KerML is essentially a semantically + /// "opaque" Element specified in the other language. However, a conforming KerML tool may + /// interpret such an element consistently with the specification of the named language. /// [Class(xmiId: "_19_0_2_12e503d9_1594152214531_455349_2448", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] diff --git a/SysML2.NET/Core/AutoGenPoco/TransitionFeatureMembership.cs b/SysML2.NET/Core/AutoGenPoco/TransitionFeatureMembership.cs index 80ecdc97..942ba172 100644 --- a/SysML2.NET/Core/AutoGenPoco/TransitionFeatureMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/TransitionFeatureMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/TransitionUsage.cs b/SysML2.NET/Core/AutoGenPoco/TransitionUsage.cs index 6da65fbb..3446ae33 100644 --- a/SysML2.NET/Core/AutoGenPoco/TransitionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/TransitionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -68,9 +68,9 @@ namespace SysML2.NET.Core.POCO.Systems.States /// A TransitionUsage is an ActionUsage representing a triggered transition between ActionUsages or /// StateUsages. When triggered by a triggerAction, when its guardExpression is true, the /// TransitionUsage asserts that its source is exited, then its effectAction (if any) is performed, and - /// then its target is entered.A TransitionUsage can be related to some of its ownedFeatures using - /// TransitionFeatureMembership Relationships, corresponding to the triggerAction, guardExpression and - /// effectAction of the TransitionUsage. + /// then its target is entered. A TransitionUsage can be related to some of its + /// ownedFeatures using TransitionFeatureMembership Relationships, corresponding to the triggerAction, + /// guardExpression and effectAction of the TransitionUsage. /// [Class(xmiId: "_19_0_2_12e503d9_1575672078353_626298_450", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -90,7 +90,6 @@ public partial class TransitionUsage : ITransitionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -158,7 +157,7 @@ public partial class TransitionUsage : ITransitionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -187,7 +186,6 @@ public partial class TransitionUsage : ITransitionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -445,11 +443,11 @@ public partial class TransitionUsage : ITransitionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -487,9 +485,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -715,7 +713,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -758,9 +755,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1000,7 +996,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/TriggerInvocationExpression.cs b/SysML2.NET/Core/AutoGenPoco/TriggerInvocationExpression.cs index 8dfd6773..3f9d7f30 100644 --- a/SysML2.NET/Core/AutoGenPoco/TriggerInvocationExpression.cs +++ b/SysML2.NET/Core/AutoGenPoco/TriggerInvocationExpression.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -66,8 +66,8 @@ public partial class TriggerInvocationExpression : ITriggerInvocationExpression /// /// The Expressions whose results are bound to features of the instantiatedType. The arguments are /// ordered consistent with the order of the features, though they may not be one-to-one with all the - /// features.Note. The derivation of argument is given in the concrete subclasses of - /// InstantiationExpression. + /// features. Note. The derivation of argument is given in + /// the concrete subclasses of InstantiationExpression. /// [Property(xmiId: "_2022x_2_12e503d9_1739134437590_328753_108", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IInstantiationExpression.Argument")] @@ -378,11 +378,11 @@ public partial class TriggerInvocationExpression : ITriggerInvocationExpression /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/Type.cs b/SysML2.NET/Core/AutoGenPoco/Type.cs index 2c9094b2..df410410 100644 --- a/SysML2.NET/Core/AutoGenPoco/Type.cs +++ b/SysML2.NET/Core/AutoGenPoco/Type.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -219,11 +219,11 @@ public partial class Type : IType /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] diff --git a/SysML2.NET/Core/AutoGenPoco/TypeFeaturing.cs b/SysML2.NET/Core/AutoGenPoco/TypeFeaturing.cs index 677dd7d8..79f1e753 100644 --- a/SysML2.NET/Core/AutoGenPoco/TypeFeaturing.cs +++ b/SysML2.NET/Core/AutoGenPoco/TypeFeaturing.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Unioning.cs b/SysML2.NET/Core/AutoGenPoco/Unioning.cs index 9dd73b10..c4520b62 100644 --- a/SysML2.NET/Core/AutoGenPoco/Unioning.cs +++ b/SysML2.NET/Core/AutoGenPoco/Unioning.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/Usage.cs b/SysML2.NET/Core/AutoGenPoco/Usage.cs index 61cda7ef..1b5d8bf2 100644 --- a/SysML2.NET/Core/AutoGenPoco/Usage.cs +++ b/SysML2.NET/Core/AutoGenPoco/Usage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -60,13 +60,14 @@ namespace SysML2.NET.Core.POCO.Systems.DefinitionAndUsage using SysML2.NET.Decorators; /// - /// A Usage is a usage of a Definition.A Usage may have nestedUsages that model features that apply in - /// the context of the owningUsage. A Usage may also have Definitions nested in it, but this has no - /// semantic significance, other than the nested scoping resulting from the Usage being considered as a - /// Namespace for any nested Definitions.However, if a Usage has isVariation = true, then it represents - /// a variation point Usage. In this case, all of its members must be variant Usages, related to the - /// Usage by VariantMembership Relationships. Rather than being features of the Usage, variant Usages - /// model different concrete alternatives that can be chosen to fill in for the variation point Usage. + /// A Usage is a usage of a Definition. A Usage may have nestedUsages that model + /// features that apply in the context of the owningUsage. A Usage may also have Definitions nested in + /// it, but this has no semantic significance, other than the nested scoping resulting from the Usage + /// being considered as a Namespace for any nested Definitions. However, if a + /// Usage has isVariation = true, then it represents a variation point Usage. In this case, all of its + /// members must be variant Usages, related to the Usage by VariantMembership Relationships. Rather than + /// being features of the Usage, variant Usages model different concrete alternatives that can be chosen + /// to fill in for the variation point Usage. /// [Class(xmiId: "_18_5_3_12e503d9_1565469997820_598571_19982", isAbstract: false, isFinalSpecialization: false, isActive: false)] [GeneratedCode("SysML2.NET", "latest")] @@ -161,7 +162,6 @@ public partial class Usage : IUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -383,11 +383,11 @@ public partial class Usage : IUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -425,9 +425,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -653,7 +653,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -927,7 +926,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/UseCaseDefinition.cs b/SysML2.NET/Core/AutoGenPoco/UseCaseDefinition.cs index cb43371f..91fd00eb 100644 --- a/SysML2.NET/Core/AutoGenPoco/UseCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/UseCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -82,7 +82,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action => this.ComputeAction(); @@ -91,7 +90,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -106,7 +104,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation => this.ComputeCalculation(); @@ -155,7 +152,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -306,9 +302,9 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -316,11 +312,11 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -718,7 +714,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); @@ -841,7 +836,6 @@ public partial class UseCaseDefinition : IUseCaseDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/UseCaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/UseCaseUsage.cs index c5842f66..9352a2c7 100644 --- a/SysML2.NET/Core/AutoGenPoco/UseCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/UseCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -84,17 +84,14 @@ public partial class UseCaseUsage : IUseCaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition != null ? [((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition] : []; + public List actionDefinition => this.ComputeActionDefinition(); /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -121,7 +118,6 @@ public partial class UseCaseUsage : IUseCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] IFunction Systems.Calculations.ICalculationUsage.calculationDefinition => ((SysML2.NET.Core.POCO.Systems.Cases.ICaseUsage)this).caseDefinition; @@ -183,7 +179,7 @@ public partial class UseCaseUsage : IUseCaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -212,7 +208,6 @@ public partial class UseCaseUsage : IUseCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -475,11 +470,11 @@ public partial class UseCaseUsage : IUseCaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -517,9 +512,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -745,7 +740,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -796,9 +790,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1038,7 +1031,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1150,7 +1142,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/VariantMembership.cs b/SysML2.NET/Core/AutoGenPoco/VariantMembership.cs index 431dd632..9ef4cd3d 100644 --- a/SysML2.NET/Core/AutoGenPoco/VariantMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/VariantMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/VerificationCaseDefinition.cs b/SysML2.NET/Core/AutoGenPoco/VerificationCaseDefinition.cs index e65236bc..474b1043 100644 --- a/SysML2.NET/Core/AutoGenPoco/VerificationCaseDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/VerificationCaseDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -81,7 +81,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565500809065_170841_30688", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_b9102da_1536346067212_587255_17343")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IActionDefinition.Action")] public List action => this.ComputeAction(); @@ -90,7 +89,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621464609772_382176_1612", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -105,7 +103,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// The actions of this CalculationDefinition that are CalculationUsages. /// [Property(xmiId: "_19_0_2_12e503d9_1588214479224_101961_594", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565500809065_170841_30688")] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948400639_301251_20841")] [Implements(implementation: "ICalculationDefinition.Calculation")] public List calculation => this.ComputeCalculation(); @@ -154,7 +151,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -297,9 +293,9 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -307,11 +303,11 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -709,7 +705,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); @@ -832,7 +827,6 @@ public partial class VerificationCaseDefinition : IVerificationCaseDefinition /// [Property(xmiId: "_19_0_2_12e503d9_1595189932946_106647_973", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "ICaseDefinition.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/VerificationCaseUsage.cs b/SysML2.NET/Core/AutoGenPoco/VerificationCaseUsage.cs index 4ebebc69..5d514e87 100644 --- a/SysML2.NET/Core/AutoGenPoco/VerificationCaseUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/VerificationCaseUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -84,17 +84,14 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] - [RedefinedByProperty("ICalculationUsage.CalculationDefinition")] [Implements(implementation: "IActionUsage.ActionDefinition")] - List Systems.Actions.IActionUsage.actionDefinition => ((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition != null ? [((SysML2.NET.Core.POCO.Systems.Calculations.ICalculationUsage)this).calculationDefinition] : []; + public List actionDefinition => this.ComputeActionDefinition(); /// /// The parameters of this CaseUsage that represent actors involved in the case. /// [Property(xmiId: "_19_0_4_12e503d9_1621464633171_380461_1655", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -121,7 +118,6 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1588213526305_899324_302", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1543948477241_299049_20934")] - [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1565500905804_589845_30779")] [RedefinedByProperty("ICaseUsage.CaseDefinition")] [Implements(implementation: "ICalculationUsage.CalculationDefinition")] IFunction Systems.Calculations.ICalculationUsage.calculationDefinition => this.caseDefinition; @@ -182,7 +178,7 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -211,7 +207,6 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -466,11 +461,11 @@ public partial class VerificationCaseUsage : IVerificationCaseUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -508,9 +503,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -736,7 +731,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -787,9 +781,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. ((SysML2.NET.Core.POCO.Systems.Actions.IActionUsage)this).actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -1029,7 +1022,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1141,7 +1133,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595190279083_51021_1128", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "ICaseUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/ViewDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ViewDefinition.cs index fad01dee..875d05ba 100644 --- a/SysML2.NET/Core/AutoGenPoco/ViewDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ViewDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -125,7 +125,6 @@ public partial class ViewDefinition : IViewDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -259,11 +258,11 @@ public partial class ViewDefinition : IViewDefinition /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -653,7 +652,6 @@ public partial class ViewDefinition : IViewDefinition /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); diff --git a/SysML2.NET/Core/AutoGenPoco/ViewRenderingMembership.cs b/SysML2.NET/Core/AutoGenPoco/ViewRenderingMembership.cs index 3970e8dd..dbe10cee 100644 --- a/SysML2.NET/Core/AutoGenPoco/ViewRenderingMembership.cs +++ b/SysML2.NET/Core/AutoGenPoco/ViewRenderingMembership.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Core/AutoGenPoco/ViewUsage.cs b/SysML2.NET/Core/AutoGenPoco/ViewUsage.cs index 963c1c49..0e749db7 100644 --- a/SysML2.NET/Core/AutoGenPoco/ViewUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ViewUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -162,7 +162,6 @@ public partial class ViewUsage : IViewUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -409,11 +408,11 @@ public partial class ViewUsage : IViewUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -461,9 +460,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -689,7 +688,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -973,7 +971,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Core/AutoGenPoco/ViewpointDefinition.cs b/SysML2.NET/Core/AutoGenPoco/ViewpointDefinition.cs index 43abceed..4bc192cd 100644 --- a/SysML2.NET/Core/AutoGenPoco/ViewpointDefinition.cs +++ b/SysML2.NET/Core/AutoGenPoco/ViewpointDefinition.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -80,7 +80,6 @@ public partial class ViewpointDefinition : IViewpointDefinition /// [Property(xmiId: "_19_0_4_12e503d9_1621564041941_652319_2722", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -153,7 +152,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565495064714_974634_26150", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -305,9 +303,9 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether this Function can be used as the function of a model-level evaluable InvocationExpression. /// Certain Functions from the Kernel Functions Library are considered to have isModelLevelEvaluable = - /// true. For all other Functions it is false.Note: See the specification of the KerML - /// concrete syntax notation for Expressions for an identification of which library Functions are - /// model-level evaluable. + /// true. For all other Functions it is false. Note: See the + /// specification of the KerML concrete syntax notation for Expressions for an identification of which + /// library Functions are model-level evaluable. /// [Property(xmiId: "_19_0_4_12e503d9_1617395221463_139517_26381", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [Implements(implementation: "IFunction.IsModelLevelEvaluable")] @@ -315,11 +313,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -709,7 +707,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_18_5_3_12e503d9_1565479686637_967933_23236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IDefinition.OwnedUsage")] public List ownedUsage => this.ComputeOwnedUsage(); @@ -844,7 +841,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_4_12e503d9_1624033010374_29375_40166", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.StakeholderParameter")] public List stakeholderParameter => this.ComputeStakeholderParameter(); @@ -861,7 +857,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1595189007408_784255_586", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1543948010065_362066_20413")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_48981_27786")] [Implements(implementation: "IRequirementDefinition.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/ViewpointUsage.cs b/SysML2.NET/Core/AutoGenPoco/ViewpointUsage.cs index 9ae756fc..244afb51 100644 --- a/SysML2.NET/Core/AutoGenPoco/ViewpointUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/ViewpointUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -82,7 +82,6 @@ public partial class ViewpointUsage : IViewpointUsage /// [Property(xmiId: "_19_0_4_12e503d9_1621564075474_350859_2735", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.ActorParameter")] public List actorParameter => this.ComputeActorParameter(); @@ -208,7 +207,6 @@ string Root.Elements.IElement.DeclaredShortName /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -472,11 +470,11 @@ string Root.Elements.IElement.DeclaredShortName /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -514,9 +512,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -742,7 +740,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -1026,7 +1023,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); @@ -1176,7 +1172,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1624032823963_328647_40107", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.StakeholderParameter")] public List stakeholderParameter => this.ComputeStakeholderParameter(); @@ -1185,7 +1180,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_2_12e503d9_1595189397261_941898_844", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1595189174990_213826_657")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IRequirementUsage.SubjectParameter")] public IUsage subjectParameter => this.ComputeSubjectParameter(); diff --git a/SysML2.NET/Core/AutoGenPoco/WhileLoopActionUsage.cs b/SysML2.NET/Core/AutoGenPoco/WhileLoopActionUsage.cs index 23f06ba4..1f7a1d67 100644 --- a/SysML2.NET/Core/AutoGenPoco/WhileLoopActionUsage.cs +++ b/SysML2.NET/Core/AutoGenPoco/WhileLoopActionUsage.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -88,7 +88,6 @@ public partial class WhileLoopActionUsage : IWhileLoopActionUsage /// [Property(xmiId: "_18_5_3_12e503d9_1565500905804_589845_30779", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_18_5_3_b9102da_1536346315176_954314_17388")] - [RedefinedProperty(propertyName: "_19_0_4_12e503d9_1618943843466_158863_236")] [Implements(implementation: "IActionUsage.ActionDefinition")] public List actionDefinition => this.ComputeActionDefinition(); @@ -164,7 +163,7 @@ public partial class WhileLoopActionUsage : IWhileLoopActionUsage [RedefinedProperty(propertyName: "_18_5_3_12e503d9_1533160674969_376003_43216")] [RedefinedByProperty("IOccurrenceUsage.OccurrenceDefinition")] [Implements(implementation: "IUsage.Definition")] - List Systems.DefinitionAndUsage.IUsage.definition => [.. ((SysML2.NET.Core.POCO.Systems.Occurrences.IOccurrenceUsage)this).occurrenceDefinition]; + List Systems.DefinitionAndUsage.IUsage.definition => [.. this.occurrenceDefinition]; /// /// The interpretations of a Type with differencingTypes are asserted to be those of the first of those @@ -193,7 +192,6 @@ public partial class WhileLoopActionUsage : IWhileLoopActionUsage /// [Property(xmiId: "_19_0_2_12e503d9_1591217699198_66279_508", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_19_0_4_12e503d9_1623952188842_882068_37169")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.DirectedUsage")] public List directedUsage => this.ComputeDirectedUsage(); @@ -431,11 +429,11 @@ public partial class WhileLoopActionUsage : IWhileLoopActionUsage /// /// Whether all things that meet the classification conditions of this Type must be classified by the - /// Type.(A Type gives conditions that must be met by whatever it classifies, but when isSufficient - /// is false, things may meet those conditions but still not be classified by the Type. For example, a - /// Type Car that is not sufficient could require everything it classifies to have four wheels, but not - /// all four wheeled things would classify as cars. However, if the Type Car were sufficient, it would - /// classify all four-wheeled things.) + /// Type. (A Type gives conditions that must be met by whatever it + /// classifies, but when isSufficient is false, things may meet those conditions but still not be + /// classified by the Type. For example, a Type Car that is not sufficient could require everything it + /// classifies to have four wheels, but not all four wheeled things would classify as cars. However, if + /// the Type Car were sufficient, it would classify all four-wheeled things.) /// [Property(xmiId: "_18_5_3_b9102da_1564072709069_937523_30797", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: false, isDerivedUnion: false, isUnique: true, defaultValue: "false")] [Implements(implementation: "IType.IsSufficient")] @@ -473,9 +471,9 @@ bool Core.Features.IFeature.IsVariable /// Whether this Usage may be time varying (that is, whether it is featured by the snapshots of its /// owningType, rather than being featured by the owningType itself). However, if isConstant is also /// true, then the value of the Usage is nevertheless constant over the entire duration of an instance - /// of its owningType (that is, it has the same value on all snapshots).The property mayTimeVary - /// redefines the KerML property Feature::isVariable, making it derived. The property isConstant is - /// inherited from Feature. + /// of its owningType (that is, it has the same value on all snapshots). The + /// property mayTimeVary redefines the KerML property Feature::isVariable, making it derived. The + /// property isConstant is inherited from Feature. /// [Property(xmiId: "_2022x_2_12e503d9_1737227200362_771035_69", aggregation: AggregationKind.None, lowerValue: 1, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_2022x_2_12e503d9_1725998273002_23711_212")] @@ -701,7 +699,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565472757327_162097_21259", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674959_226999_43167")] - [SubsettedProperty(propertyName: "_19_0_2_12e503d9_1591217543254_26688_475")] [Implements(implementation: "IUsage.NestedUsage")] public List nestedUsage => this.ComputeNestedUsage(); @@ -744,9 +741,8 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_19_0_4_12e503d9_1618943843466_158863_236", aggregation: AggregationKind.None, lowerValue: 0, upperValue: int.MaxValue, isOrdered: true, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [RedefinedProperty(propertyName: "_19_0_2_12e503d9_1591477641252_179221_958")] - [RedefinedByProperty("IActionUsage.ActionDefinition")] [Implements(implementation: "IOccurrenceUsage.OccurrenceDefinition")] - List Systems.Occurrences.IOccurrenceUsage.occurrenceDefinition => [.. this.actionDefinition]; + public List occurrenceDefinition => this.ComputeOccurrenceDefinition(); /// /// All features related to this Type by FeatureMemberships that have direction out or inout. @@ -986,7 +982,6 @@ bool Core.Features.IFeature.IsVariable /// [Property(xmiId: "_18_5_3_12e503d9_1565479686638_420576_23237", aggregation: AggregationKind.None, lowerValue: 0, upperValue: 1, isOrdered: false, isReadOnly: false, isDerived: true, isDerivedUnion: false, isUnique: true, defaultValue: null)] [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1533160674965_592215_43200")] - [SubsettedProperty(propertyName: "_18_5_3_12e503d9_1565498571495_18876_27787")] [Implements(implementation: "IUsage.OwningDefinition")] public IDefinition owningDefinition => this.ComputeOwningDefinition(); diff --git a/SysML2.NET/Extend/AcceptActionUsageExtensions.cs b/SysML2.NET/Extend/AcceptActionUsageExtensions.cs index f374d9d0..fadecebf 100644 --- a/SysML2.NET/Extend/AcceptActionUsageExtensions.cs +++ b/SysML2.NET/Extend/AcceptActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ActionDefinitionExtensions.cs b/SysML2.NET/Extend/ActionDefinitionExtensions.cs index 87f09dd8..cd1da8e5 100644 --- a/SysML2.NET/Extend/ActionDefinitionExtensions.cs +++ b/SysML2.NET/Extend/ActionDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ActionUsageExtensions.cs b/SysML2.NET/Extend/ActionUsageExtensions.cs index 0ee4e39b..d273efff 100644 --- a/SysML2.NET/Extend/ActionUsageExtensions.cs +++ b/SysML2.NET/Extend/ActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ActorMembershipExtensions.cs b/SysML2.NET/Extend/ActorMembershipExtensions.cs index 75238442..bba19a14 100644 --- a/SysML2.NET/Extend/ActorMembershipExtensions.cs +++ b/SysML2.NET/Extend/ActorMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AllocationDefinitionExtensions.cs b/SysML2.NET/Extend/AllocationDefinitionExtensions.cs index 922573db..8373a5a2 100644 --- a/SysML2.NET/Extend/AllocationDefinitionExtensions.cs +++ b/SysML2.NET/Extend/AllocationDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AllocationUsageExtensions.cs b/SysML2.NET/Extend/AllocationUsageExtensions.cs index 5a8d0e9e..7d887658 100644 --- a/SysML2.NET/Extend/AllocationUsageExtensions.cs +++ b/SysML2.NET/Extend/AllocationUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AnalysisCaseDefinitionExtensions.cs b/SysML2.NET/Extend/AnalysisCaseDefinitionExtensions.cs index 5307408d..c072ab88 100644 --- a/SysML2.NET/Extend/AnalysisCaseDefinitionExtensions.cs +++ b/SysML2.NET/Extend/AnalysisCaseDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AnalysisCaseUsageExtensions.cs b/SysML2.NET/Extend/AnalysisCaseUsageExtensions.cs index 700eb1ae..955b1ad0 100644 --- a/SysML2.NET/Extend/AnalysisCaseUsageExtensions.cs +++ b/SysML2.NET/Extend/AnalysisCaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AnnotatingElementExtensions.cs b/SysML2.NET/Extend/AnnotatingElementExtensions.cs index cce7eacc..fd7a06cb 100644 --- a/SysML2.NET/Extend/AnnotatingElementExtensions.cs +++ b/SysML2.NET/Extend/AnnotatingElementExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AnnotationExtensions.cs b/SysML2.NET/Extend/AnnotationExtensions.cs index ed7a6303..865af6eb 100644 --- a/SysML2.NET/Extend/AnnotationExtensions.cs +++ b/SysML2.NET/Extend/AnnotationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AssertConstraintUsageExtensions.cs b/SysML2.NET/Extend/AssertConstraintUsageExtensions.cs index 23e20c4a..24d9e62d 100644 --- a/SysML2.NET/Extend/AssertConstraintUsageExtensions.cs +++ b/SysML2.NET/Extend/AssertConstraintUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AssignmentActionUsageExtensions.cs b/SysML2.NET/Extend/AssignmentActionUsageExtensions.cs index 96e8fc44..f35d0417 100644 --- a/SysML2.NET/Extend/AssignmentActionUsageExtensions.cs +++ b/SysML2.NET/Extend/AssignmentActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AssociationExtensions.cs b/SysML2.NET/Extend/AssociationExtensions.cs index fc0f5e20..0c0600d8 100644 --- a/SysML2.NET/Extend/AssociationExtensions.cs +++ b/SysML2.NET/Extend/AssociationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/AttributeUsageExtensions.cs b/SysML2.NET/Extend/AttributeUsageExtensions.cs index 37f570b8..9cc344b9 100644 --- a/SysML2.NET/Extend/AttributeUsageExtensions.cs +++ b/SysML2.NET/Extend/AttributeUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/BehaviorExtensions.cs b/SysML2.NET/Extend/BehaviorExtensions.cs index 184887a6..8ec444e3 100644 --- a/SysML2.NET/Extend/BehaviorExtensions.cs +++ b/SysML2.NET/Extend/BehaviorExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/BooleanExpressionExtensions.cs b/SysML2.NET/Extend/BooleanExpressionExtensions.cs index 909e4839..1aeb0597 100644 --- a/SysML2.NET/Extend/BooleanExpressionExtensions.cs +++ b/SysML2.NET/Extend/BooleanExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/CalculationDefinitionExtensions.cs b/SysML2.NET/Extend/CalculationDefinitionExtensions.cs index f72643bd..8ac182dc 100644 --- a/SysML2.NET/Extend/CalculationDefinitionExtensions.cs +++ b/SysML2.NET/Extend/CalculationDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/CalculationUsageExtensions.cs b/SysML2.NET/Extend/CalculationUsageExtensions.cs index 8ff23508..f454e320 100644 --- a/SysML2.NET/Extend/CalculationUsageExtensions.cs +++ b/SysML2.NET/Extend/CalculationUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/CaseDefinitionExtensions.cs b/SysML2.NET/Extend/CaseDefinitionExtensions.cs index 21d0e795..32e2d121 100644 --- a/SysML2.NET/Extend/CaseDefinitionExtensions.cs +++ b/SysML2.NET/Extend/CaseDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/CaseUsageExtensions.cs b/SysML2.NET/Extend/CaseUsageExtensions.cs index 5fec10b4..ac38b172 100644 --- a/SysML2.NET/Extend/CaseUsageExtensions.cs +++ b/SysML2.NET/Extend/CaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ClassifierExtensions.cs b/SysML2.NET/Extend/ClassifierExtensions.cs index 240a67bf..ffd60219 100644 --- a/SysML2.NET/Extend/ClassifierExtensions.cs +++ b/SysML2.NET/Extend/ClassifierExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/CollectExpressionExtensions.cs b/SysML2.NET/Extend/CollectExpressionExtensions.cs index f14ee641..164b83a7 100644 --- a/SysML2.NET/Extend/CollectExpressionExtensions.cs +++ b/SysML2.NET/Extend/CollectExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/CommentExtensions.cs b/SysML2.NET/Extend/CommentExtensions.cs index 19dfc232..304c74f9 100644 --- a/SysML2.NET/Extend/CommentExtensions.cs +++ b/SysML2.NET/Extend/CommentExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ConcernUsageExtensions.cs b/SysML2.NET/Extend/ConcernUsageExtensions.cs index fb9e9bb7..19f263e2 100644 --- a/SysML2.NET/Extend/ConcernUsageExtensions.cs +++ b/SysML2.NET/Extend/ConcernUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ConjugatedPortDefinitionExtensions.cs b/SysML2.NET/Extend/ConjugatedPortDefinitionExtensions.cs index f14f85c0..45cec792 100644 --- a/SysML2.NET/Extend/ConjugatedPortDefinitionExtensions.cs +++ b/SysML2.NET/Extend/ConjugatedPortDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ConjugatedPortTypingExtensions.cs b/SysML2.NET/Extend/ConjugatedPortTypingExtensions.cs index 7cb11fa2..a8d3e7dd 100644 --- a/SysML2.NET/Extend/ConjugatedPortTypingExtensions.cs +++ b/SysML2.NET/Extend/ConjugatedPortTypingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ConjugationExtensions.cs b/SysML2.NET/Extend/ConjugationExtensions.cs index b911a6b7..2c7ca90e 100644 --- a/SysML2.NET/Extend/ConjugationExtensions.cs +++ b/SysML2.NET/Extend/ConjugationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ConnectionDefinitionExtensions.cs b/SysML2.NET/Extend/ConnectionDefinitionExtensions.cs index 6dd22a52..eab1d7f4 100644 --- a/SysML2.NET/Extend/ConnectionDefinitionExtensions.cs +++ b/SysML2.NET/Extend/ConnectionDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ConnectionUsageExtensions.cs b/SysML2.NET/Extend/ConnectionUsageExtensions.cs index d513ef22..28a1cb90 100644 --- a/SysML2.NET/Extend/ConnectionUsageExtensions.cs +++ b/SysML2.NET/Extend/ConnectionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ConnectorExtensions.cs b/SysML2.NET/Extend/ConnectorExtensions.cs index 29e3a7bc..0b74fef0 100644 --- a/SysML2.NET/Extend/ConnectorExtensions.cs +++ b/SysML2.NET/Extend/ConnectorExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ConstraintUsageExtensions.cs b/SysML2.NET/Extend/ConstraintUsageExtensions.cs index 1cc7fdeb..b6ed09a1 100644 --- a/SysML2.NET/Extend/ConstraintUsageExtensions.cs +++ b/SysML2.NET/Extend/ConstraintUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/CrossSubsettingExtensions.cs b/SysML2.NET/Extend/CrossSubsettingExtensions.cs index 331b8017..a299e93a 100644 --- a/SysML2.NET/Extend/CrossSubsettingExtensions.cs +++ b/SysML2.NET/Extend/CrossSubsettingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/DefinitionExtensions.cs b/SysML2.NET/Extend/DefinitionExtensions.cs index 79e93827..8fee916e 100644 --- a/SysML2.NET/Extend/DefinitionExtensions.cs +++ b/SysML2.NET/Extend/DefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/DependencyExtensions.cs b/SysML2.NET/Extend/DependencyExtensions.cs index 2683ef9e..3eea36a6 100644 --- a/SysML2.NET/Extend/DependencyExtensions.cs +++ b/SysML2.NET/Extend/DependencyExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/DifferencingExtensions.cs b/SysML2.NET/Extend/DifferencingExtensions.cs index 7c8d694a..7db16ccb 100644 --- a/SysML2.NET/Extend/DifferencingExtensions.cs +++ b/SysML2.NET/Extend/DifferencingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/DisjoiningExtensions.cs b/SysML2.NET/Extend/DisjoiningExtensions.cs index 22439db1..655d99ed 100644 --- a/SysML2.NET/Extend/DisjoiningExtensions.cs +++ b/SysML2.NET/Extend/DisjoiningExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/DocumentationExtensions.cs b/SysML2.NET/Extend/DocumentationExtensions.cs index bd8b1929..c49c3409 100644 --- a/SysML2.NET/Extend/DocumentationExtensions.cs +++ b/SysML2.NET/Extend/DocumentationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ElementExtensions.cs b/SysML2.NET/Extend/ElementExtensions.cs index 67b9d90e..3488bd6a 100644 --- a/SysML2.NET/Extend/ElementExtensions.cs +++ b/SysML2.NET/Extend/ElementExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ElementFilterMembershipExtensions.cs b/SysML2.NET/Extend/ElementFilterMembershipExtensions.cs index 88f8ba82..aaf0545f 100644 --- a/SysML2.NET/Extend/ElementFilterMembershipExtensions.cs +++ b/SysML2.NET/Extend/ElementFilterMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/EndFeatureMembershipExtensions.cs b/SysML2.NET/Extend/EndFeatureMembershipExtensions.cs index 37e933cc..14e2096c 100644 --- a/SysML2.NET/Extend/EndFeatureMembershipExtensions.cs +++ b/SysML2.NET/Extend/EndFeatureMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/EnumerationDefinitionExtensions.cs b/SysML2.NET/Extend/EnumerationDefinitionExtensions.cs index cd6e4bd4..c6548de8 100644 --- a/SysML2.NET/Extend/EnumerationDefinitionExtensions.cs +++ b/SysML2.NET/Extend/EnumerationDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/EnumerationUsageExtensions.cs b/SysML2.NET/Extend/EnumerationUsageExtensions.cs index b15f4c55..675cbfa2 100644 --- a/SysML2.NET/Extend/EnumerationUsageExtensions.cs +++ b/SysML2.NET/Extend/EnumerationUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/EventOccurrenceUsageExtensions.cs b/SysML2.NET/Extend/EventOccurrenceUsageExtensions.cs index b99aec98..dc44a43e 100644 --- a/SysML2.NET/Extend/EventOccurrenceUsageExtensions.cs +++ b/SysML2.NET/Extend/EventOccurrenceUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ExhibitStateUsageExtensions.cs b/SysML2.NET/Extend/ExhibitStateUsageExtensions.cs index 56fffe95..2cda5448 100644 --- a/SysML2.NET/Extend/ExhibitStateUsageExtensions.cs +++ b/SysML2.NET/Extend/ExhibitStateUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ExposeExtensions.cs b/SysML2.NET/Extend/ExposeExtensions.cs index 9888fb9a..4448b8e3 100644 --- a/SysML2.NET/Extend/ExposeExtensions.cs +++ b/SysML2.NET/Extend/ExposeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ExpressionExtensions.cs b/SysML2.NET/Extend/ExpressionExtensions.cs index 9a03ef18..b9d93ea5 100644 --- a/SysML2.NET/Extend/ExpressionExtensions.cs +++ b/SysML2.NET/Extend/ExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FeatureChainExpressionExtensions.cs b/SysML2.NET/Extend/FeatureChainExpressionExtensions.cs index 6d2e5037..47185847 100644 --- a/SysML2.NET/Extend/FeatureChainExpressionExtensions.cs +++ b/SysML2.NET/Extend/FeatureChainExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FeatureChainingExtensions.cs b/SysML2.NET/Extend/FeatureChainingExtensions.cs index cc135165..c51d4d6f 100644 --- a/SysML2.NET/Extend/FeatureChainingExtensions.cs +++ b/SysML2.NET/Extend/FeatureChainingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FeatureExtensions.cs b/SysML2.NET/Extend/FeatureExtensions.cs index ca7cfec0..583c604c 100644 --- a/SysML2.NET/Extend/FeatureExtensions.cs +++ b/SysML2.NET/Extend/FeatureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FeatureInvertingExtensions.cs b/SysML2.NET/Extend/FeatureInvertingExtensions.cs index 7dabea3e..8c918129 100644 --- a/SysML2.NET/Extend/FeatureInvertingExtensions.cs +++ b/SysML2.NET/Extend/FeatureInvertingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FeatureMembershipExtensions.cs b/SysML2.NET/Extend/FeatureMembershipExtensions.cs index 23d757a3..05baf7b0 100644 --- a/SysML2.NET/Extend/FeatureMembershipExtensions.cs +++ b/SysML2.NET/Extend/FeatureMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FeatureReferenceExpressionExtensions.cs b/SysML2.NET/Extend/FeatureReferenceExpressionExtensions.cs index b97c1d26..436af758 100644 --- a/SysML2.NET/Extend/FeatureReferenceExpressionExtensions.cs +++ b/SysML2.NET/Extend/FeatureReferenceExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FeatureTypingExtensions.cs b/SysML2.NET/Extend/FeatureTypingExtensions.cs index d494dc7a..dc53caed 100644 --- a/SysML2.NET/Extend/FeatureTypingExtensions.cs +++ b/SysML2.NET/Extend/FeatureTypingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FeatureValueExtensions.cs b/SysML2.NET/Extend/FeatureValueExtensions.cs index ff94b618..13d659f1 100644 --- a/SysML2.NET/Extend/FeatureValueExtensions.cs +++ b/SysML2.NET/Extend/FeatureValueExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FlowDefinitionExtensions.cs b/SysML2.NET/Extend/FlowDefinitionExtensions.cs index 75c083ab..7e8aeb95 100644 --- a/SysML2.NET/Extend/FlowDefinitionExtensions.cs +++ b/SysML2.NET/Extend/FlowDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FlowExtensions.cs b/SysML2.NET/Extend/FlowExtensions.cs index 4ce634de..c716d160 100644 --- a/SysML2.NET/Extend/FlowExtensions.cs +++ b/SysML2.NET/Extend/FlowExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FlowUsageExtensions.cs b/SysML2.NET/Extend/FlowUsageExtensions.cs index 838cc133..64b1beec 100644 --- a/SysML2.NET/Extend/FlowUsageExtensions.cs +++ b/SysML2.NET/Extend/FlowUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ForLoopActionUsageExtensions.cs b/SysML2.NET/Extend/ForLoopActionUsageExtensions.cs index 6d4dc097..7f595163 100644 --- a/SysML2.NET/Extend/ForLoopActionUsageExtensions.cs +++ b/SysML2.NET/Extend/ForLoopActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FramedConcernMembershipExtensions.cs b/SysML2.NET/Extend/FramedConcernMembershipExtensions.cs index 7d411ba7..3ff4dce8 100644 --- a/SysML2.NET/Extend/FramedConcernMembershipExtensions.cs +++ b/SysML2.NET/Extend/FramedConcernMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/FunctionExtensions.cs b/SysML2.NET/Extend/FunctionExtensions.cs index 04c14dcf..1c593f93 100644 --- a/SysML2.NET/Extend/FunctionExtensions.cs +++ b/SysML2.NET/Extend/FunctionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/IfActionUsageExtensions.cs b/SysML2.NET/Extend/IfActionUsageExtensions.cs index 1e939225..4308bb93 100644 --- a/SysML2.NET/Extend/IfActionUsageExtensions.cs +++ b/SysML2.NET/Extend/IfActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ImportExtensions.cs b/SysML2.NET/Extend/ImportExtensions.cs index 46f0d1df..d42ed84f 100644 --- a/SysML2.NET/Extend/ImportExtensions.cs +++ b/SysML2.NET/Extend/ImportExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/IncludeUseCaseUsageExtensions.cs b/SysML2.NET/Extend/IncludeUseCaseUsageExtensions.cs index 23dabfd7..1f6874a7 100644 --- a/SysML2.NET/Extend/IncludeUseCaseUsageExtensions.cs +++ b/SysML2.NET/Extend/IncludeUseCaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/IndexExpressionExtensions.cs b/SysML2.NET/Extend/IndexExpressionExtensions.cs index 5bac4eb4..678985fc 100644 --- a/SysML2.NET/Extend/IndexExpressionExtensions.cs +++ b/SysML2.NET/Extend/IndexExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/InstantiationExpressionExtensions.cs b/SysML2.NET/Extend/InstantiationExpressionExtensions.cs index 2d9bc682..74a3a911 100644 --- a/SysML2.NET/Extend/InstantiationExpressionExtensions.cs +++ b/SysML2.NET/Extend/InstantiationExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/InterfaceDefinitionExtensions.cs b/SysML2.NET/Extend/InterfaceDefinitionExtensions.cs index bdd130d4..2210ae0e 100644 --- a/SysML2.NET/Extend/InterfaceDefinitionExtensions.cs +++ b/SysML2.NET/Extend/InterfaceDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/InterfaceUsageExtensions.cs b/SysML2.NET/Extend/InterfaceUsageExtensions.cs index a6baf561..cb89087f 100644 --- a/SysML2.NET/Extend/InterfaceUsageExtensions.cs +++ b/SysML2.NET/Extend/InterfaceUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/IntersectingExtensions.cs b/SysML2.NET/Extend/IntersectingExtensions.cs index 2a537805..5584a2fd 100644 --- a/SysML2.NET/Extend/IntersectingExtensions.cs +++ b/SysML2.NET/Extend/IntersectingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/InvariantExtensions.cs b/SysML2.NET/Extend/InvariantExtensions.cs index 1b842ed0..c4c38fce 100644 --- a/SysML2.NET/Extend/InvariantExtensions.cs +++ b/SysML2.NET/Extend/InvariantExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ItemUsageExtensions.cs b/SysML2.NET/Extend/ItemUsageExtensions.cs index b153e132..c424a30a 100644 --- a/SysML2.NET/Extend/ItemUsageExtensions.cs +++ b/SysML2.NET/Extend/ItemUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/LibraryPackageExtensions.cs b/SysML2.NET/Extend/LibraryPackageExtensions.cs index 50a7020e..c80f20ae 100644 --- a/SysML2.NET/Extend/LibraryPackageExtensions.cs +++ b/SysML2.NET/Extend/LibraryPackageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/LiteralBooleanExtensions.cs b/SysML2.NET/Extend/LiteralBooleanExtensions.cs index e799a54e..5eec3c04 100644 --- a/SysML2.NET/Extend/LiteralBooleanExtensions.cs +++ b/SysML2.NET/Extend/LiteralBooleanExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/LiteralIntegerExtensions.cs b/SysML2.NET/Extend/LiteralIntegerExtensions.cs index 9be00c73..453f5e2b 100644 --- a/SysML2.NET/Extend/LiteralIntegerExtensions.cs +++ b/SysML2.NET/Extend/LiteralIntegerExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/LiteralRationalExtensions.cs b/SysML2.NET/Extend/LiteralRationalExtensions.cs index 217f9032..92c7140b 100644 --- a/SysML2.NET/Extend/LiteralRationalExtensions.cs +++ b/SysML2.NET/Extend/LiteralRationalExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/LiteralStringExtensions.cs b/SysML2.NET/Extend/LiteralStringExtensions.cs index 337a937d..2dedcbc3 100644 --- a/SysML2.NET/Extend/LiteralStringExtensions.cs +++ b/SysML2.NET/Extend/LiteralStringExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/LoopActionUsageExtensions.cs b/SysML2.NET/Extend/LoopActionUsageExtensions.cs index 80f49075..7656a990 100644 --- a/SysML2.NET/Extend/LoopActionUsageExtensions.cs +++ b/SysML2.NET/Extend/LoopActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/MembershipExtensions.cs b/SysML2.NET/Extend/MembershipExtensions.cs index e48e31ed..759cee38 100644 --- a/SysML2.NET/Extend/MembershipExtensions.cs +++ b/SysML2.NET/Extend/MembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/MembershipImportExtensions.cs b/SysML2.NET/Extend/MembershipImportExtensions.cs index c5f97e4d..d726573b 100644 --- a/SysML2.NET/Extend/MembershipImportExtensions.cs +++ b/SysML2.NET/Extend/MembershipImportExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/MetadataAccessExpressionExtensions.cs b/SysML2.NET/Extend/MetadataAccessExpressionExtensions.cs index dee9e643..d960c3c9 100644 --- a/SysML2.NET/Extend/MetadataAccessExpressionExtensions.cs +++ b/SysML2.NET/Extend/MetadataAccessExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/MetadataFeatureExtensions.cs b/SysML2.NET/Extend/MetadataFeatureExtensions.cs index 2aa9c833..ae63d220 100644 --- a/SysML2.NET/Extend/MetadataFeatureExtensions.cs +++ b/SysML2.NET/Extend/MetadataFeatureExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/MetadataUsageExtensions.cs b/SysML2.NET/Extend/MetadataUsageExtensions.cs index 4d4fc576..8b3de5cf 100644 --- a/SysML2.NET/Extend/MetadataUsageExtensions.cs +++ b/SysML2.NET/Extend/MetadataUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/MultiplicityRangeExtensions.cs b/SysML2.NET/Extend/MultiplicityRangeExtensions.cs index ff0a6019..657ccfd5 100644 --- a/SysML2.NET/Extend/MultiplicityRangeExtensions.cs +++ b/SysML2.NET/Extend/MultiplicityRangeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/NamespaceExtensions.cs b/SysML2.NET/Extend/NamespaceExtensions.cs index 140ce726..644c7baf 100644 --- a/SysML2.NET/Extend/NamespaceExtensions.cs +++ b/SysML2.NET/Extend/NamespaceExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/NamespaceImportExtensions.cs b/SysML2.NET/Extend/NamespaceImportExtensions.cs index 96fe23a7..110d73ec 100644 --- a/SysML2.NET/Extend/NamespaceImportExtensions.cs +++ b/SysML2.NET/Extend/NamespaceImportExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ObjectiveMembershipExtensions.cs b/SysML2.NET/Extend/ObjectiveMembershipExtensions.cs index 31e9fd95..00722143 100644 --- a/SysML2.NET/Extend/ObjectiveMembershipExtensions.cs +++ b/SysML2.NET/Extend/ObjectiveMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/OccurrenceDefinitionExtensions.cs b/SysML2.NET/Extend/OccurrenceDefinitionExtensions.cs index 2f529080..243f6b22 100644 --- a/SysML2.NET/Extend/OccurrenceDefinitionExtensions.cs +++ b/SysML2.NET/Extend/OccurrenceDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/OccurrenceUsageExtensions.cs b/SysML2.NET/Extend/OccurrenceUsageExtensions.cs index 11021a85..dcc990dc 100644 --- a/SysML2.NET/Extend/OccurrenceUsageExtensions.cs +++ b/SysML2.NET/Extend/OccurrenceUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/OperatorExpressionExtensions.cs b/SysML2.NET/Extend/OperatorExpressionExtensions.cs index bd1fcfdd..58bec30c 100644 --- a/SysML2.NET/Extend/OperatorExpressionExtensions.cs +++ b/SysML2.NET/Extend/OperatorExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/OwningMembershipExtensions.cs b/SysML2.NET/Extend/OwningMembershipExtensions.cs index b0c3fd6e..a0ec6f48 100644 --- a/SysML2.NET/Extend/OwningMembershipExtensions.cs +++ b/SysML2.NET/Extend/OwningMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/PackageExtensions.cs b/SysML2.NET/Extend/PackageExtensions.cs index 170f3734..189783af 100644 --- a/SysML2.NET/Extend/PackageExtensions.cs +++ b/SysML2.NET/Extend/PackageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ParameterMembershipExtensions.cs b/SysML2.NET/Extend/ParameterMembershipExtensions.cs index 65e53a81..9d9fc8e2 100644 --- a/SysML2.NET/Extend/ParameterMembershipExtensions.cs +++ b/SysML2.NET/Extend/ParameterMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/PartUsageExtensions.cs b/SysML2.NET/Extend/PartUsageExtensions.cs index 47d38cce..89d73f8a 100644 --- a/SysML2.NET/Extend/PartUsageExtensions.cs +++ b/SysML2.NET/Extend/PartUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/PerformActionUsageExtensions.cs b/SysML2.NET/Extend/PerformActionUsageExtensions.cs index 878ab7da..9da10577 100644 --- a/SysML2.NET/Extend/PerformActionUsageExtensions.cs +++ b/SysML2.NET/Extend/PerformActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/PortConjugationExtensions.cs b/SysML2.NET/Extend/PortConjugationExtensions.cs index 0a3c3017..f4ca6745 100644 --- a/SysML2.NET/Extend/PortConjugationExtensions.cs +++ b/SysML2.NET/Extend/PortConjugationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/PortDefinitionExtensions.cs b/SysML2.NET/Extend/PortDefinitionExtensions.cs index 6aaa2ccd..03f35bc9 100644 --- a/SysML2.NET/Extend/PortDefinitionExtensions.cs +++ b/SysML2.NET/Extend/PortDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/PortUsageExtensions.cs b/SysML2.NET/Extend/PortUsageExtensions.cs index d3f69f46..4b3095e6 100644 --- a/SysML2.NET/Extend/PortUsageExtensions.cs +++ b/SysML2.NET/Extend/PortUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/RedefinitionExtensions.cs b/SysML2.NET/Extend/RedefinitionExtensions.cs index aa7523f9..70081203 100644 --- a/SysML2.NET/Extend/RedefinitionExtensions.cs +++ b/SysML2.NET/Extend/RedefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ReferenceSubsettingExtensions.cs b/SysML2.NET/Extend/ReferenceSubsettingExtensions.cs index 1922d7b6..90e31852 100644 --- a/SysML2.NET/Extend/ReferenceSubsettingExtensions.cs +++ b/SysML2.NET/Extend/ReferenceSubsettingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ReferenceUsageExtensions.cs b/SysML2.NET/Extend/ReferenceUsageExtensions.cs index 4cf0eed7..f85277b9 100644 --- a/SysML2.NET/Extend/ReferenceUsageExtensions.cs +++ b/SysML2.NET/Extend/ReferenceUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/RelationshipExtensions.cs b/SysML2.NET/Extend/RelationshipExtensions.cs index e6998cba..71532379 100644 --- a/SysML2.NET/Extend/RelationshipExtensions.cs +++ b/SysML2.NET/Extend/RelationshipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/RenderingDefinitionExtensions.cs b/SysML2.NET/Extend/RenderingDefinitionExtensions.cs index 97a0327f..9e1b5a64 100644 --- a/SysML2.NET/Extend/RenderingDefinitionExtensions.cs +++ b/SysML2.NET/Extend/RenderingDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/RenderingUsageExtensions.cs b/SysML2.NET/Extend/RenderingUsageExtensions.cs index 298eae75..41795ad5 100644 --- a/SysML2.NET/Extend/RenderingUsageExtensions.cs +++ b/SysML2.NET/Extend/RenderingUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/RequirementConstraintMembershipExtensions.cs b/SysML2.NET/Extend/RequirementConstraintMembershipExtensions.cs index 0655d7fa..e859d364 100644 --- a/SysML2.NET/Extend/RequirementConstraintMembershipExtensions.cs +++ b/SysML2.NET/Extend/RequirementConstraintMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/RequirementDefinitionExtensions.cs b/SysML2.NET/Extend/RequirementDefinitionExtensions.cs index 162b4a37..6fddbb82 100644 --- a/SysML2.NET/Extend/RequirementDefinitionExtensions.cs +++ b/SysML2.NET/Extend/RequirementDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/RequirementUsageExtensions.cs b/SysML2.NET/Extend/RequirementUsageExtensions.cs index 0a4b156a..2411aff1 100644 --- a/SysML2.NET/Extend/RequirementUsageExtensions.cs +++ b/SysML2.NET/Extend/RequirementUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/RequirementVerificationMembershipExtensions.cs b/SysML2.NET/Extend/RequirementVerificationMembershipExtensions.cs index 2381a8ca..7a60a587 100644 --- a/SysML2.NET/Extend/RequirementVerificationMembershipExtensions.cs +++ b/SysML2.NET/Extend/RequirementVerificationMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ResultExpressionMembershipExtensions.cs b/SysML2.NET/Extend/ResultExpressionMembershipExtensions.cs index ef2809f1..202a2a50 100644 --- a/SysML2.NET/Extend/ResultExpressionMembershipExtensions.cs +++ b/SysML2.NET/Extend/ResultExpressionMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/SatisfyRequirementUsageExtensions.cs b/SysML2.NET/Extend/SatisfyRequirementUsageExtensions.cs index 1c2afcfa..30651038 100644 --- a/SysML2.NET/Extend/SatisfyRequirementUsageExtensions.cs +++ b/SysML2.NET/Extend/SatisfyRequirementUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/SelectExpressionExtensions.cs b/SysML2.NET/Extend/SelectExpressionExtensions.cs index 8db412a2..c8687181 100644 --- a/SysML2.NET/Extend/SelectExpressionExtensions.cs +++ b/SysML2.NET/Extend/SelectExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/SendActionUsageExtensions.cs b/SysML2.NET/Extend/SendActionUsageExtensions.cs index e0810b1f..4627c19e 100644 --- a/SysML2.NET/Extend/SendActionUsageExtensions.cs +++ b/SysML2.NET/Extend/SendActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/SpecializationExtensions.cs b/SysML2.NET/Extend/SpecializationExtensions.cs index 6a13c177..d9ca759c 100644 --- a/SysML2.NET/Extend/SpecializationExtensions.cs +++ b/SysML2.NET/Extend/SpecializationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/StakeholderMembershipExtensions.cs b/SysML2.NET/Extend/StakeholderMembershipExtensions.cs index c232351e..aaa7c191 100644 --- a/SysML2.NET/Extend/StakeholderMembershipExtensions.cs +++ b/SysML2.NET/Extend/StakeholderMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/StateDefinitionExtensions.cs b/SysML2.NET/Extend/StateDefinitionExtensions.cs index a7dd49e9..6c37ebde 100644 --- a/SysML2.NET/Extend/StateDefinitionExtensions.cs +++ b/SysML2.NET/Extend/StateDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/StateSubactionMembershipExtensions.cs b/SysML2.NET/Extend/StateSubactionMembershipExtensions.cs index 57b9533b..1fbfad70 100644 --- a/SysML2.NET/Extend/StateSubactionMembershipExtensions.cs +++ b/SysML2.NET/Extend/StateSubactionMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/StateUsageExtensions.cs b/SysML2.NET/Extend/StateUsageExtensions.cs index 63dfde8f..c6a35b2c 100644 --- a/SysML2.NET/Extend/StateUsageExtensions.cs +++ b/SysML2.NET/Extend/StateUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/StepExtensions.cs b/SysML2.NET/Extend/StepExtensions.cs index 45d032b3..b4b96c61 100644 --- a/SysML2.NET/Extend/StepExtensions.cs +++ b/SysML2.NET/Extend/StepExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/SubclassificationExtensions.cs b/SysML2.NET/Extend/SubclassificationExtensions.cs index 497f02da..accc08f5 100644 --- a/SysML2.NET/Extend/SubclassificationExtensions.cs +++ b/SysML2.NET/Extend/SubclassificationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/SubjectMembershipExtensions.cs b/SysML2.NET/Extend/SubjectMembershipExtensions.cs index 2fde2f58..2773a936 100644 --- a/SysML2.NET/Extend/SubjectMembershipExtensions.cs +++ b/SysML2.NET/Extend/SubjectMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/SubsettingExtensions.cs b/SysML2.NET/Extend/SubsettingExtensions.cs index 3692acf7..af4ac6f3 100644 --- a/SysML2.NET/Extend/SubsettingExtensions.cs +++ b/SysML2.NET/Extend/SubsettingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/TerminateActionUsageExtensions.cs b/SysML2.NET/Extend/TerminateActionUsageExtensions.cs index 8b674c1d..66b57b14 100644 --- a/SysML2.NET/Extend/TerminateActionUsageExtensions.cs +++ b/SysML2.NET/Extend/TerminateActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/TextualRepresentationExtensions.cs b/SysML2.NET/Extend/TextualRepresentationExtensions.cs index 4266f6af..661b33ed 100644 --- a/SysML2.NET/Extend/TextualRepresentationExtensions.cs +++ b/SysML2.NET/Extend/TextualRepresentationExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/TransitionFeatureMembershipExtensions.cs b/SysML2.NET/Extend/TransitionFeatureMembershipExtensions.cs index a59e0b62..7cb8515b 100644 --- a/SysML2.NET/Extend/TransitionFeatureMembershipExtensions.cs +++ b/SysML2.NET/Extend/TransitionFeatureMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/TransitionUsageExtensions.cs b/SysML2.NET/Extend/TransitionUsageExtensions.cs index b488d567..17ef677d 100644 --- a/SysML2.NET/Extend/TransitionUsageExtensions.cs +++ b/SysML2.NET/Extend/TransitionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/TriggerInvocationExpressionExtensions.cs b/SysML2.NET/Extend/TriggerInvocationExpressionExtensions.cs index 06def408..dbe2649a 100644 --- a/SysML2.NET/Extend/TriggerInvocationExpressionExtensions.cs +++ b/SysML2.NET/Extend/TriggerInvocationExpressionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/TypeExtensions.cs b/SysML2.NET/Extend/TypeExtensions.cs index 48c04a29..ca7a9531 100644 --- a/SysML2.NET/Extend/TypeExtensions.cs +++ b/SysML2.NET/Extend/TypeExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/TypeFeaturingExtensions.cs b/SysML2.NET/Extend/TypeFeaturingExtensions.cs index 692a4221..6f115124 100644 --- a/SysML2.NET/Extend/TypeFeaturingExtensions.cs +++ b/SysML2.NET/Extend/TypeFeaturingExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/UnioningExtensions.cs b/SysML2.NET/Extend/UnioningExtensions.cs index 5c3c865d..e4e1fba9 100644 --- a/SysML2.NET/Extend/UnioningExtensions.cs +++ b/SysML2.NET/Extend/UnioningExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/UsageExtensions.cs b/SysML2.NET/Extend/UsageExtensions.cs index 61d03c3d..819e78d6 100644 --- a/SysML2.NET/Extend/UsageExtensions.cs +++ b/SysML2.NET/Extend/UsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/UseCaseDefinitionExtensions.cs b/SysML2.NET/Extend/UseCaseDefinitionExtensions.cs index ff0fbbe7..8fd62488 100644 --- a/SysML2.NET/Extend/UseCaseDefinitionExtensions.cs +++ b/SysML2.NET/Extend/UseCaseDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/UseCaseUsageExtensions.cs b/SysML2.NET/Extend/UseCaseUsageExtensions.cs index 17c84d4e..73aaaee6 100644 --- a/SysML2.NET/Extend/UseCaseUsageExtensions.cs +++ b/SysML2.NET/Extend/UseCaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/VariantMembershipExtensions.cs b/SysML2.NET/Extend/VariantMembershipExtensions.cs index 9a95e942..b9fe2c9c 100644 --- a/SysML2.NET/Extend/VariantMembershipExtensions.cs +++ b/SysML2.NET/Extend/VariantMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/VerificationCaseDefinitionExtensions.cs b/SysML2.NET/Extend/VerificationCaseDefinitionExtensions.cs index 203aa651..8295f7da 100644 --- a/SysML2.NET/Extend/VerificationCaseDefinitionExtensions.cs +++ b/SysML2.NET/Extend/VerificationCaseDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/VerificationCaseUsageExtensions.cs b/SysML2.NET/Extend/VerificationCaseUsageExtensions.cs index 41cea6ac..c32888d1 100644 --- a/SysML2.NET/Extend/VerificationCaseUsageExtensions.cs +++ b/SysML2.NET/Extend/VerificationCaseUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ViewDefinitionExtensions.cs b/SysML2.NET/Extend/ViewDefinitionExtensions.cs index a78e8ffc..609d2176 100644 --- a/SysML2.NET/Extend/ViewDefinitionExtensions.cs +++ b/SysML2.NET/Extend/ViewDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ViewRenderingMembershipExtensions.cs b/SysML2.NET/Extend/ViewRenderingMembershipExtensions.cs index cbfe55ed..b8c66953 100644 --- a/SysML2.NET/Extend/ViewRenderingMembershipExtensions.cs +++ b/SysML2.NET/Extend/ViewRenderingMembershipExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ViewUsageExtensions.cs b/SysML2.NET/Extend/ViewUsageExtensions.cs index 3dc19868..bd512c7b 100644 --- a/SysML2.NET/Extend/ViewUsageExtensions.cs +++ b/SysML2.NET/Extend/ViewUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ViewpointDefinitionExtensions.cs b/SysML2.NET/Extend/ViewpointDefinitionExtensions.cs index 7b3a0769..9e0678c1 100644 --- a/SysML2.NET/Extend/ViewpointDefinitionExtensions.cs +++ b/SysML2.NET/Extend/ViewpointDefinitionExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/ViewpointUsageExtensions.cs b/SysML2.NET/Extend/ViewpointUsageExtensions.cs index 294109d6..6e91afdd 100644 --- a/SysML2.NET/Extend/ViewpointUsageExtensions.cs +++ b/SysML2.NET/Extend/ViewpointUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/SysML2.NET/Extend/WhileLoopActionUsageExtensions.cs b/SysML2.NET/Extend/WhileLoopActionUsageExtensions.cs index 29e756ca..fdf3a1a6 100644 --- a/SysML2.NET/Extend/WhileLoopActionUsageExtensions.cs +++ b/SysML2.NET/Extend/WhileLoopActionUsageExtensions.cs @@ -1,7 +1,7 @@ // ------------------------------------------------------------------------------------------------- // // -// Copyright (C) 2022-2025 Starion Group S.A. +// Copyright (C) 2022-2026 Starion Group S.A. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License.