Skip to content

Commit 74a01d5

Browse files
authored
Merge pull request #5 from ModelDriven/ST6RI-8
ST6RI-8 Implement computation of derived meta-attributes
2 parents 2a079c4 + a2e4d12 commit 74a01d5

141 files changed

Lines changed: 72280 additions & 33698 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

org.omg.sysml.ide/src-gen/org/omg/sysml/ide/contentassist/antlr/AlfParser.java

Lines changed: 42 additions & 38 deletions
Large diffs are not rendered by default.

org.omg.sysml.ide/src-gen/org/omg/sysml/ide/contentassist/antlr/internal/InternalAlf.g

Lines changed: 716 additions & 584 deletions
Large diffs are not rendered by default.

org.omg.sysml.ide/src-gen/org/omg/sysml/ide/contentassist/antlr/internal/InternalAlf.tokens

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
')'=55
33
'*'=22
44
'+'=20
5-
','=43
5+
','=44
66
'-'=21
77
'.'=16
88
'..'=50
@@ -17,13 +17,13 @@
1717
'['=48
1818
']'=49
1919
'^'=24
20-
'abstract'=58
20+
'abstract'=60
2121
'any'=19
2222
'as'=35
2323
'assoc'=41
2424
'class'=40
2525
'compose'=61
26-
'connector'=44
26+
'connector'=42
2727
'e'=25
2828
'end'=45
2929
'feature'=17
@@ -37,13 +37,13 @@
3737
'out'=32
3838
'package'=36
3939
'packaged'=30
40-
'part'=59
41-
'port'=60
40+
'part'=58
41+
'port'=59
4242
'private'=28
4343
'protected'=29
4444
'public'=27
4545
'redefines'=52
46-
'specializes'=42
46+
'specializes'=43
4747
'subsets'=51
4848
'to'=53
4949
'{'=37

org.omg.sysml.ide/src-gen/org/omg/sysml/ide/contentassist/antlr/internal/InternalAlfLexer.java

Lines changed: 104 additions & 104 deletions
Large diffs are not rendered by default.

org.omg.sysml.ide/src-gen/org/omg/sysml/ide/contentassist/antlr/internal/InternalAlfParser.java

Lines changed: 6270 additions & 5862 deletions
Large diffs are not rendered by default.
Binary file not shown.
Binary file not shown.

org.omg.sysml.owl/transforms/SysML2OWL.qvto

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -147,8 +147,8 @@ helper SysML::Element::mapToDeclarations() {
147147
}
148148

149149
mapping SysML::Element::toEntity(): OWL::Entity disjuncts
150-
SysML::Class::toClass,
151-
SysML::Feature::toObjectProperty;
150+
SysML::Feature::toObjectProperty,
151+
SysML::Class::toClass;
152152

153153
// Namespace
154154

@@ -157,7 +157,7 @@ query SysML::Package::URL(): String {
157157
}
158158

159159
helper SysML::Package::mapToDeclarations() {
160-
self.membership.ownedMemberElement->mapToDeclarations();
160+
self.ownedMembership.ownedMemberElement->mapToDeclarations();
161161
}
162162

163163
//mapping SysML::Package::toDeclaration(): Declaration {
@@ -206,7 +206,7 @@ query SysML::Class::IRI(): String {
206206
}
207207

208208
query SysML::Class::ownedFeatures(): List(SysML::Feature) {
209-
return self.membership.ownedMemberElement[SysML::Feature];
209+
return self.ownedMembership.ownedMemberElement[SysML::Feature];
210210
}
211211

