Skip to content

Commit 9d899db

Browse files
authored
Merge pull request #682 from Systems-Modeling/ST6RI-874
ST6RI-874 Features subset each other in Transfers and Flows library models (KERML11-78, SYSML21-324)
2 parents 55712ce + 96d80ef commit 9d899db

13 files changed

Lines changed: 30 additions & 349 deletions

File tree

org.omg.kerml.xpect.tests/library/Transfers.kerml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ standard library package Transfers {
177177
end feature target: Occurrence redefines Transfer::target, TransferBefore::target;
178178
}
179179

180-
abstract flow transfers: Transfer[0..*] nonunique subsets performances, binaryLinks {
180+
abstract step transfers: Transfer[0..*] nonunique subsets performances, binaryLinks {
181181
doc
182182
/*
183183
* transfers is a specialization of performances and binaryLinks restricted to type
@@ -188,7 +188,7 @@ standard library package Transfers {
188188
end feature target: Occurrence redefines Transfer::target, binaryLinks::target;
189189
}
190190

191-
abstract flow messageTransfers: MessageTransfer[0..*] nonunique subsets transfers {
191+
abstract step messageTransfers: MessageTransfer[0..*] nonunique subsets transfers {
192192
doc
193193
/*
194194
* messageTransfers is a specialization of transfers restricted to type MessageTransfers.

org.omg.kerml.xtext/src/org/omg/kerml/xtext/validation/KerMLValidator.xtend

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -957,7 +957,7 @@ class KerMLValidator extends AbstractKerMLValidator {
957957
}
958958

959959
// validateConnectorBinarySpecialization
960-
val connectorEnds = TypeUtil.getAllEndFeaturesOf(c)
960+
val connectorEnds = c.connectorEnd
961961
if (connectorEnds.size() > 2) {
962962
val binaryLinkType = SysMLLibraryUtil.getLibraryElement(c, "Links::BinaryLink") as Type
963963
if (c.conformsTo(binaryLinkType)) {

org.omg.sysml.xpect.tests/library.kernel/Transfers.kerml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ standard library package Transfers {
177177
end feature target: Occurrence redefines Transfer::target, TransferBefore::target;
178178
}
179179

180-
abstract flow transfers: Transfer[0..*] nonunique subsets performances, binaryLinks {
180+
abstract step transfers: Transfer[0..*] nonunique subsets performances, binaryLinks {
181181
doc
182182
/*
183183
* transfers is a specialization of performances and binaryLinks restricted to type
@@ -188,7 +188,7 @@ standard library package Transfers {
188188
end feature target: Occurrence redefines Transfer::target, binaryLinks::target;
189189
}
190190

191-
abstract flow messageTransfers: MessageTransfer[0..*] nonunique subsets transfers {
191+
abstract step messageTransfers: MessageTransfer[0..*] nonunique subsets transfers {
192192
doc
193193
/*
194194
* messageTransfers is a specialization of transfers restricted to type MessageTransfers.

org.omg.sysml.xpect.tests/library.systems/Flows.sysml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ standard library package Flows {
4242
* a transfer of objects or values between two occurrences. It is
4343
* the base type of all FlowUsages.
4444
*/
45-
46-
end occurrence source: Occurrence :>> Transfer::source;
47-
end occurrence target: Occurrence :>> Transfer::target;
4845

4946
ref payload :>> MessageAction::payload, Transfer::payload;
5047

@@ -104,12 +101,9 @@ standard library package Flows {
104101
/*
105102
* messages is the base feature of all FlowUsages.
106103
*/
107-
108-
end occurrence source: Occurrence :>> Message::source, transfers::source;
109-
end occurrence target: Occurrence :>> Message::target, transfers::target;
110104
}
111105

112-
abstract message flows: Flow[0..*] nonunique :> messages, flowTransfers {
106+
abstract flow flows: Flow[0..*] nonunique :> messages, flowTransfers {
113107
doc
114108
/*
115109
* flows is the base feature for FlowUsages that identify their source output
@@ -120,7 +114,7 @@ standard library package Flows {
120114
end occurrence target: Occurrence :>> Flow::target, messages::target, flowTransfers::target;
121115
}
122116

123-
abstract message successionFlows: SuccessionFlow[0..*] nonunique :> flows, flowTransfersBefore {
117+
abstract flow successionFlows: SuccessionFlow[0..*] nonunique :> flows, flowTransfersBefore {
124118
doc
125119
/*
126120
* successionFlows is the base feature of all SuccessionFlowUsages.

org.omg.sysml/src/org/omg/sysml/util/ElementUtil.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,7 @@ public static void transformAll(Element root, boolean addImplicitElements) {
354354
}
355355
}
356356
if (addImplicitElements && root instanceof Type) {
357+
root.setIsImpliedIncluded(true);
357358
TypeUtil.insertImplicitBindingConnectors((Type)root);
358359
TypeUtil.insertImplicitSpecializations((Type)root);
359360
if (root instanceof Feature) {

0 commit comments

Comments
 (0)