diff --git a/.gitignore b/.gitignore index 63926a651..3cdf4d79f 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 fdbe3eab3..4ee98bba0 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 7f368fdca..b0bfbbd7f 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 33875557c..000000000 --- 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 67998a82d..0e943d892 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 1796bf29a..d91f1390d 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 d3ed6f769..6438a9571 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 f0bc57b7a..72d1a73e8 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 728a9e05a..82e40e6c3 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 497a54311..72aeb27b6 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 08a0df40b..5402cd391 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 13c3b7cc7..14333553f 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 739e06ad1..ad986a061 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 d8eff5ac8..384941b8e 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 137edaca3..741e8aa49 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 e8913806b..f1d6a5e2c 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 1a5f810ab..608e67916 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 c70f929ae..c02029ed9 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 c0a6a250e..8db6344f1 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 0190c6929..2ea8b83d2 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 58d3012de..91df7425e 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 73b7f5ea1..67cd1fafe 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 98d8977c5..a8e756ea0 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 4bbf43d37..a7d9b1d5a 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 b62458f22..0591208e3 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 6fc59c138..8e5c3a9ed 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 9eb017767..f510f2901 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 90329563b..ee6fb8c63 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 ffa0795ff..0a9bc560a 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 d45b44bea..291fb075a 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 fdf66bc97..8a8fa7504 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 6c86eadf8..626377a14 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 eb072d324..283bf03da 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 1f73ed0f4..8b39fda3f 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 fe2792ccd..5015db543 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 d92a81487..5e4a215dd 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 3f881d40b..e9d271387 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 e4b3415fa..da113ebd4 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 eb6ba8ae2..cfdd7aa22 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 75b688619..dffe15835 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 509e7d090..b1cfb05f8 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 6264c8fed..30aa90aec 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 cd31dbfc1..4767743b6 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 5db88b139..427b66de4 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 6246fae29..b31225e2e 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 9ecb44c5f..4fc07e3c2 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 e8d5a9ec2..10380dee9 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 d7ff1ae54..7191dfe2f 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 e7b1f99d7..79a5c53e9 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 aeb84941f..9f2b5f637 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 58e630bbd..9605a1696 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 8066841a3..85a4a1241 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 717555dbf..57ee46ffc 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 9affbd277..e25e7f09b 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 6dc6ae7ae..cb4cb6b55 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 3c07b9a23..3e0efd9aa 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 2cd617ba8..e982a4b18 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 f9b0888d3..b5b00b4ee 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 b9673d0ee..5986706c7 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 67ce8a2d3..7b97786f1 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 f9e876666..ea3136711 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 8e31e69b4..fb0a72df5 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 5b6750c1f..00f335fc4 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 0a0ec1ca4..e88e2eea4 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 d9e039f36..e4e2315af 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 4bee46071..0b9c1a350 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 7f993eb03..a0931e7e1 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 56bf9e2db..53d8b1757 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 08a26cb95..e0290cccc 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 cc1ef85c7..251b69737 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 a07d0818b..2bb976484 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 207a5c176..f04c9a37b 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 20fb464b8..52fed8eae 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 c53a28b8f..633df78bd 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 298206af5..457ac1437 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 a50e2c573..e21a41371 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 5d12d718a..43dd0f226 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 4b2fd5912..7601e323e 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 38eb4b724..5a7027e54 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 3276cb3c2..623daa1fe 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 3a286d195..00655d354 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 a5a1bb8fc..c78e9f153 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 11c7a0144..8cbeed5a2 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 e47b71ea0..2d7611fa0 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 6f2444e8f..f5ffa038f 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 59a7f6812..9868846be 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 f743d7fdd..8da41d1b5 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 7e843483a..8cb750bcd 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 ded1b9edc..6dd128047 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 db2e84b9a..3182f8533 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 9c1d526d2..19f0a5f63 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 9bfc9e119..90b729d52 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 e1463d10c..339a691e3 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 6aea3cc1a..c3bb9fd41 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 92e9d897b..2646b5661 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 7c99bafc9..7d9aa226c 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 903139fdb..3ce8f523a 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 f9db6f505..2756493d2 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 20c553993..1e2c81525 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 1f2b35be7..2767cad74 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 1dd9607b8..346d411f7 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 7eeeaf1b9..0ce518fc4 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 902458f57..321f6bc6e 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 d206d7920..119cb7971 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 2cecf164f..50eb96cb5 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 7fa7e28b4..633376fcb 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 c51a76719..1a0edf9b2 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 9d6b471ed..34553f849 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 b1d730521..5cb3dcc90 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 6357e0d58..365bad428 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 1052b087b..4224cff82 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 24b9cd224..40abbd0e8 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 5b69ea49e..7ee72a40f 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 a9764b551..1d1315ad9 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 7eea6815c..358533ed0 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 850bab5aa..00222b7a0 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 43fb70c4b..41085923e 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 f078b967a..e6639c8a8 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 40f5bf6f7..2d7f32996 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 5b88987bf..5f12071d2 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 6ca20a99a..66c45f598 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 c5d713f23..1ba1ac06b 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 86c207f6c..76e170ce7 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 43fe7deb9..9f9d4d44b 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 99f0269d0..6b41cac3b 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 bb2f5a021..98f93c39d 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 cce7eacc7..fd7a06cb1 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 fc0f5e209..0c0600d80 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 2683ef9ed..3eea36a6c 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 67b9d90ef..3488bd6a6 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 cd6e4bd45..c6548de89 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 ca7cfec08..583c604cb 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 d494dc7af..dc53caede 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 4ce634de2..c716d1606 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 7d411ba76..3ff4dce81 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 9be00c73b..453f5e2ba 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 217f90321..92c7140bd 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 e48e31ed6..759cee38d 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 ff0a60194..657ccfd54 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 b0c3fd6ea..a0ec6f481 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 1922d7b60..90e318520 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 e6998cba0..71532379a 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 0a4b156ad..2411aff11 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 8db412a2a..c86871811 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 497f02da5..accc08f59 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 4266f6afa..661b33edd 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 61d03c3d6..819e78d69 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 a98121c59..5e5b7f708 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 6a4e95733..cecaaaf09 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 197840699..5fe72f8e4 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 bf1c2cb39..bdb5c4f6a 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 157f91923..f76ac9f25 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 a2aac09ca..1d69a3329 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 33c6ef800..a396d7687 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 2fed000b7..9074bcd3d 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 88d42d012..72963acdd 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 c56ddab52..bb9c64ed7 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 9970b00f5..cb24cbc8a 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 0a51cea10..08c9c86bb 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 2933f945f..e853c884c 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 f52c3a9ed..b082fc1ce 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 de3a863cb..48de9b49d 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 c8eb63558..d143d866b 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 c69ca488f..f0c5181d1 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 e40b797ce..305c3b985 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 2c0e041db..0d0cd01f0 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 c91aa4d6b..364563254 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 7c994785a..c620258e0 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 6209a62f5..c7eb496b6 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 f50753362..31c81dc5f 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 4d443c2f4..78f999adc 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 0d2e618b5..74686ae10 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 348f2753c..f153457ef 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 dcc15c599..c5e31e215 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 57fce9ec2..93dc49d6d 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 0a0427ab8..8a5013327 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 afd21edc7..f26be2897 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 de2f586cb..50a7de408 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 0d664aa76..8ec860759 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 d71581432..5ae2cf3e3 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 3ae507840..a9a9a0a53 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 84be29b54..020a78069 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 f627523ca..60e2aa45f 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 210ba1a28..d33d93a65 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 0ffb507ee..8eb0cde2b 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 7114d49a9..28617ea76 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 1fc84b693..a3ff9d1f0 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 080150705..0ad3d6ceb 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 12add563e..d962ed30c 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 08ec37cac..2faf52b0a 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 4c3aa4867..73819382c 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 89921c322..2c666ca11 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 000000000..e4a192e83 --- /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 59d2d1dc2..5dcd637e2 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 a731dd060..71da37bc8 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 fa98c0457..847294147 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 4b9a6dbc9..8e7970127 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 d4d18f06f..5242f1b3d 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 866976068..848ad9e69 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 67c71ee40..81101ccf0 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 6c79810e8..36881b840 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 2c33207b6..ad1d43a08 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 6e24c4f35..103cdd5fb 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 66324cc47..f7b14396b 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 255f9508e..99dc903ec 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 58b34af72..9db2f1bb6 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 e474b7da9..79b7a485e 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 25b4e7b92..c9d330e3e 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 10e7d3979..2f39825eb 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 00272c3e2..ad9ec234a 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 35a2e688a..b67b1e976 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 be44486a6..2c37f084e 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 3e67e801f..c2b563f6f 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 15ab862bd..182f06754 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 acb05c943..597b494ac 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 b92f15833..61495ced2 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 abef39168..5bbb8ad48 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 07dfb0048..d927545e6 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 8695dfbb2..d4ca18dcd 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 42152fd22..58e21ae24 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 e2d45f52f..cbbfd7b68 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 f1ec62bc6..cf55b29cc 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 252d06816..e2747b806 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 98d4c3997..d217f7c1f 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 5435befb5..14ed524ef 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 18b592ebf..5a4e9eeb2 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 4b8f97750..4269e7bc6 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 18a49d379..dcea11d85 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 7d5634a4e..c274e1040 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 b58969e63..b81890056 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 551df8cd6..c7f83e23c 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 0bd6e1a6f..4996bbd99 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 e2023059f..ad954d4dc 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 cec327ac1..a823a5061 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 48198cc86..61fb38e2f 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 f77c8fae1..2f9c30671 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 45126a5d3..c84653bd3 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 78146e5e6..86efb8e55 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 302454890..33392324d 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 5e1ed1df5..841686fc2 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 017336e84..ad35118c5 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 c0c05ce5d..d0488a5eb 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 883af9bce..a082b17bd 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 5527547f0..d05e600cc 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 438519adb..73c353546 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 3cbd866f1..02e22c21f 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 670af2bf2..c728e7f7c 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 56357e9cc..fb333087f 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 a4521052f..19ee13ce3 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 837265e49..fb0c68ee9 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 fd2c47412..35de90d1b 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 ee82f8bf6..294064e08 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 73c9764f2..cee13cc97 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 b5e25d717..e53074334 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 54e1655d8..23806c674 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 34d1bb09e..d4cabb416 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 8c425f6a5..4435633ed 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 0605a9e16..5d9c7c507 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 fd2f6f99b..88582f4dc 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 0035f932c..7c8e8b65d 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 6227c6bd8..14def20c4 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 8499e92bc..98db9254c 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 d6575b078..b11bc4ecd 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 b7c035926..d08dd0550 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 5e2bfb665..ee396cea8 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 5fae36d14..57465acba 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 dd68e2f9a..832720e86 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 0e7dfc2e3..a9b5bfd85 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 f4027a229..ba655aa27 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 4424c55ab..68db87f52 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 77ddb4571..ef376fcd9 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 588e98ad7..a50fc3d1f 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 cb165b7ae..36ff55c29 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 26dc0ff93..971cb9674 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 742ee6590..bc4135de8 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 088ab7e14..97534770f 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 736b92a26..aa195d06f 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 810a75c14..2da6753d4 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 77de79f09..c27727d41 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 bdbf13e14..98f9e88be 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 5caa6fc53..5866323eb 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 ffa3d9293..97a60d446 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 9fc9c3a12..ba7fd4d4c 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 ede3efa87..b2f2d4032 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 12549362c..218f3d0ea 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 cc1ef85c7..251b69737 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 c373fc222..f7404ab4f 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 ba65b59b1..4b0f92047 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 88ea515ab..65e056852 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 183e00dfa..f77eb48f0 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 8465d81a0..8cced457b 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 aea3f6e06..a8a67e874 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 b699ecb09..3f1fb4221 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 af93d1d1c..cbcdd8b93 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 15642c712..237ef9fea 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 06f51cbc8..3d2675b0d 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 baaab1055..139103d8d 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 7aa9c216b..0a390b166 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 02680a7da..290c55e3a 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 7c9865561..6f80b8dbf 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 7c2fc2b97..7a42fe636 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 0262a35b8..47f666c5e 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 935e46e11..7e1554dd7 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 0f587998c..1b709e207 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 f7f13eb04..bc00b72a2 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 651fee1c6..167136e68 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 5bf4b2bf4..2f06f5f7e 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 15b7e7ec9..037516897 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 be29082f3..01f19e2af 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 813cf58d1..834022928 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 3f0d151ea..7fab491a0 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 14be3f189..1e4f68d23 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 b1e8b6231..8238d2d36 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 16d8ad4f5..8897b1016 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 4628d380d..8a97e937f 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 88817fa25..a91a9510f 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 61ca1c03e..b9bc07a5f 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 47390146c..cf69ff71b 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 17ee92dcf..f0b8b31b0 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 39186924c..c6ad34f73 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 c16ae2a36..e2297936d 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 6992e6e04..ac51bb350 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 1eb8ee00e..59b0a6c1b 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 278e33f8e..a6728af93 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 ef8ca4178..f4fde0687 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 701e94654..b014a52f7 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 ac07ad807..2da394efe 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 6a9f82b17..2450ba99a 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 4cda9256f..c1aa753fe 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 0a8f583d7..d419ea236 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 636167944..723293307 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 daca095d7..2af5771c5 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 ae4fb3aea..9efdd8492 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 cd6689d45..d8befe152 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 a097e5efa..75bbe2dc6 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 44af96b01..4c9d2385b 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 9e1064935..4286821e9 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 9e5a505b4..ed5eb8cd9 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 710cbaf28..eac478d9a 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 ea17e819a..535fbdfe8 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 6152b8dcb..1fe811352 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 85fcf3edb..33f3a088c 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 5a8b38c42..4d1122ec5 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 40706d636..32eb12e33 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 47eb0c127..a73c020bb 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 b33e0f79e..5086a2789 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 4d36cf0be..d2d29d776 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 42ed6aa12..befa5a4ef 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 22737dd1b..c32f527f7 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 71deb0390..1a4242bf2 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 a83335cc8..08b1799ae 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 b2e82ae2d..a3aa696d7 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 235ffa0c8..9c58940ca 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 aa02b863c..a3a7ddf37 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 ab7dcfbbb..8c406b249 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 642e62bfa..eeff3499d 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 3a9eb9d51..dcce3d83e 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 1145860ad..8b6faeae8 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 9c5b8cceb..a4b464622 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 da4925503..d6e7be0b4 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 e33880e62..864ab22b6 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 27e12aee3..bdee7ca9f 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 1431f20a7..c160bd60b 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 c9bf1b676..4b1607fc0 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 50f5423e3..687ebc3e6 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 5fcbcf41d..bd94b38b4 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 0fb9ed244..4da521b3e 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 14362590e..463a139d0 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 bc690f203..892626d86 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 04b4c6b2f..63fba2936 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 812f41b48..8901d43be 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 32b82c7f4..3df493fdb 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 04b8a803c..c2e91ee0e 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 8f336e007..9bf380176 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 46a2a6116..e41f9cf0a 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 7c53d8273..f218af2f9 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 63680db83..a0d6f68f6 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 97b31e36d..153cf41ff 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 b2621d27c..306e28deb 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 3a5c5b608..ca7f33f9a 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 9af6f52bf..e97a2567c 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 eb88a8945..6e8803487 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 fd95b87aa..23b4a3915 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 a9b55be14..7a285ed73 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 7c9cd9652..c5d078ca7 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 eeccd8fdf..7587f05b1 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 036e16bd8..79a06d82e 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 e629e1ea9..247825bf2 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 36394eb6a..aa097972c 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 42d6b7c14..57c981cff 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 cd039bf13..282d61304 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 7d51a4ae7..8b1d16928 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 482d89e02..3fca40812 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 44058e837..0f18d8529 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 23a721174..094ea3064 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 c95fa5d5f..50dfa0afc 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 d6c75f9ae..949d87ee0 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 63859eeb0..4509c0f60 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 24b3be20f..6b1cc2c47 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 e80b2e97a..7991b27b9 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 3f9739591..3b0072e3a 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 4674199b2..e2631338d 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 a2f844eb7..ce5dc995d 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 0ab175cad..84d58d5aa 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 c1ce450dd..a908a4dc3 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 466f5a23d..b32b8d5cd 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 82187c04a..110b2308b 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 79af6f799..71e48b70f 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 ed2fc7b48..426ddcf87 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 a31959915..aebcd8a14 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 9876418d1..afe8b70fc 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 e1d909673..3ae46e50b 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 b55c545b2..b0fbef0ad 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 7c053fb4d..c237abac3 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 7b008dc3f..47129a0a0 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 9ad9e447b..1e6a2fa39 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 9c7ecc371..bab53b87c 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 520ed815c..52e89ce9f 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 82e944e03..62c883cb8 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 3121ed89b..4871f85ae 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 5a65b55ec..b6a66b1bf 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 095df0e98..009b5e3a7 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 cebe0c2a4..b653a40bf 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 09bfc477d..16fb104d4 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 2bd31c1f9..f8d865373 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 df49ff5c6..01199255e 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 145772fb8..c70998618 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 70990f0f4..2895504b0 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 f5731f807..099e32d61 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 f79b212d9..6dde271ff 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 bf6263b33..59f3a6749 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 2a8148de9..0803eb55c 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 d671ea1d1..55261352b 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 9f698f51d..78608c845 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 2b85babd5..fa59b5912 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 8db53e8ab..393fc82c1 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 c9b17596d..ce69e832c 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 73c07fb3b..a6e245396 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 e011e6fec..293a67bfe 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 3bd0ed5d3..6a6898e79 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 68db62e1e..47166aa48 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 5de5f829b..f295b9a97 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 c706afdb7..910345f2f 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 6300559db..55e2581a5 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 c3ca51b02..bb3681452 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 1220c774a..fbaaff89e 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 fd1909c84..078325ba9 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 c0e0b21b2..770e2e8c0 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 429f5a7ab..3f8e1617f 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 bac5daaf9..cfb7a7fdc 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 89861837e..4ddbfa64b 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 08dad4ee9..495243ffd 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 af802dc98..6041a3e28 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 33c6ef800..a396d7687 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 8f47efe3f..e784be122 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 0d9e63372..85b7658c9 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 231847abf..e3114234d 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 f52c8f26e..69fbbb643 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 430ce72ac..6ccbd2bba 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 5dba2a43c..ecb78d680 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 4c631cde8..d4a4ca80f 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 8343cdb73..723711e06 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 d8b01f058..6244443e6 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 228a7f66d..601e2609e 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 2631e1c67..5da860d82 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 3cbd204aa..8ddbe04e6 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 94637b302..05f6ac381 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 0a377206f..357cab007 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 90f20084c..5d7ebdd3a 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 92d7179b5..571b3e36b 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 95bd1535e..39a9474ac 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 2b27d4f7b..fb0cb7fdd 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 668b4e4ea..1120b6584 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 b2d875ed4..fe68c2f7e 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 9301d6a0e..6a5121814 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 67625c66c..c6df6f41d 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 d428833a9..a09755d66 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 afde209f4..64f36c641 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 530e77ce3..9dece5720 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 3b3998698..ca47673da 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 514da7370..f6234d112 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 dff6a8254..f939efd45 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 48d15f74d..5e7a75664 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 651c072ff..123aa216b 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 eb0b1a8d8..951c8bc3c 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 444be66bf..2fffb68ee 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 fc1949295..6ee477d70 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 7703fc802..7bf59fdc8 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 721f9dd94..9879a7490 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 1480320b2..ee72cc9ee 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 1e7dd697c..d65e0adba 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 e97b7801c..40032885f 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 7c4438da9..4c322ec02 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 c00d84fc4..529fd7380 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 fd2c73c4b..48b7dcb35 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 d071ae2ad..12461e790 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 efed974a7..e07ea9e1f 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 061db7759..38c5151c4 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 7e350c9c8..638ac8da6 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 0ab3270a1..da857db0e 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 daa8e821c..2f4588083 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 07fc2cb6f..a7cf5861c 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 8d0ef329d..05fc51a20 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 6b34515ce..d8e957530 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 8bd950497..ac5e674f7 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 d5a47212a..60a54fdba 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 24c823e1c..059974edd 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 c4a7aeb7c..dc1dd5069 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 32c5e4b4c..097c77184 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 4f11d9f0a..568d6c788 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 9d4468c5a..36286c621 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 2e2399d7e..b931ad39e 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 ef2bb2597..db47639cc 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 45c266ca8..34847cc41 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 45b3a921b..4c8f6efe7 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 620c54002..b369646f5 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 c46c6c2a2..adf86d143 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 086bf1bf1..7ccbad90d 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 cce0349bd..e45fa1949 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 b5b18fa86..992c94f47 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 c06d6eeab..005d128b1 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 4a7920a46..717751ba6 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 2a3fc857b..9663a25aa 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 ee65dc5af..2939ca856 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 50ff1970a..45d22335f 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 6fdfcb194..7a0828a01 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 7ab8b358b..798df856e 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 eaa600510..852932e68 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 e50f0549d..55f95694e 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 1db8fa4f2..b6b6dce8f 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 82b656e7d..404f19fd3 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 ec18dd9d5..36acb26b5 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 07eaf4618..7db17da19 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 4c211fe2d..11c843ef4 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 0590c9fa8..91f6feb49 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 9ef4f03a7..32fcaee13 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 97a1809cd..d6542df31 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 a978e88cc..8408473ba 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 b27cdf842..7b2b0882b 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 6209105d8..0f33bf2dc 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 695e4489d..41041a92c 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 c38e2f760..eaa04b30b 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 d11259583..708a37775 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 a6339e64c..8967099f1 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 bcda1cd9d..55db52eef 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 f88cd722f..8bbdf1622 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 0e2afe89b..0a765ba17 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 32c3ed664..bb3c193ca 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 eb23f9c65..83b423a03 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 81872e5e0..3165db79d 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 1fa9b3d6f..d9340f70e 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 5d2250e4c..964e66491 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 5458cc261..97ca991bb 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 fce839fba..ce8f5b881 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 a8be8715e..6b5f81324 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 8bb8048ec..19981aa91 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 6a8718851..bf47ec02e 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 16d91465b..ce09d45fb 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 6234576a1..3fbf53825 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 03d7f9214..d40fbf511 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 6f2444e8f..f5ffa038f 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 1b84a488f..4bfda599f 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 59a7f6812..9868846be 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 1420440de..5523f8e68 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 6af782859..664416506 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 7c554d0a4..fcd14c325 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 dfc96d469..38843cb4b 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 e7142af89..81da1e747 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 fe65560d0..30a326a03 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 c147ea9f1..613f96a74 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 415bc7e6a..b5ec9e080 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 531d55295..32d8d2d24 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 4d88dcc29..6159268d9 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 b0b9490df..1835c7d0f 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 5fcb0ce71..66020f985 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 7b81427d4..25f8f9623 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 016ebb8a2..5e417e8dd 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 143da862f..504ed03cf 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 8cad6269e..bcb9446c7 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 d9862c775..932dd5707 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 0b21a643c..e3a04f4fe 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 5130105bb..f9992d7bc 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 0d9f2a13f..e0e1a70f2 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 7d6cb6d1e..47cbdd354 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 b0106b376..b21652de2 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 a9996e0ea..74778177d 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 12ee4cae5..c34e4ddb5 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 d1e9eac65..5a449a474 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 e1f329567..2ca28ab78 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 e4b4108bc..d96fa2446 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 c8e036944..caaad6927 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 abeca2f24..a6916fa2d 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 ad3ab22da..6b9cd1f6f 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 7b2d92324..3efe6b481 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 f52270e01..a239eaede 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 f994c45b3..b862dcd2d 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 d25f58019..b9782a405 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 cd187cd1c..611ba2e16 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 412640a9f..59c31553b 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 1c724bb38..69dd436d8 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 a2f860a29..2e8564e4e 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 bdad503f9..73b531010 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 f70049936..6c1ad3e97 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 b9f0345d8..b4ddf55e7 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 63b633473..8836d02f7 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 0663df340..c45417c15 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 b3044c17a..707d18b7b 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 d1148406b..d56719b81 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 0155e8ed1..f458d1d92 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 0da37320a..1791b687c 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 354ab8cad..7d4ba40db 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 4d69c9ca3..8726a131d 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 e5012c8d3..87e8d8a3f 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 a6a29b2ab..200fbfb0d 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 179861978..ed52eafaa 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 9cc2e60e7..d6980a8b0 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 8df8ba009..8970fbbba 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 8a8440c52..ce79138ed 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 aa0c6ebae..7ea5d68ae 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 108985436..184e51c15 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 c1218760c..9d44a2e81 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 4249444b2..478895caa 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 5d692b7b9..104193145 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 35e2f22a6..1b0f55356 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 3a6570218..efdb79a37 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 ec0fd89a7..c49ae4e4f 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 e36cb3980..d379a73a8 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 08a0df40b..5402cd391 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 6510ccb80..b31f2d29b 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 044ae0b63..f283ab11c 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 b148e756e..96a13be1f 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 e756b5525..5eac00052 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 484083529..b1e92f0ee 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 e90005208..79fd57f05 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 2102dbd67..31237e24c 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 6bcea7d72..40cc3a2f5 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 487e7d2ca..a900b8948 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 7d565ba35..191c3b9b4 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 153399238..0dea967ff 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 bebaa82ff..b417df7fd 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 6534caf15..ef67d33b6 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 5a7635004..ade1ef2dc 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 a61c92797..36119f4ed 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 85b8e6773..8108b3ad0 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 2dc3bfd50..749b004b1 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 73d4542d8..b761b89aa 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 ef2c8379d..30ebfc2ea 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 6447f8405..d70f5dc13 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 3d21d7858..7bcb81bc0 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 1f60b9e6a..07be19eb8 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 2c2fa2dec..68d48385d 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 be45e1c30..22ab8827a 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 e519cea9e..5cf526652 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 ed651e97f..b40de8aaf 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 c3ef9d2d3..5c70427ae 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 c77d6ef1f..c1984b339 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 ced39149d..df58c5646 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 66b0c8119..ccf17d1d2 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 7b922b4e5..305f76438 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 45304f4b8..23c48406d 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 609e88e83..595920690 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 9f93551b5..f20fe241b 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 8e4b815d7..8fdc663f7 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 0f5118cf1..d1c3da561 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 ed257eda5..6f0c53e79 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 b911bf881..9a612c2ba 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 cbb3da0b1..843571d56 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 12ea2ac0c..63e3cebe6 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 52e784109..e4799f5d7 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 5a538cb92..9f7b04aaa 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 e77d5b55b..aba6eef23 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 ee1be843c..849e32f45 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 c71553706..0481ea5f6 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 3f19c27bc..3bcbd9181 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 6fd4ff6ae..b6d8f1188 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 f34df7783..2f3c92e3f 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 a7587807e..427ea1de1 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 b6f515b80..7b048111f 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 bb26ad8bd..ce83922bf 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 8944de4e7..510d8f96a 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 f2b0fe271..800c10551 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 ab913855f..a5d8db371 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 4d6e25e69..6d3cf4275 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 d156b2161..e7754108c 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 0e9115986..180f96bdc 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 70e2af0b8..862a4f104 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 421949a5c..dec4751b4 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 26d5551fa..3658dd845 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 2cfe3e97b..bad62f1e1 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 6e82a372c..0f636ce49 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 2182cb326..909f4c1f7 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 39a0a1b9c..43be28178 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 cf50942d7..bccde7ae4 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 1ab832639..e1c1e479b 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 ec4335835..ff7f5cd4c 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 dfaab9d23..690c0e6c6 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 acfdcbe28..71d74da6b 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 6dcb6bffc..3612b8847 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 1a4a02b29..4b933fd3a 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 09d1223fe..9c874bcc9 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 fea379ec5..df0d8cd7c 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 459f8feaa..e45a8dcfe 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 b74a5124d..7faa56123 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 2f72e012c..4dedcda1c 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 ac60ba773..27586bf08 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 bd2738b04..8e6fb3493 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 1421d6e6a..f97dcc9bd 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 2647a653f..27da1bd69 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 8d4611a0d..66631e4f0 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 e4ee368bd..621b7a7ff 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 aad97c7cf..69aaf314d 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 0ef34690d..761edbef5 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 0f8d22df8..37c7aa128 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 bb99133b9..784cdf2be 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 09e9d109b..f85d4fb51 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 747021cc5..bda12c276 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 290e13f72..0ba7a5aa0 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 531f9cf53..e2bf3988c 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 4b2997597..da28c1801 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 d9f67080a..a176d0537 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 2edbf6d84..4938f0028 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 2f66ddfbd..5d8cf3743 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 e6b28521b..69f57b9c5 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 b054df8b8..afce5d1eb 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 5cac691dc..be771e484 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 d94eebafd..11df844c1 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 326eea715..c29eeb1d9 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 c2513b691..a11a7132c 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 b4c4114a2..672963399 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 0ed3753ff..1305a7231 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 f7ecee223..c8c93610e 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 86ed04d7b..ccdf8eaed 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 d9b43d574..508378258 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 0fbacd876..eea0c57ca 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 b3fd27741..d87996a1b 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 e6c7974b3..680848eff 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 26c948c87..6236fb3bd 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 1bf35e2f8..7f6d21437 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 a8749e83e..9a45b68be 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 8e56c9e40..8cfed697d 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 0e6897c9b..08ab2896c 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 f25a12ede..e960a25e3 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 2d3ab961a..cfa9ec166 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 37021417b..1a98cf9f7 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 f742dd3f5..e3c0455b4 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 012b27025..76939c802 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 cfc177a92..33199b344 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 87e741a60..f1fc33678 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 ced1492cd..b767fac14 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 934f374a5..a2b015c74 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 e44811c10..24b384bdb 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 e8567da85..b4500773f 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 d2c06468e..fce9c0809 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 96b582967..1d81986b8 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 e58666eb6..44c7a2023 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 5e2537057..8181beec1 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 03d73ea50..cb70b788b 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 12e369a9e..3552b08f0 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 5ca4fbc12..1c855709a 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 d02ff2e1c..742850b00 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 4990f2870..e882a5411 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 765d122c3..2b09cab62 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 218241bf2..3dfb14987 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 6bf675a1e..4a6f70fca 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 9c70e0566..cfeda6109 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 8b053f9d6..917ab717f 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 7d9eb8a33..26c965506 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 d1fbe9bea..f5370e168 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 9d0308bb4..5385bfc20 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 0c4c135fd..9763ce5c8 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 42c98f245..702271087 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 45b9881bd..cd3ce225d 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 50abf1f1e..15960b4f8 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 8b5bfd563..dbfea83f1 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 734cfa695..ebfc17ca6 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 adc7cc8d6..0b25f2337 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 2eb7f9b68..67612a6ad 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 a1bb15fac..a4f775381 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 0d4fbd953..3687e84be 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 991935cc5..3f9f92863 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 30f0a8efe..9b32484b8 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 1a08b3d3f..2b6f23319 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 7817b0671..583e103e2 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 b5430030a..6ef12a94b 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 7f80fd834..e11c86311 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 8c0f4738a..24bacd8fd 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 a202f4258..dccd834fd 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 3aacc384f..1c26a7c4b 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 1092b6293..c050ee69c 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 4a4eac4b4..2fcc7f524 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 a45d265f8..ceaf3d6e1 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 e01b64ff2..c17c89f9a 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 6969680c9..44c1fc14e 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 9f6ac232f..705b28163 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 52287485c..ceb8df256 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 220065d67..d9921f7a8 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 983a1fd20..bd6e080d8 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 ab632ec82..589688031 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 873c27be2..094d673dd 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 a04266da5..c4db846b0 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 10afd769c..a608f153c 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 420bc6728..627a9346e 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 348f2753c..f153457ef 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 5fc2e8b76..703c6e2be 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 8f81fd3c6..bbe368534 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 1edb675d1..101ff1306 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 fdf04e9fd..8a3f21c45 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 efcb94e02..a705ddded 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 16693470c..d54f4dc30 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 4452ea202..a50a70891 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 1826106be..2bbb8313e 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 9f5316bbc..bc54fba78 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 f7b68da90..1b1d9d39e 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 7f4c43b42..88177c88d 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 8b6ed17f5..683e6285d 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 4ec041e1a..37f6f3c14 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 e6881d8dc..76cf74e01 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 ada3c28df..cadf802d7 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 bb530128b..cbb107b6d 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 6cb90c1ca..44c3613b0 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 94f29a937..27b4028e1 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 9c7b6edc5..88c0abb24 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 29ae6e75f..530e9982f 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 fef42a5f9..5cf10c81e 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 8d33deb7b..a22f0a7e1 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 cb68b6d8f..0eb415bcb 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 5bb725436..49aca257b 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 513455c37..cd3bf2938 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 f40156e2b..d23ea43db 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 c5c24186b..94921f5a3 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 a29173118..5d78cba2f 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 31ffd532b..a373e9e69 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 5d7952c15..a9deafe45 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 4d08d3258..1fcc8bf61 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 118036c0e..c744beffd 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 1a10098f6..efd2e81f4 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 c33c30e27..b155c5ef1 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 09b1ef809..dd966402e 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 81ff12cee..6a45ee4d2 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 416a11046..e83493ede 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 f740c6aa3..08efc1f14 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 e1506118b..6ed25f23e 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 2286bca8e..968b13ed6 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 09f190c4a..3011c103f 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 5c374b436..9ee3a684f 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 ffb80ee74..8d7a79af1 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 826c6e206..1687fcbdb 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 d46c205a7..88bb34795 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 efc6b0502..f73216de2 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 10595bb8a..3f9d8bc62 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 433e6293a..28653da05 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 57d992e77..d436ee0ea 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 820b123d8..6ec438c27 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 0c50afab7..addbf4918 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 0939b92b5..aaaf214c4 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 76a3e3362..f59387442 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 168b210bf..2c67d9b92 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 f72a33363..ad9d69948 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 9472218f7..8d6d38a8f 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 215b11424..203a41d5d 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 e42003792..4859eb2eb 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 058a23b35..1385b0163 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 1436df696..e1dcfb079 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 7757bd62c..974d70aec 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 d540eaab0..176102198 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 e68ed91dc..4e8286b96 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 e6ec5ea9e..142428ba2 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 5d7a2f911..156ebb4f6 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 c3a1e7e03..0afdcf6e2 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 7628ed59c..87442aa41 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 37fa218f6..5a9d8b265 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 fa8b0224f..842fb3d9d 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 70a5df007..57c1dba85 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 2d756998f..ad77bae39 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 37c97add6..207b82580 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 d22eb9832..5edbbaf43 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 68a9e645b..4faeb876f 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 a26af8942..31a647195 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 1f94a0a2f..29afbb9da 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 f7d0327fa..cbcd0133e 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 99dacad08..cc46012e5 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 9f19296f2..0ccc35972 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 e9b6ebb53..9cb5363b5 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 87b1f3383..44bc246bd 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 c8a5a2c15..573db8cc4 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 bcabcd1d6..ccbe206db 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 40bfa6ea9..6f5017666 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 b91f87283..bee5510e6 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 ab97c610a..6b9579eee 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 b6f4d8bf3..75577178e 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 18a8ee81f..7146b6e5c 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 ce6e1ed2a..f0f9d95d4 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 b889470f4..96e05fa84 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 fe29b36e6..c3c58ba9c 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 8fc211dbf..791f73398 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 19ee6a0bc..10b6432cb 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 8849f1134..af83ff4e1 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 abc69a919..35083cca5 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 d82e55a7b..c772b1850 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 566e060f2..6fc4943b7 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 1af592061..f42f89da1 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 a3d446a43..4d4f1c10d 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 a561a7bb3..c62842429 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 d5d617e02..80971d42a 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 f2b23fb3a..c38cf4ff1 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 2978bff40..45820abee 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 9187980df..bc26fda3a 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 edcf2a616..645e6e0a1 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 57eccf1fe..f128452d8 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 9cf0359c6..c04b09127 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 8f917e99c..fdd64ca6e 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 09be614a0..04c9b71e1 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 8c72ff033..86f93ff92 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 00376ef25..4060b540f 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 51bbcb0f4..ae3487879 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 9fff5f956..eac987da6 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 a447835a5..20d67334d 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 f7fd171c3..b907545cf 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 7d8c0614e..cc706bc1e 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 3a1a007c9..a2c432305 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 1f97d5623..7921fd049 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 ed55b6c7f..639477f00 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 4931c1f2a..c8165b7a0 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 4f21d5f60..8e5c3b433 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 d8ef6dce4..aeaa964a4 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 03e6dca96..dcf05b489 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 f6ac321d0..4c5ea3995 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 0b434585c..4c6b94c17 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 004813b9e..5615ef8f7 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 f04ace753..221e39a0e 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 392bcd3c7..a03c9d364 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 45d2654d7..3b9dac1b9 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 bfb2b5440..87c8169a2 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 b7ef2b438..973bad906 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 7dde500ef..99b0f20e9 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 e7f4cb623..5cfe178a7 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 8b57f4057..aa97760b3 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 7b9448907..7d119840a 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 f2ea46895..423728cc2 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 4850a2071..eb960e387 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 b295e99df..37cd8ab43 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 624d2386a..2583c6301 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 db87213b9..7c6bdda37 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 25a269861..c072e4d96 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 4d548d276..6dde07db7 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 744827bdc..46f1fbedd 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 e82345b84..1f5f6aaa7 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 aa4ff166a..cbddf5807 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 66e974e10..c5d8bb6a4 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 f945dcead..dcf3d3d39 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 b9cf07760..bbf283796 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 b693cdfd1..f24ffc4d7 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 677ca6a6f..d1913b291 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 b75e4222d..f5d046aee 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 ba16deb07..b5851e147 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 ec74a1251..cabb935d8 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 c4ad75cdf..ef6a96d2b 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 de024ce2b..bf342dbed 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 b2d8ee2e2..8610813c5 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 411247d25..1c1f7b3c7 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 ab104c946..8d0c7b337 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 1c5385038..e66af8c57 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 f5a2e1df7..7853ebd4d 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 da4b3361e..9efe0b6d3 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 3d5756584..ad698f6b3 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 dc829dfa6..5ce4c3d0a 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 e16c8d484..4059071a3 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 a9b5d2296..7f717d86b 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 d45b44bea..291fb075a 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 c6da8b107..a4699da01 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 3228e2bed..7ccf10e4d 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 5d768ecf8..d79907fdd 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 3d93447d4..397405dbe 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 5447c3f7c..ec5e66eae 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 34a029bc1..c4d387c44 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 50e370f9c..f2ae04469 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 e4af28e09..10cb5fdb0 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 c952d0c40..2563207d2 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 12832ae6d..167e7085a 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 286201de1..41f41a718 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 725bb9ed4..04dc4dfee 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 80dec83be..48a047f35 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 f54032181..0ba0186ef 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 bb1c876a9..c63002244 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 45c774bc4..9f1d36f5b 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 2c88fe55a..2880ee679 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 4f63d89af..63deddb84 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 c84ec0b0b..7049b9933 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 c47ea65a5..78f5aa470 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 d11db1344..67e5f8b17 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 43501f37c..7cc1f7055 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 06bd3e43a..4804d249b 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 c4c383023..036dd4e3b 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 7e88116d6..30dbaf96c 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 ae250dcaf..170c3ee01 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 ae13dc038..6a4055ec0 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 b42acafdb..5af596732 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 9855bbdcd..087260a46 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 17e7a8f2d..0885b9a75 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 09192687f..390a7b517 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 a9bf05ddc..45f33d8bf 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 d5bacbacc..ac171c2fc 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 877e48676..3f9289d3e 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 116116443..94bf3d762 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 02ea0a945..0f66e89da 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 a38adab61..31ed9a751 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 5be7d8631..8df26fbd8 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 beae34a73..7ce696985 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 38a8a4d61..0818c897d 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 c9e9917e5..2c8aa3b43 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 99c42502e..b404a54a2 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 ceceb9c04..ab673f1f2 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 57d95cf41..107d4ea33 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 2b3c4de68..08aad5eab 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 b4ca36b62..7cc3dae27 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 c2c9101ac..70ce722cf 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 1eb60da3b..67e22084e 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 39e0d95ea..9b16a08a3 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 cc1ed17f4..72b8e2b23 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 ac8f88a56..ec077cf1f 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 0bdbe9987..dc18ff290 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 af4b4ec75..19c8a8a87 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 cd4d2d45b..aac321193 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 b9d6c56d6..f59d5f795 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 c14956d52..2ad614ce2 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 6097afa36..c6e87198b 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 6cd791a01..2ad2c94e8 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 2e580f516..9c388dfb1 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 fbf44cd93..bfa1b5a48 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 6c07b17bd..857a4b725 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 500d2a9e9..97125d758 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 e1dc54d85..ab86d7224 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 38ea0f96b..756276ee9 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 d4398ad79..6207aef0a 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 fb38eb734..7b4c99c33 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 d7f68e440..e5cc2b5ec 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 04d118836..cf2f80cfc 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 52e755a03..2c0f4a51f 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 3f0452f84..038ce9a39 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 05289ce5c..7118c2df7 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 433785d73..452b38cc9 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 3b6a5b583..8444278af 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 eb6ba8ae2..cfdd7aa22 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 832b2fa7a..c5b4feda5 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 c4e21e240..5121d3dca 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 c46c94d0d..9a3ead4d4 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 64a8863e4..cce8cba16 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 1ad6ab3a1..24120201f 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 483609c28..208e014fc 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 35b056b86..3d495ada1 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 fa466a041..a170cb87d 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 a0ba55c7f..d22ceb529 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 ae5fc38bc..682b44344 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 a33ea8afe..1c9ab2aa9 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 98e4f9150..465ae87b6 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 fba757f4e..396d67c51 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 561ded248..92555cbd8 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 410d68318..f9535094e 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 5ef02a149..5a132377a 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 1d26e9caa..3673f2cfe 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 a7906a345..6b311ce91 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 000bef7ae..c22e9e2c1 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 99b86b7a7..b778bd7f2 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 90474de99..dbd525dda 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 f65c18ad5..b2aa70cea 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 ef00ae077..3f38304a0 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 a536201dd..620fa2ef1 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 aa087020f..05976da8e 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 dd5fdbe92..9de9e9503 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 7d6142a27..93f6d4e18 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 dbb4133ae..97683dffc 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 d8cc4d6e5..a3df9c529 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 f2170c7e8..f81213e93 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 d94f5cfcf..9043bf892 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 6f4e5687e..938457275 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 78d16beef..cfae8952f 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 bc255d53d..643ac834f 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 9388842c7..fce6970ac 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 819c223f9..6834e12a1 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 4b6a741e9..ecd5281bb 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 3034c3112..39a945559 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 1e8b89e73..ac507d103 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 bfa111e4b..b2d31429a 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 8087b19b5..8930ccffe 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 2bba6c006..2e716b08e 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 2ef5aab74..3793c8073 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 369b7c2f7..06fe41d77 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 1bdffe983..bebdcff7b 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 44ea5cf59..3fa7bc5a0 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 55a5b3ca3..93d6e26b1 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 eeeb04d04..b2d235961 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 49dc50df9..010b3dac5 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 30958823b..d12bcd4ec 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 10f6d4f1f..e64723c5f 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 50c135e78..84179369c 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 9c1e6b025..68fd5e6ed 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 ed663a016..df55b4eb9 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 8388b271a..e982a8b24 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 0d16139bb..df187df54 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 bb471b013..c66d4742a 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 ed21dd411..ba4fcbf02 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 4f8710827..d8adc6071 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 bb3881fe5..70af2baf8 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 fb2afb7e6..1252c8e81 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 fb6cb07dd..b9a44aaec 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 959536c2a..70f2dcdf5 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 fb6c8e8c2..02b47b5d6 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 319ea1bdc..83efc9d56 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 874f6ae56..a41a45878 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 f890959b7..566f848c0 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 941f0e3ab..678f1a14c 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 44dec2011..ae3788102 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 e4ebf64a3..7f5d07da7 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 8dab659a7..53bceef7e 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 ab9018720..ddeef3671 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 1bf11a053..d74501bb2 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 c3b981ca9..492c0ef57 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 1a34194eb..1976fd249 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 401176761..822a9bf69 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 8f0155b72..8830af923 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 bf79829d9..6a3235e47 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 f13565d2e..d3b57478e 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 c831a72ba..f10f52736 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 cb4787109..13234655a 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 fb271bad3..519c681db 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 09e595ba4..0a4fb0935 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 115627ef2..e7c9dd932 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 5abcd6d13..44798b261 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 125901e5d..3aef9e374 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 4fa982608..7a036c79d 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 93637fead..d8bbf9484 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 61e268d91..38dcc5beb 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 45c04bb92..2f1ab3278 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 5c966d0f2..c47b211ba 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 33076623a..d2b9be986 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 d68968c00..0582f716c 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 0c10f9f39..48eda47df 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 eb4e1eed1..a632aaf09 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 656379d99..ddce7be6a 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 6875c18ce..9b6c801ca 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 0e2992017..cf5ca132d 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 468431330..bec179c3c 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 cc8651783..7ef8515fd 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 995dcbba4..0abede1cc 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 471ceed22..d9d03554d 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 1e6490161..eee528f89 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 48ea49bc6..24e44c8c5 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 4d94e5ab8..fc5ff737b 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 cf7dab3a9..824d086c8 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 ac6f930f5..6bfc54cf4 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 ff2349fa8..7dd023c7c 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 a7a48facb..0a7d844c3 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 3e0b66822..e323411cf 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 c1911bc5c..4c8d11194 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 5e65b4e8b..d3b5bbbf4 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 cff3edb1b..6cc83aea7 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 6067ca3a7..8938ca2e7 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 155e2fe85..0d1431743 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 5554731b1..18e763918 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 35863eb85..b99b09491 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 6a30e0df9..65b1d5abb 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 8efb35d5d..0c3ae04ed 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 418f25ecf..b3a733a84 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 2dff89d77..1b5837054 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 c05e14c5e..1d9f3ea1c 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 709653710..43d44f01d 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 483b0883b..88c35a4df 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 a40a3179c..3981ee1af 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 4655b8b32..f3774662c 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 aeccceb7f..71b460ebd 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 4facf846f..54980e579 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 014218ee2..1440285f8 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 32e3facdb..4c5fba042 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 9538e9e46..547635d23 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 39d7d34a1..0ce5370d3 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 3701c637a..42bfc988f 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 ea1ce24eb..364763963 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 6b8cf5fd7..831f11b47 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 bd9e5ab29..35ab5e7e5 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 eab429141..9ce0bca0d 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 77cf50c2f..a64091ff8 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 17bcec693..dc67677e0 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 0194dd6e2..b83336e69 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 9f1a72e00..085c9fbe0 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 7a8a15f66..382bd1d2c 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 e6843fac6..90b01a1ae 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 2398d4178..2f283a979 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 404044ace..caa09212e 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 2bff310ab..c90d9e5c1 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 c614e2c3f..9fa7639c3 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 170d3fbff..4099e4c4d 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 de965cc72..cf51707d3 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 ec6e6c868..1ba4e80f2 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 f3061be08..5b2040478 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 c61a3a623..a83b4e1ec 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 259a8a298..5ba14b703 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 dd1ced451..2da112a69 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 a850b228a..e52226791 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 9cb96f6e7..b3456b0b4 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 2333d9c88..91bb76000 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 31060336d..fe2ea430f 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 261e201b3..c2a6119e1 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 1fcad0db1..1a2563f0f 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 3ac9d4336..d846d266b 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 c12a1f915..de227ef61 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 a36ae6950..6167a6c53 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 d8558d27b..ce711179c 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 ca53ccbfc..1a0ebdf44 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 48d1e9d61..c0adbcb38 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 8d7b27e83..ea82f814c 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 754cf8cbd..7361bda3d 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 7bf4de40d..401eb3dde 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 d7f30dd34..cc962dc7c 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 b6fffc372..6846c04e8 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 623f53f3d..b46aa92f8 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 04d5b4512..76c2f8181 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 b8b5f9c42..66efcfc87 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 bb9074922..5101afc17 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 e4ef00ec8..73fb269c2 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 6fe071d06..c0bfb2bcf 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 a9d397e17..646cee129 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 63ebf7034..1efae4f0d 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 5103272f0..ec841cab4 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 988ff38b3..2a4b681f0 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 9a3be57a5..5d84a8b77 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 a76967798..a889bc5e4 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 3331cf329..bfa68ce92 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 d552a2608..1441103e2 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 9cc2e8772..e596ea905 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 769ba1f9b..761fc7b8a 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 10cf479dc..d5b0a6240 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 705fd5e24..3d2812389 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 efb859a53..c9fd27288 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 23d83e239..3985264cb 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 6bd775409..859fcfca1 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 ed1edb8ca..3570a6a6e 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 2f4850170..1edfaf591 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 9f3865e21..297cc6b22 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 e150e287a..0116dad50 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 b5eafca26..8efb5ba11 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 892097cdb..344d6b056 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 5ff366ff1..61662f797 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 dbe4a6cbd..700c08082 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 4c2995825..6aa9358ed 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 0c64397ab..cd6925122 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 071391e51..fec898f80 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 eed4da2fd..9e00c48c6 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 c0171b5cd..a3ae3ab0c 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 421453ccf..7761b69bf 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 cc263945f..1c8ae1c57 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 1d8bed1e6..c1a5e02e6 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 3cfdc617e..9fdf86286 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 ec9438e84..9c6e8402e 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 6acb33077..19b6bf86c 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 3a5267840..54273f752 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 d285bd9fd..b227dac9a 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 dc38da8d5..0bd3c3b95 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 1c6e8a48c..f1adb12e4 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 1b081eb3f..3a300a870 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 99001fcf0..42010ba00 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 3c93ec7e4..b5012fd28 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 e2423c44d..79bde19db 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 20c1817d1..f3aed76fc 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 d08787b18..54c761f8f 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 f9e5b028a..8d3fecb07 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 a0b081b3e..f40d06f4c 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 9ab249d08..e2ca50394 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 b571d8994..e8af5ece1 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 aa9e11cc2..9f85bf345 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 6dcc1bf8b..d078f6f2e 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 8251d5622..210755b34 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 016a27547..a06ccfe09 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 54c9199cb..f1431b81b 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 06f3a26a5..cc5ba4516 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 3468ceff5..baddd3f4c 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 e174f6ed3..a4ac0cf93 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 346c38f4a..5f8e7021a 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 a3526e6e2..5c17c9cfa 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 4cce46860..1d8104d19 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 cea9c7535..3b41bc192 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 120553f1a..1dbdb57aa 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 7f22095fc..dc03deb11 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 6349da295..940db1dee 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 374ef2740..15db04821 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 d9c2e5120..4d38f7c86 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 4b5918cac..b8c3ea09e 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 1e42d1532..311af6e28 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 5e6c21768..4f4b88b17 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 e5aa838dc..0022fc5f0 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 21c660523..2391830b4 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 52395cf4f..4a7d5ab99 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 ccf0f2bca..000000000 --- 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 6330d9228..0d000afd3 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 fde3ba6d0..ca1111e74 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 473da2ee0..eddaccc2e 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 4d967784c..000000000 --- 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 63584f213..8050aace7 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 c10855894..8a743d774 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 385a26bf3..1e2bd9c1e 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 380836cb4..3d0761c78 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 6bd8c27b6..d16a6ddd1 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 4d560dd43..95b42a8af 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 8491af50b..c077b5ef4 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 19b70f6aa..11144d83c 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 57bd2368c..000000000 --- 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 ebb3d4921..59de26b51 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 d0c167cb5..23bd540d9 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 30d19d2f1..55ecbb102 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 fcb8a213e..199de7527 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 5332f9455..32395f31e 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 7c7e11bbb..07711f5bc 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 d3f8226b4..000000000 --- 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 26c82e1e5..73fd993c5 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 7f07de1f3..c39efa361 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 68f585bac..a652afe05 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 b2481179b..f54cff681 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 122b3ff45..d468cef9b 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 f2e71263f..049a2af3c 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 69da3735f..9b5987c3b 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 abdeecb58..0cf080320 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 551ea7940..038a14f39 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 e1463d10c..339a691e3 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 72ee0e557..d4170c794 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 d0099b78a..92c77f665 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 85c2a845b..1f19af976 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 3d8370f1c..6d4e99076 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 15e34c8e1..6ed3e4659 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 7e5cf2640..40cbf50c7 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 877cb4206..676d1ea5c 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 a27e1e971..84e4dae0b 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 d5547590e..ed075ed25 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 bc964e32a..bc9efa850 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 bb5f6e1df..714380dbd 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 6772b89b6..f57c9765c 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 6558baef5..c7f060800 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 ffc3d671d..758a96010 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 c58027b35..7600e2de4 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 93b7df893..4962519b5 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 6cc10d339..11dc4987d 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 86cf6280d..e92655626 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 6edf1136a..d49cc921c 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 380b61fa3..4f9063754 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 ed8ff8fa9..d4d5a3084 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 93c34f6e8..7d91acba5 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 fedf4a942..84f9069c5 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 ac5aa2328..3285fe05c 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 484ac0127..473a64339 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 b576ddebc..c64a422a0 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 a4490e926..38bb67827 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 370453107..ca99dcc3c 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 98acbe7b4..cedc5c549 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 56aa88908..b0f914fb0 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 034044dfe..08242682a 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 a712079c9..f0acae4fc 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 4845a1903..5cb5195cc 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 9c1296487..36ed1ae36 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 ef3b65f11..d8313dda5 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 8634fcecf..fe3b3ec66 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 f625d7d25..ab2e496b4 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 495d4b6af..21f41ef5c 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 81b0ebd2d..4c541e8e6 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 71dcf1b83..04f5ad884 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 620f374d3..3ef7e8ee5 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 9cb7ec337..3b35db9e1 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 ce70d5e2a..1a9fd3c14 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 993f01388..573701b79 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 08d03dc50..e05a1f3d1 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 661ac00b9..302618cd8 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 305207a1e..76013366a 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 425a3ee91..fea8929ac 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 ec61188d7..a731d5338 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 7c49528dc..8459083f3 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 11709e374..6c7a93b57 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 ddb717bc8..d88b6f112 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 cec6fcced..e87f0c049 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 9494cdf9f..47feea8db 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 1de5a4268..7af492d9e 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 4cddb8353..b328ea432 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 f961d941a..e5764bebc 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 bf32e4f6f..9cd07cb3d 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 5b0a3834d..5fadbf6ad 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 418f0bb4a..3add4f468 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 3e31069cd..43afe2c54 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 7e306afa5..c62a125f7 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 044cd6104..48fd33a78 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 ef3e8f4ee..c4b964148 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 77a7c7e64..29777ba18 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 e736fa634..f6d28b0b3 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 654686c08..cd94d956b 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 4c64223cd..be314cdd9 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 3739211cc..44d62f72b 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 effbc9bea..0f241227a 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 9b601bec7..faaa57bb1 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 5e51ce4b2..3c79d6285 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 02e084459..3b4aa5d15 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 7eeeaf1b9..0ce518fc4 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 694372cc6..27874e1cb 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 9f3736ddc..c5003c357 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 7262bf7bf..311c6d502 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 49b09551e..7bc80830b 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 662270085..f8fbfccbd 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 b7cdbd8da..44d494b32 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 ba58db06c..583c7de52 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 2947d01c2..540d8a0d3 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 ad7fb55e9..456a3edbe 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 b48d25142..ddbc70ac3 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 d8600e261..8d22d2082 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 0b0fdc9c5..7835aa1c7 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 c03485da2..1f2191f8f 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 489d1b9e5..5644d25ea 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 fb0230cd7..c183a79ef 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 af088c867..ea8d18648 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 55984435a..09ff242ca 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 9b952075b..f90352290 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 d6f46de6a..411a00cc3 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 49afad723..07dc0f0bd 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 3729007ae..e678bb7c4 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 e69294de5..996dcbaac 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 6b7748de2..01e3049b7 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 c8e6a2547..d2ac29dd3 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 2fc690138..42610bef8 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 dc6f53200..5fdd4b53e 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 c31e47826..071d2bb2c 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 3bf3217ec..e731f2250 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 3607212cd..dbe8f1299 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 b6ad92e6c..ecd8116bb 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 a485b9948..7e9b38dbd 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 fbf57925c..f47d1bd72 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 2f3b9f025..a17226644 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 1bf807832..29930476e 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 397f08faa..fc53faaad 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 9711c9592..e14f81e63 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 61ac14e82..144993814 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 9ac4e630d..76aac05c1 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 1283973ba..f423b9a76 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 de23b8dae..576ca9cb1 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 dd855bb26..0ea745661 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 7745eb9af..b25568ad8 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 140ccf950..724a33dcc 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 d1d1ed490..cd7d37e71 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 bfa5347ba..f6ba6a095 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 f1a0be4b1..00002fdf8 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 0ffda3c9e..c2b9d3b84 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 b215b84ae..41b2a9240 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 fb021341e..b2b8e291c 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 d87d681da..079785849 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 8f747260d..0e5f14850 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 b408b1d03..7c9355497 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 ca0904a67..e87d272e0 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 d91451ab2..84ad7ad2b 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 a4ab1cd6f..a2fe25267 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 6a20e5600..b8a2347ac 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 aefec5e2e..ed3770b6c 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 481b570d4..0a2be1c53 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 cd2cef948..733a0b28d 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 4a20b5967..bdb6ba290 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 4987db673..cab932ed9 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 cfda3e24b..66c259eec 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 35316a4ee..c896e102f 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 8aec217f3..7a7e2f2da 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 cdbe13a8f..0646b4385 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 198ac06b1..a8891c625 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 98a6231e2..72fc7b5d5 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 9ae8835df..5d2e7ccdc 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 5e024a449..c7793f44f 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 1d14b4618..0fb557a2c 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 22211dbd0..3bb23e5b3 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 058aac03a..e163372aa 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 fad705546..54da6b865 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 3d51c6ff6..d60bee345 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 308660add..6606402e7 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 d1851328a..64508a9de 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 7116477ee..5d38e7622 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 e02f0f39a..148cae74a 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 f30b16702..9945c784c 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 888a555b5..02865046e 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 34dc94a25..8e7b5e5b6 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 010c26727..eaf5c2bb1 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 bac55bb68..56561a73b 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 06971a7e5..b1f196e36 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 0050957d2..6254caaad 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 9dc97cf9a..2a5380d61 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 fa6f7214f..e88e196e8 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 6511998c3..e94009c8d 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 d4a72a8f1..e7737929c 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 216f19d6a..ea7cf327a 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 e29816a39..af529661d 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 5d64bbd4d..e39c5cb57 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 239a8b721..f21eb949b 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 6c77afefa..e688a81bf 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 3b8b16dd2..197328b4c 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 ec0a43bcb..c16a2f7c6 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 3ccdb0917..f418b22f5 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 94cb35379..07723b226 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 ed4a46b3e..6cc5905fa 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 b9a7778e4..658e1714a 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 b0114c34a..cd1688f11 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 50eed750c..04fb06954 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 a91554633..ea8053450 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 7f30350a7..871c9c84b 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 3d1fa9d37..425c59aed 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 0db613c9f..a6b4ee0b4 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 4d2ad6220..e6b940e5e 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 48b4fdfc3..cd67096b8 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 0e134b8aa..97679bf04 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 f1fe2e6c1..000000000 --- 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 7c912bfce..ed6c9c053 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 689c4bae4..adbec97ba 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 c3c1351ab..000000000 --- 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 412832906..7888a772e 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 690b8052a..53074ff9e 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 4d8f23a5e..633a77b70 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 ddbb03ec0..24076e145 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 ef423a47a..7d05b966a 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 9136b5084..d8b5b4627 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 d00250a1a..0f9d2663c 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 05dc0679e..c84ef7f5a 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 26b6e4886..bcf69e66b 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 cf338f14c..90d6930cc 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 ee8a7dfc2..a88f6cc6a 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 082eadc2e..24cc5b2cc 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 aca3ef813..4455af014 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 ec27b392b..26c9d9da8 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 7f435be4a..05e57b9f3 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 0ddc35c87..c4bbcc7c9 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 2deb4663d..000000000 --- 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 511669fe3..090fa8c1f 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 c1502b2de..bf3fdd3b2 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 c53c1399b..085456366 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 e44d78996..2c04bda30 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 475eb9aae..2d7f9d432 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 b27879503..0dfcd7d29 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 437fef102..1a995f6fc 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 819213580..7aee699bd 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 781b553c6..36c5ca613 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 e1b497180..51f39b0f9 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 0788c1db3..4a1adabfb 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 88d1eac83..0e5d39ab1 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 7d09ef45d..44699e132 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 ec138e69c..af18c1ddf 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 8e83f2b1a..313b96ff1 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 842d61b23..04059cb62 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 633e6095f..78cfdc139 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 b76368887..aafd8bb0b 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 228a638e9..f26e95e8a 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 3c5aaf2c8..db6766ccf 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 12a29f64e..1f87ef787 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 b844ce53c..cf7ed8da1 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 f178763fe..2ec1d4c28 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 f650849d6..5d6eb8aed 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 f8e1e6c24..6041f8aad 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 01d5b1111..c7da1fbe5 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 fd630ae5f..c473f4f35 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 473cd1bf4..7512bf7fb 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 0181526be..80379310d 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 948d0c5a4..981763a1c 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 4b5240d8c..9d106e240 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 03038af1e..a55e56187 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 427b7f6e6..cc9d7bd41 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 0638eb0e1..000000000 --- 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 303760d79..8c6d1e4ec 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 7e26644c1..73f20d094 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 13a4d21ce..ac32bc43a 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 77dcff654..63c45005e 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 e6fb73e49..67f6376ad 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 f4bf91b95..8b39a1715 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 4995fde8b..5fa03c0b9 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 7fba82a5d..9c6d99091 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 58338e602..768464571 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 4fe6a06ff..304d72aac 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 a0dca1a30..8f15236de 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 0dd2ce8e0..72d274d63 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 a036e1770..58e30bde5 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 1e5c7f92e..3acf2d9fa 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 69cb5ae25..5f4461494 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 d1c2c10d8..4ea7cce0d 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 a90ae9e65..db1e3c6a0 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 5f5313d56..cafa3e62d 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 9f0ed924c..f05199219 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 f2ef0c613..8db413f27 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 dcc813ec6..0ccf8af91 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 8052888ae..b280d9d0a 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 be6a28834..888dcaeef 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 dc623e072..d0ad0cc3a 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 5a1f611e9..a4089d1ce 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 f542f7b2f..7a5dba72c 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 0a6ca061e..48abd0d8d 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 80ecdc979..942ba1724 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 6da65fbb5..3446ae339 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 8dfd6773f..3f9d7f300 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 2c9094b24..df4104105 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 677dd7d8b..79f1e753b 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 9dd73b109..c4520b623 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 61cda7ef1..1b5d8bf24 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 cb43371f1..91fd00ebd 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 c5842f66f..9352a2c7b 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 431dd6323..9ef4cd3db 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 e65236bce..474b10434 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 4ebebc69a..5d514e87a 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 fad01deea..875d05ba9 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 3970e8dd6..dbe10cee3 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 963c1c490..0e749db79 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 43abceed3..4bc192cd9 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 9ae756fc3..244afb51c 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 23f06ba4c..1f7a1d67c 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 f374d9d07..fadecebf6 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 87f09dd81..cd1da8e57 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 0ee4e39b1..d273efffe 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 752384428..bba19a14d 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 922573db5..8373a5a2a 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 5a8d0e9e2..7d8876580 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 5307408d6..c072ab88a 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 700eb1ae5..955b1ad06 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 cce7eacc7..fd7a06cb1 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 ed7a63034..865af6eb1 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 23e20c4a9..24d9e62d6 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 96e8fc440..f35d0417f 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 fc0f5e209..0c0600d80 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 37f570b84..9cc344b92 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 184887a6d..8ec444e3d 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 909e48394..1aeb0597a 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 f72643bd0..8ac182dc2 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 8ff235082..f454e320f 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 21d0e7957..32e2d121c 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 5fec10b49..ac38b172a 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 240a67bf4..ffd602194 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 f14ee6417..164b83a74 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 19dfc232c..304c74f97 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 fb9e9bb71..19f263e22 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 f14f85c05..45cec7925 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 7cb11fa2c..a8d3e7ddd 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 b911a6b75..2c7ca90e6 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 6dd22a520..eab1d7f44 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 d513ef224..28a1cb90c 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 29e3a7bc4..0b74fef09 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 1cc7fdeb1..b6ed09a1c 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 331b8017b..a299e93ab 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 79e938275..8fee916e1 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 2683ef9ed..3eea36a6c 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 7c8d694ad..7db16ccbc 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 22439db19..655d99edf 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 bd8b1929a..c49c3409c 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 67b9d90ef..3488bd6a6 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 88f8ba829..aaf0545f9 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 37e933ccd..14e2096c8 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 cd6e4bd45..c6548de89 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 b15f4c551..675cbfa21 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 b99aec981..dc44a43ed 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 56fffe959..2cda5448f 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 9888fb9aa..4448b8e30 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 9a03ef18d..b9d93ea5b 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 6d2e50375..47185847e 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 cc1351650..c51d4d6f9 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 ca7cfec08..583c604cb 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 7dabea3e6..8c9181295 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 23d757a38..05baf7b02 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 b97c1d26b..436af758a 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 d494dc7af..dc53caede 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 ff94b6180..13d659f13 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 75c083ab5..7e8aeb954 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 4ce634de2..c716d1606 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 838cc133e..64b1beec5 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 6d4dc0979..7f595163f 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 7d411ba76..3ff4dce81 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 04c14dcf1..1c593f937 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 1e9392251..4308bb933 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 46f0d1df6..d42ed84f8 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 23dabfd7a..1f6874a78 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 5bac4eb46..678985fc6 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 2d9bc6828..74a3a911e 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 bdd130d4e..2210ae0e9 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 a6baf561f..cb89087f1 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 2a5378054..5584a2fdc 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 1b842ed03..c4c38fce4 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 b153e1328..c424a30a4 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 50a7020e1..c80f20ae6 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 e799a54ee..5eec3c048 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 9be00c73b..453f5e2ba 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 217f90321..92c7140bd 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 337a937d5..2dedcbc32 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 80f49075c..7656a990a 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 e48e31ed6..759cee38d 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 c5f97e4dd..d726573b3 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 dee9e643f..d960c3c91 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 2aa9c833f..ae63d2208 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 4d4fc5761..8b3de5cfa 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 ff0a60194..657ccfd54 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 140ce7262..644c7bafd 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 96fe23a76..110d73ecc 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 31e9fd957..007221434 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 2f529080e..243f6b224 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 11021a855..dcc990dc5 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 bd1fcfdd9..58bec30c0 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 b0c3fd6ea..a0ec6f481 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 170f37348..189783aff 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 65e53a812..9d9fc8e2c 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 47d38cce7..89d73f8ab 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 878ab7da6..9da10577e 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 0a3c3017c..f4ca67454 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 6aaa2ccd6..03f35bc9d 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 d3f69f46f..4b3095e69 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 aa7523f99..700812032 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 1922d7b60..90e318520 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 4cf0eed74..f85277b93 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 e6998cba0..71532379a 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 97a0327f8..9e1b5a648 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 298eae759..41795ad51 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 0655d7fa9..e859d3641 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 162b4a37d..6fddbb82d 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 0a4b156ad..2411aff11 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 2381a8ca2..7a60a5871 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 ef2809f17..202a2a50a 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 1c2afcfa4..306510388 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 8db412a2a..c86871811 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 e0810b1f2..4627c19e6 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 6a13c1773..d9ca759c1 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 c232351ee..aaa7c1911 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 a7dd49e91..6c37ebde4 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 57b9533b9..1fbfad708 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 63dfde8fe..c6a35b2ce 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 45d032b33..b4b96c614 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 497f02da5..accc08f59 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 2fde2f582..2773a9368 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 3692acf72..af4ac6f3d 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 8b674c1de..66b57b149 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 4266f6afa..661b33edd 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 a59e0b622..7cb8515bc 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 b488d567a..17ef677d0 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 06def4085..dbe2649a2 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 48c04a295..ca7a95315 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 692a42218..6f1151244 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 5c3c865d3..e4e1fba91 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 61d03c3d6..819e78d69 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 ff0fbbe76..8fd62488f 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 17c84d4ea..73aaaee6f 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 9a95e9426..b9fe2c9cf 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 203aa651b..8295f7da8 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 41cea6ac6..c32888d12 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 a78e8ffcd..609d2176a 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 cbfe55ed5..b8c66953a 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 3dc19868a..bd512c7b0 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 7b3a07697..9e0678c11 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 294109d66..6e91afddb 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 29e756ca0..fdf3a1a66 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.