Skip to content

Commit 32596df

Browse files
committed
ST6RI-843 Added more semantic constraint annotations.
@Satisfies for: - checkMultiplicityRangeExpressionTypeFeaturing - checkUsageVariationUsageTypeFeaturing - checkMetadataFeatureSemanticSpecialization - checkFeatureChainExpressionResultSpecialization - checkFeatureResultRedefinition - checkFeatureEndRedefinition TODOs for: - checkDescisionNodeOutgoingSuccessionSpecialization - checkMergeNodeIncomingSuccessionSpecialization
1 parent 6d68d37 commit 32596df

6 files changed

Lines changed: 33 additions & 2 deletions

File tree

org.omg.sysml/src/org/omg/sysml/adapter/ExpressionAdapter.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,14 @@ public Expression getTarget() {
4747

4848
// Implicit Generalization
4949

50+
/**
51+
* @satisfies checkStepOwnedPerformanceSpecialization
52+
* @satisfies checkStepSubperformanceSpecialization
53+
* @satisfies checkStepEnclosedPerformanceSpecialization
54+
*
55+
* Note: These are satisfied by getDefaultSupertype in StepAdapter,
56+
* which is overridden in ExpressionAdapater.
57+
*/
5058
@Override
5159
public void addDefaultGeneralType() {
5260
super.addDefaultGeneralType();
@@ -96,6 +104,7 @@ protected List<Type> getGeneralTypes(Type type, Element skip) {
96104
/**
97105
* @satisfies checkExpressionTypeFeaturing
98106
* @satisfies checkExpressionResultBindingConnector
107+
* @satisfies checkMultiplicityRangeExpressionTypeFeaturing
99108
*/
100109
@Override
101110
public void doTransform() {

org.omg.sysml/src/org/omg/sysml/adapter/FeatureAdapter.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,9 @@ public void addDefaultGeneralType() {
237237
}
238238

239239

240+
/**
241+
* @satisfies checkFeatureValuationSpecialization
242+
*/
240243
protected void addBoundValueSubsetting() {
241244
Feature target = getTarget();
242245
Feature result = getBoundValueResult();
@@ -562,8 +565,6 @@ public void addComputedRedefinitions(Element skip) {
562565
* owning Type, then it is paired with relevant Features in the same position in Generalizations of the
563566
* owning Type. The determination of what are relevant Categories and Features can be adjusted by
564567
* overriding getGeneralCategories and getRelevantFeatures.
565-
*
566-
* @satisfies checkFeatureParameterRedefinition
567568
*/
568569
protected void addRedefinitions(Element skip) {
569570
Feature target = getTarget();
@@ -603,6 +604,8 @@ protected List<Type> getGeneralTypes(Type type, Element skip) {
603604
* Get the relevant Features that may be redefined from the given Type.
604605
* This includes end features, owned features of constructor results, and
605606
* generally parameters.
607+
*
608+
* @satisfies checkFeatureEndRedefinition
606609
*/
607610
protected List<? extends Feature> getRelevantFeatures(Type type, Element skip) {
608611
Feature target = getTarget();
@@ -632,6 +635,8 @@ protected List<? extends Feature> getConstructorRelevantFeatures(Type type) {
632635
* Parameters redefine (owned) Parameters of general Types, with a result
633636
* Parameter always redefining the result Parameter of a general Function or
634637
* Expression.
638+
*
639+
* @satisfies checkFeatureResultRedefinition
635640
*/
636641
public List<? extends Feature> getParameterRelevantFeatures(Type type, Element skip) {
637642
if (type != null) {
@@ -647,6 +652,9 @@ public List<? extends Feature> getParameterRelevantFeatures(Type type, Element s
647652
return Collections.emptyList();
648653
}
649654

655+
/**
656+
* @satisfies checkFeatureParameterRedefinition
657+
*/
650658
protected List<Feature> getRelevantParameters(Type type, Element skip) {
651659
Type owningType = getTarget().getOwningType();
652660
return filterIgnoredParameters(type == owningType?

org.omg.sysml/src/org/omg/sysml/adapter/FeatureChainExpressionAdapter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ public FeatureChainExpression getTarget() {
4040
return (FeatureChainExpression)super.getTarget();
4141
}
4242

43+
/**
44+
* @satisfies checkFeatureChainExpressionResultSpecialization
45+
*/
4346
@Override
4447
protected void addResultTyping() {
4548
FeatureChainExpression target = getTarget();

org.omg.sysml/src/org/omg/sysml/adapter/SuccessionAsUsageAdapter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,10 @@ protected void addContextFeaturingType() {
4646
addFeaturingTypes(((TransitionUsage)owningNamespace).getFeaturingType());
4747
}
4848
}
49+
50+
/**
51+
* TODO: checkDecisionNodeOutgoingSuccessionSpecialization
52+
* TODO: checkMergeNodeIncomingSuccessionSpecialization
53+
*/
4954

5055
}

org.omg.sysml/src/org/omg/sysml/adapter/TypeAdapter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,9 @@ public void computeImplicitGeneralTypes() {
395395
}
396396
}
397397

398+
/**
399+
* @satisfies checkMetadataFeatureSemanticSpecialization
400+
*/
398401
public void addDefaultGeneralType() {
399402
for (Type baseType: getBaseTypes()) {
400403
addImplicitGeneralType(getSpecializationEClass(), baseType);

org.omg.sysml/src/org/omg/sysml/adapter/UsageAdapter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,9 @@ protected void computeValueConnector() {
211211
}
212212
}
213213

214+
/**
215+
* @satisfies checkUsageVariationUsageTypeFeaturing
216+
*/
214217
@Override
215218
public void doTransform() {
216219
super.doTransform();

0 commit comments

Comments
 (0)