212212
query SysML::Class::implicitSuperclass(): SysML::Class {
@@ -227,7 +227,7 @@ query SysML::Class::superclasses(): Bag(SysML::Class) {
227227
}
228228

229229
query SysML::Class::feature(featureName: String): SysML::Feature {
230-
var members := self.membership.ownedMemberElement->union(self.membership.memberElement);
230+
var members := self.ownedMembership.ownedMemberElement->union(self.ownedMembership.memberElement);
231231
var namedFeature := members[SysML::Feature]![name = featureName];
232232
if namedFeature = null then {
233233
namedFeature := self.superclasses().feature(featureName)![true];
@@ -237,7 +237,10 @@ query SysML::Class::feature(featureName: String): SysML::Feature {
237237

238238
helper SysML::Class::mapToDeclarations() {
239239
self.map toDeclaration();
240-
self.membership.ownedMemberElement->mapToDeclarations();
240+
self.ownedMembership.ownedMemberElement->forEach(element) {
241+
// log(' ownedMember: ' + valueOf(element.name));
242+
element.mapToDeclarations();
243+
};
241244
}
242245

243246
mapping SysML::Class::toClass(): OWL::Class
@@ -276,16 +279,19 @@ query SysML::Feature::IRI(): String {
276279

277280
query SysML::Feature::redefinedFeature(): SysML::Feature {
278281
log('Feature ' + valueOf(self.name));
279-
var feature := self.ownedRedefinition.redefinedFeature![true];
280-
if feature = null and self.name <> null then {
282+
var redefinedFeature := self.ownedElement[Redefinition].redefinedFeature![true];
283+
if redefinedFeature = null and self.name <> null then {
281284
var owner := self.owner();
282285
if (owner <> null and owner.oclIsKindOf(SysML::Class)) then {
283-
feature :=
286+
redefinedFeature :=
284287
owner.oclAsType(SysML::Class).superclasses().feature(self.name)![true];
285288
} endif;
286289
} endif;
287-
log(' redefinedFeature: ' + if feature.oclIsInvalid() then "<invalid>" else if feature = null then "<none>" else valueOf(feature.name) endif endif);
288-
return feature;
290+
log(' redefinedFeature: ' +
291+
if redefinedFeature.oclIsInvalid() then "<invalid>"
292+
else if redefinedFeature = null then "<none>"
293+
else valueOf(redefinedFeature.name) endif endif);
294+
return redefinedFeature;
289295
}
290296

291297
query SysML::Feature::type(): SysML::Class {
@@ -313,6 +319,7 @@ query SysML::Feature::range(): SysML::Class {
313319
helper SysML::Feature::mapToDeclarations() {
314320
self.map toDeclaration();
315321
self.ownedType->mapToDeclarations();
322+
self.ownedMembership.ownedMemberElement->mapToDeclarations();
316323
}
317324

318325
helper newMinCardinality(cardinality: Integer, objectProperty: OWL::ObjectProperty, domain: OWL::Class) {

org.omg.sysml.tests/src/org/omg/sysml/tests/Dependency.xtend

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,14 +162,14 @@ class Dependency {
162162
163163
public class c_Public_alias{
164164
public class c_public{}
165-
private alias_private is c_public;
166-
public alias_public is c_public;
165+
private class alias_private is c_public;
166+
public class alias_public is c_public;
167167
}
168168
169169
private class c_Private_alias{
170170
public class c_public{}
171-
private alias_private is c_public;
172-
public alias_public is c_public;
171+
private class alias_private is c_public;
172+
public class alias_public is c_public;
173173
}
174174
175175
public class c_clazz{

org.omg.sysml.tests/src/org/omg/sysml/tests/MemberNameTests.xtend

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ class MemberNameTests {
110110
EcoreUtil2.resolveAll(result)
111111
Assert.assertNotNull(result)
112112
Assert.assertTrue(result.eResource.errors.length == 1)
113-
result.assertError(SysMLPackage.eINSTANCE.class_, XtextSyntaxDiagnostic.LINKING_DIAGNOSTIC)
113+
result.assertError(SysMLPackage.eINSTANCE.category, XtextSyntaxDiagnostic.LINKING_DIAGNOSTIC)
114114
}
115115

116116
@Test
@@ -252,8 +252,7 @@ class MemberNameTests {
252252
feature a{}
253253
}
254254
feature B is A;
255-
feature C;
256-
C redefines B::a;
255+
feature C redefines B::a;
257256
}
258257
''')
259258

0 commit comments

Comments
 (0)