Skip to content

Commit 4084c2f

Browse files
authored
Merge pull request #760 from Systems-Modeling/ST6RI-934-1
ST6RI-934 Abstract syntax metamodel for KerML 1.1/SysML 2.1 Beta 1 (revised)
2 parents 824ac0f + 71ce0fc commit 4084c2f

39 files changed

Lines changed: 26452 additions & 26450 deletions

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/AcceptActionUsage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* <!-- begin-model-doc -->
1212
* <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>
1313
*
14-
* inputParameters()->size() >= 2
14+
* inputParameters()->notEmpty()
1515
* receiverArgument = argument(2)
1616
* payloadArgument = argument(1)
1717
* payloadParameter =

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/AssertConstraintUsage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* else
2222
* specializesFromLibrary('Constraints::assertedConstraintChecks')
2323
* endif
24-
* referencedFeaureTarget() <> null implies
24+
* referencedFeatureTarget() <> null implies
2525
* referencedFeatureTarget().oclIsKindOf(ConstraintUsage)
2626
* <!-- end-model-doc -->
2727
*

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/AssignmentActionUsage.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,35 @@
1616
* targetParameter <> null and
1717
* targetParameter.ownedFeature->notEmpty() and
1818
* targetParameter.ownedFeature->first().
19-
* redefines('AssignmentAction::target::startingAt')
19+
* redefinesFromLibrary('AssignmentAction::target::startingAt')
2020
* valueExpression = argument(2)
2121
* targetArgument = argument(1)
2222
* isSubactionUsage() implies
2323
* specializesFromLibrary('Actions::Action::assignments')
2424
* let targetParameter : Feature = inputParameter(1) in
2525
* targetParameter <> null and
2626
* targetParameter.ownedFeature->notEmpty() and
27-
* targetParameter->first().ownedFeature->notEmpty() and
28-
* targetParameter->first().ownedFeature->first().
29-
* redefines('AssigmentAction::target::startingAt::accessedFeature')
27+
* targetParameter.ownedFeature->first().ownedFeature->notEmpty() and
28+
* targetParameter.ownedFeature->first().ownedFeature->first().
29+
* redefinesFromLibrary('AssigmentAction::target::startingAt::accessedFeature')
3030
* let targetParameter : Feature = inputParameter(1) in
3131
* targetParameter <> null and
3232
* targetParameter.ownedFeature->notEmpty() and
33-
* targetParameter->first().ownedFeature->notEmpty() and
34-
* targetParameter->first().ownedFeature->first().redefines(referent)
33+
* targetParameter.ownedFeature->first().ownedFeature->notEmpty() and
34+
* targetParameter.ownedFeature->first().ownedFeature->first().redefines(referent)
3535
* referent =
3636
* let unownedFeatures : Sequence(Feature) = ownedMembership->
3737
* reject(oclIsKindOf(FeatureMembership)).memberElement->
38-
* selectByKind(Feature) in
38+
* select(oclIsKindOf(Feature) and
39+
* not oclIsKindOf(MetadataFeature)) in
3940
* if unownedFeatures->isEmpty() then null
4041
* else unownedFeatures->first().oclAsType(Feature)
4142
* endif
4243
* ownedMembership->exists(
4344
* not oclIsKindOf(OwningMembership) and
44-
* memberElement.oclIsKindOf(Feature))
45-
* referent <> null implies referent.featureTarget.mayTimeVary
45+
* memberElement.oclIsKindOf(Feature) and
46+
* not memberElement.oclIsKindOf(MetadataFeature))
47+
* referent <> null implies referent.featureTarget.isVariable
4648
* <!-- end-model-doc -->
4749
*
4850
* <p>

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/ConnectionDefinition.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* <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>
1414
* specializesFromLibrary('Connections::Connection')
1515
* ownedEndFeature->size() = 2 implies
16-
* specializesFromLibrary('Connections::BinaryConnections')
16+
* specializesFromLibrary('Connections::BinaryConnection')
1717
* isSufficient
1818
* <!-- end-model-doc -->
1919
*

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/ConnectorAsUsage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
* <!-- end-user-doc -->
1010
*
1111
* <!-- begin-model-doc -->
12-
* <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>
12+
* <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>FlowUsage</code>.</p>
1313
* <!-- end-model-doc -->
1414
*
1515
*

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/ConstraintUsage.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
*
1111
* <!-- begin-model-doc -->
1212
* <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>
13+
* isComposite and
1314
* owningFeatureMembership <> null and
1415
* owningFeatureMembership.oclIsKindOf(RequirementConstraintMembership) implies
1516
* if owningFeatureMembership.oclAsType(RequirementConstraintMembership).kind =

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/DecisionNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
* specializesFromLibrary('Actions::Action::decisions')
1919
* sourceConnector->selectByKind(Succession)->
2020
* forAll(subsetsChain(self,
21-
* resolveGlobal('ControlPerformances::MergePerformance::outgoingHBLink')))
21+
* resolveGlobal('ControlPerformances::DecisionPerformance::outgoingHBLink')))
2222
* <!-- end-model-doc -->
2323
*
2424
*

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/Definition.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
* ownedPart = ownedUsage->selectByKind(PartUsage)
3535
* ownedPort = ownedUsage->selectByKind(PortUsage)
3636
* ownedConnection = ownedUsage->selectByKind(ConnectorAsUsage)
37-
* ownedFlow = ownedUsage->selectByKind(FlowConnectionUsage)
37+
* ownedFlow = ownedUsage->selectByKind(FlowUsage)
3838
* ownedInterface = ownedUsage->selectByKind(ReferenceUsage)
3939
* ownedAllocation = ownedUsage->selectByKind(AllocationUsage)
4040
* ownedAction = ownedUsage->selectByKind(ActionUsage)
@@ -51,7 +51,7 @@
5151
* ownedView = ownedUsage->selectByKind(ViewUsage)
5252
* ownedViewpoint = ownedUsage->selectByKind(ViewpointUsage)
5353
* ownedRendering = ownedUsage->selectByKind(RenderingUsage)
54-
* ownedMetadata = ownedUsage->selectByKind(MetadataUsage)
54+
* ownedMetadata = ownedMember->selectByKind(MetadataUsage)
5555
* isVariation implies isAbstract
5656
* <!-- end-model-doc -->
5757
*
@@ -834,7 +834,7 @@ public interface Definition extends Classifier {
834834
* <!-- begin-user-doc -->
835835
* <!-- end-user-doc -->
836836
* <!-- begin-model-doc -->
837-
* <p>The <code>MetadataUsages</code> that are <code>ownedUsages</code> of this <code>Definition</code>.</p>
837+
* <p>The <code>MetadataUsages</code> that are <code>ownedMembers</code> of this <code>Definition</code>.</p>
838838
* <!-- end-model-doc -->
839839
* @return the value of the '<em>Owned Metadata</em>' reference list.
840840
* @see org.omg.sysml.lang.sysml.SysMLPackage#getDefinition_OwnedMetadata()

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/Feature.java

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -78,31 +78,33 @@
7878
* (i = 1 implies
7979
* redefinesFromLibrary('Transfers::Transfer::source::sourceOutput')) and
8080
* (i = 2 implies
81-
* redefinesFromLibrary('Transfers::Transfer::source::targetInput'))
81+
* redefinesFromLibrary('Transfers::Transfer::target::targetInput'))
8282
*
8383
* owningType <> null and
84-
* not owningFeatureMembership.
85-
* oclIsKindOf(ReturnParameterMembership) and
8684
* (owningType.oclIsKindOf(Behavior) or
8785
* owningType.oclIsKindOf(Step) and
8886
* (owningType.oclIsKindOf(InvocationExpression) implies
89-
* not ownedRedefinition->exists(not isImplied))
87+
* not ownedRedefinition->exists(not isImplied)))
9088
* implies
91-
* let i : Integer =
89+
* let ownerParameters : Sequence(Feature) =
9290
* owningType.ownedFeature->select(direction <> null)->
9391
* reject(owningFeatureMembership.
94-
* oclIsKindOf(ReturnParameterMembership))->
95-
* indexOf(self) in
96-
* owningType.ownedSpecialization.general->
97-
* forAll(supertype |
98-
* let ownedParameters : Sequence(Feature) =
99-
* supertype.ownedFeature->select(direction <> null)->
100-
* reject(owningFeatureMembership.
101-
* oclIsKindOf(ReturnParameterMembership)) in
102-
* ownedParameters->size() >= i implies
103-
* redefines(ownedParameters->at(i))
92+
* oclIsKindOf(ReturnParameterMembership)) in
93+
* ownerParameters->includes(self) implies
94+
* let i : Integer = ownerParameters.indexof(self) in
95+
* owningType.ownedSpecialization.general->
96+
* forAll(supertype |
97+
* supertype.oclIsKindOf(Behavior) or
98+
* supertype.oclIsKindOf(Step)
99+
* implies
100+
* let ownedParameters : Sequence(Feature) =
101+
* supertype.ownedFeature->select(direction <> null)->
102+
* reject(owningFeatureMembership.
103+
* oclIsKindOf(ReturnParameterMembership)) in
104+
* ownedParameters->size() >= i implies
105+
* redefines(ownedParameters->at(i)))
104106
* ownedTyping.type->exists(selectByKind(Structure)) implies
105-
* specializesFromLibary('Objects::objects')
107+
* specializesFromLibrary('Objects::objects')
106108
* owningType <> null and
107109
* (owningType.oclIsKindOf(Function) and
108110
* self = owningType.oclAsType(Function).result or
@@ -121,7 +123,7 @@
121123
* select(fi | fi.featureInverted = self)
122124
* featuringType =
123125
* let featuringTypes : OrderedSet(Type) =
124-
* featuring.type->asOrderedSet() in
126+
* typeFeaturing.type->asOrderedSet() in
125127
* if chainingFeature->isEmpty() then featuringTypes
126128
* else
127129
* featuringTypes->

org.omg.sysml.model/src/main/java/org/omg/sysml/lang/sysml/FeatureChainExpression.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
*
1111
* <!-- begin-model-doc -->
1212
* <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>
13-
* let sourceParameter : Feature = sourceTargetFeature() in
13+
* let sourceTargetFeature : Feature = sourceTargetFeature() in
1414
* sourceTargetFeature <> null and
1515
* sourceTargetFeature.redefinesFromLibrary('ControlFunctions::\'.\'::source::target')
16-
* let sourceParameter : Feature = sourceTargetFeature() in
16+
* let sourceTargetFeature : Feature = sourceTargetFeature() in
1717
* sourceTargetFeature <> null and
1818
* sourceTargetFeature.redefines(targetFeature)
1919
* targetFeature =

0 commit comments

Comments
 (0)