diff --git a/app/org/omg/sysml/lifecycle/impl/package-info.java b/app/org/omg/sysml/lifecycle/impl/package-info.java
index 2f7f2453..85961cb0 100644
--- a/app/org/omg/sysml/lifecycle/impl/package-info.java
+++ b/app/org/omg/sysml/lifecycle/impl/package-info.java
@@ -85,6 +85,7 @@
@MetaValue(value = "Feature", targetEntity = FeatureImpl.class),
@MetaValue(value = "FeatureChainExpression", targetEntity = FeatureChainExpressionImpl.class),
@MetaValue(value = "FeatureChaining", targetEntity = FeatureChainingImpl.class),
+ @MetaValue(value = "FeatureInverting", targetEntity = FeatureInvertingImpl.class),
@MetaValue(value = "FeatureMembership", targetEntity = FeatureMembershipImpl.class),
@MetaValue(value = "FeatureReferenceExpression", targetEntity = FeatureReferenceExpressionImpl.class),
@MetaValue(value = "FeatureTyping", targetEntity = FeatureTypingImpl.class),
diff --git a/app/org/omg/sysml/metamodel/ConnectorAsUsage.java b/app/org/omg/sysml/metamodel/ConnectorAsUsage.java
index 7a3c61eb..94cd6530 100644
--- a/app/org/omg/sysml/metamodel/ConnectorAsUsage.java
+++ b/app/org/omg/sysml/metamodel/ConnectorAsUsage.java
@@ -26,6 +26,6 @@
import java.util.List;
import java.util.Set;
-public interface ConnectorAsUsage extends Usage, Connector, SysMLType {
+public interface ConnectorAsUsage extends Connector, Usage, SysMLType {
}
\ No newline at end of file
diff --git a/app/org/omg/sysml/metamodel/Feature.java b/app/org/omg/sysml/metamodel/Feature.java
index 2526294d..027c62e6 100644
--- a/app/org/omg/sysml/metamodel/Feature.java
+++ b/app/org/omg/sysml/metamodel/Feature.java
@@ -43,7 +43,7 @@ public interface Feature extends Type, SysMLType {
Boolean getIsComposite();
- Boolean getIsPortion();
+ Boolean getIsEnd();
Type getEndOwningType();
@@ -53,15 +53,17 @@ public interface Feature extends Type, SysMLType {
List extends TypeFeaturing> getOwnedTypeFeaturing();
+ Boolean getIsDerived();
+
List extends Feature> getChainingFeature();
- List extends FeatureChaining> getOwnedFeatureChaining();
+ Collection extends FeatureInverting> getOwnedFeatureInverting();
- Boolean getIsDerived();
+ List extends FeatureChaining> getOwnedFeatureChaining();
Boolean getIsReadOnly();
- Boolean getIsEnd();
+ Boolean getIsPortion();
FeatureDirectionKind getDirection();
diff --git a/app/org/omg/sysml/metamodel/FeatureInverting.java b/app/org/omg/sysml/metamodel/FeatureInverting.java
new file mode 100644
index 00000000..74a164cf
--- /dev/null
+++ b/app/org/omg/sysml/metamodel/FeatureInverting.java
@@ -0,0 +1,35 @@
+/*
+ * SysML v2 REST/HTTP Pilot Implementation
+ * Copyright (C) 2020 InterCAX LLC
+ * Copyright (C) 2020 California Institute of Technology ("Caltech")
+ * Copyright (C) 2021-2022 Twingineer LLC
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * @license LGPL-3.0-or-later
+ */
+
+package org.omg.sysml.metamodel;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+public interface FeatureInverting extends Relationship, SysMLType {
+ Feature getFeatureInverted();
+
+ Feature getInvertingFeature();
+
+ Feature getOwningFeature();
+}
\ No newline at end of file
diff --git a/app/org/omg/sysml/metamodel/FlowConnectionUsage.java b/app/org/omg/sysml/metamodel/FlowConnectionUsage.java
index 6dae8f7a..fc027be0 100644
--- a/app/org/omg/sysml/metamodel/FlowConnectionUsage.java
+++ b/app/org/omg/sysml/metamodel/FlowConnectionUsage.java
@@ -26,6 +26,6 @@
import java.util.List;
import java.util.Set;
-public interface FlowConnectionUsage extends ConnectionUsage, ItemFlow, SysMLType {
+public interface FlowConnectionUsage extends ItemFlow, ConnectionUsage, SysMLType {
}
\ No newline at end of file
diff --git a/app/org/omg/sysml/metamodel/MetadataDefinition.java b/app/org/omg/sysml/metamodel/MetadataDefinition.java
index 29fc1e97..f33caf54 100644
--- a/app/org/omg/sysml/metamodel/MetadataDefinition.java
+++ b/app/org/omg/sysml/metamodel/MetadataDefinition.java
@@ -26,6 +26,6 @@
import java.util.List;
import java.util.Set;
-public interface MetadataDefinition extends Metaclass, ItemDefinition, SysMLType {
+public interface MetadataDefinition extends ItemDefinition, Metaclass, SysMLType {
}
\ No newline at end of file
diff --git a/app/org/omg/sysml/metamodel/MetadataUsage.java b/app/org/omg/sysml/metamodel/MetadataUsage.java
index f4ee9dce..3c63422a 100644
--- a/app/org/omg/sysml/metamodel/MetadataUsage.java
+++ b/app/org/omg/sysml/metamodel/MetadataUsage.java
@@ -26,6 +26,6 @@
import java.util.List;
import java.util.Set;
-public interface MetadataUsage extends MetadataFeature, ItemUsage, SysMLType {
+public interface MetadataUsage extends ItemUsage, MetadataFeature, SysMLType {
Metaclass getMetadataDefinition();
}
\ No newline at end of file
diff --git a/app/org/omg/sysml/metamodel/SuccessionAsUsage.java b/app/org/omg/sysml/metamodel/SuccessionAsUsage.java
index 3afc84bd..e37c4fae 100644
--- a/app/org/omg/sysml/metamodel/SuccessionAsUsage.java
+++ b/app/org/omg/sysml/metamodel/SuccessionAsUsage.java
@@ -26,6 +26,6 @@
import java.util.List;
import java.util.Set;
-public interface SuccessionAsUsage extends ConnectorAsUsage, Succession, SysMLType {
+public interface SuccessionAsUsage extends Succession, ConnectorAsUsage, SysMLType {
}
\ No newline at end of file
diff --git a/app/org/omg/sysml/metamodel/SuccessionFlowConnectionUsage.java b/app/org/omg/sysml/metamodel/SuccessionFlowConnectionUsage.java
index 3146a89a..bb6b414d 100644
--- a/app/org/omg/sysml/metamodel/SuccessionFlowConnectionUsage.java
+++ b/app/org/omg/sysml/metamodel/SuccessionFlowConnectionUsage.java
@@ -26,6 +26,6 @@
import java.util.List;
import java.util.Set;
-public interface SuccessionFlowConnectionUsage extends SuccessionItemFlow, FlowConnectionUsage, SysMLType {
+public interface SuccessionFlowConnectionUsage extends FlowConnectionUsage, SuccessionItemFlow, SysMLType {
}
\ No newline at end of file
diff --git a/app/org/omg/sysml/metamodel/impl/AcceptActionUsageImpl.java b/app/org/omg/sysml/metamodel/impl/AcceptActionUsageImpl.java
index def48a6e..e28d9ebc 100644
--- a/app/org/omg/sysml/metamodel/impl/AcceptActionUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/AcceptActionUsageImpl.java
@@ -1805,6 +1805,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "AcceptActionUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ActionUsageImpl.java b/app/org/omg/sysml/metamodel/impl/ActionUsageImpl.java
index d57508c3..75748597 100644
--- a/app/org/omg/sysml/metamodel/impl/ActionUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ActionUsageImpl.java
@@ -1805,6 +1805,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ActionUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/AllocationUsageImpl.java b/app/org/omg/sysml/metamodel/impl/AllocationUsageImpl.java
index 5f6bc231..ccfa92cc 100644
--- a/app/org/omg/sysml/metamodel/impl/AllocationUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/AllocationUsageImpl.java
@@ -1899,6 +1899,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "AllocationUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/AnalysisCaseUsageImpl.java b/app/org/omg/sysml/metamodel/impl/AnalysisCaseUsageImpl.java
index 27bf14cd..fbd78746 100644
--- a/app/org/omg/sysml/metamodel/impl/AnalysisCaseUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/AnalysisCaseUsageImpl.java
@@ -1980,6 +1980,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "AnalysisCaseUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/AnnotationImpl.java b/app/org/omg/sysml/metamodel/impl/AnnotationImpl.java
index ce64289b..608d4513 100644
--- a/app/org/omg/sysml/metamodel/impl/AnnotationImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/AnnotationImpl.java
@@ -332,11 +332,13 @@ public void setOwner(Element owner) {
+ // @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("owningAnnotatedElement")
private Element owningAnnotatedElement;
@JsonGetter
@JsonSerialize(using = DataSerializer.class)
+ // @javax.persistence.Transient
@Any(metaDef = "ElementMetaDef", metaColumn = @javax.persistence.Column(name = "owningAnnotatedElement_type"), fetch = FetchType.LAZY)
@JoinColumn(name = "owningAnnotatedElement_id", table = "Annotation")
public Element getOwningAnnotatedElement() {
diff --git a/app/org/omg/sysml/metamodel/impl/AssertConstraintUsageImpl.java b/app/org/omg/sysml/metamodel/impl/AssertConstraintUsageImpl.java
index 3978b752..10fb64ec 100644
--- a/app/org/omg/sysml/metamodel/impl/AssertConstraintUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/AssertConstraintUsageImpl.java
@@ -1876,6 +1876,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "AssertConstraintUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/AssignmentActionUsageImpl.java b/app/org/omg/sysml/metamodel/impl/AssignmentActionUsageImpl.java
index 0ef7045a..d4a41034 100644
--- a/app/org/omg/sysml/metamodel/impl/AssignmentActionUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/AssignmentActionUsageImpl.java
@@ -1805,6 +1805,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "AssignmentActionUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/AttributeUsageImpl.java b/app/org/omg/sysml/metamodel/impl/AttributeUsageImpl.java
index 44e15397..85135ec7 100644
--- a/app/org/omg/sysml/metamodel/impl/AttributeUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/AttributeUsageImpl.java
@@ -1714,6 +1714,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "AttributeUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/BindingConnectorAsUsageImpl.java b/app/org/omg/sysml/metamodel/impl/BindingConnectorAsUsageImpl.java
index 8895a491..e535bd46 100644
--- a/app/org/omg/sysml/metamodel/impl/BindingConnectorAsUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/BindingConnectorAsUsageImpl.java
@@ -1758,6 +1758,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "BindingConnectorAsUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/BindingConnectorImpl.java b/app/org/omg/sysml/metamodel/impl/BindingConnectorImpl.java
index ca49c45e..57795b9e 100644
--- a/app/org/omg/sysml/metamodel/impl/BindingConnectorImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/BindingConnectorImpl.java
@@ -996,6 +996,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "BindingConnector_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/BooleanExpressionImpl.java b/app/org/omg/sysml/metamodel/impl/BooleanExpressionImpl.java
index 4e5420d1..93166ed0 100644
--- a/app/org/omg/sysml/metamodel/impl/BooleanExpressionImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/BooleanExpressionImpl.java
@@ -993,6 +993,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "BooleanExpression_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/CalculationUsageImpl.java b/app/org/omg/sysml/metamodel/impl/CalculationUsageImpl.java
index b1f9cb7b..4ab85e4f 100644
--- a/app/org/omg/sysml/metamodel/impl/CalculationUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/CalculationUsageImpl.java
@@ -1865,6 +1865,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "CalculationUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/CaseUsageImpl.java b/app/org/omg/sysml/metamodel/impl/CaseUsageImpl.java
index 7f3eb198..f190a1b7 100644
--- a/app/org/omg/sysml/metamodel/impl/CaseUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/CaseUsageImpl.java
@@ -1933,6 +1933,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "CaseUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/CollectExpressionImpl.java b/app/org/omg/sysml/metamodel/impl/CollectExpressionImpl.java
index 8c58da13..6d376e9d 100644
--- a/app/org/omg/sysml/metamodel/impl/CollectExpressionImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/CollectExpressionImpl.java
@@ -1063,6 +1063,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "CollectExpression_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ConcernUsageImpl.java b/app/org/omg/sysml/metamodel/impl/ConcernUsageImpl.java
index 9a01d3a4..7439ec7a 100644
--- a/app/org/omg/sysml/metamodel/impl/ConcernUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ConcernUsageImpl.java
@@ -1938,6 +1938,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ConcernUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ConnectionUsageImpl.java b/app/org/omg/sysml/metamodel/impl/ConnectionUsageImpl.java
index 33e07257..d23eef20 100644
--- a/app/org/omg/sysml/metamodel/impl/ConnectionUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ConnectionUsageImpl.java
@@ -1873,6 +1873,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ConnectionUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ConnectorAsUsageImpl.java b/app/org/omg/sysml/metamodel/impl/ConnectorAsUsageImpl.java
index 584219b1..5e515d37 100644
--- a/app/org/omg/sysml/metamodel/impl/ConnectorAsUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ConnectorAsUsageImpl.java
@@ -1758,6 +1758,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ConnectorAsUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ConnectorImpl.java b/app/org/omg/sysml/metamodel/impl/ConnectorImpl.java
index d6848807..e14c4b18 100644
--- a/app/org/omg/sysml/metamodel/impl/ConnectorImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ConnectorImpl.java
@@ -996,6 +996,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "Connector_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ConstraintUsageImpl.java b/app/org/omg/sysml/metamodel/impl/ConstraintUsageImpl.java
index a4ad6cad..e1a3506d 100644
--- a/app/org/omg/sysml/metamodel/impl/ConstraintUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ConstraintUsageImpl.java
@@ -1839,6 +1839,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ConstraintUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ControlNodeImpl.java b/app/org/omg/sysml/metamodel/impl/ControlNodeImpl.java
index 9ffe41cc..4f2a75d9 100644
--- a/app/org/omg/sysml/metamodel/impl/ControlNodeImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ControlNodeImpl.java
@@ -1805,6 +1805,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ControlNode_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/DecisionNodeImpl.java b/app/org/omg/sysml/metamodel/impl/DecisionNodeImpl.java
index a944023c..899c8b60 100644
--- a/app/org/omg/sysml/metamodel/impl/DecisionNodeImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/DecisionNodeImpl.java
@@ -1805,6 +1805,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "DecisionNode_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/EnumerationUsageImpl.java b/app/org/omg/sysml/metamodel/impl/EnumerationUsageImpl.java
index d317cffd..2eaca26d 100644
--- a/app/org/omg/sysml/metamodel/impl/EnumerationUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/EnumerationUsageImpl.java
@@ -1735,6 +1735,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "EnumerationUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/EventOccurrenceUsageImpl.java b/app/org/omg/sysml/metamodel/impl/EventOccurrenceUsageImpl.java
index 89c5068b..412836f0 100644
--- a/app/org/omg/sysml/metamodel/impl/EventOccurrenceUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/EventOccurrenceUsageImpl.java
@@ -1774,6 +1774,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "EventOccurrenceUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ExhibitStateUsageImpl.java b/app/org/omg/sysml/metamodel/impl/ExhibitStateUsageImpl.java
index f564483b..108e5089 100644
--- a/app/org/omg/sysml/metamodel/impl/ExhibitStateUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ExhibitStateUsageImpl.java
@@ -1926,6 +1926,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ExhibitStateUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ExpressionImpl.java b/app/org/omg/sysml/metamodel/impl/ExpressionImpl.java
index f7b9b150..7898dc9b 100644
--- a/app/org/omg/sysml/metamodel/impl/ExpressionImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ExpressionImpl.java
@@ -993,6 +993,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "Expression_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/FeatureChainExpressionImpl.java b/app/org/omg/sysml/metamodel/impl/FeatureChainExpressionImpl.java
index c46dd86c..c6067055 100644
--- a/app/org/omg/sysml/metamodel/impl/FeatureChainExpressionImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/FeatureChainExpressionImpl.java
@@ -1063,6 +1063,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureChainExpression_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/FeatureImpl.java b/app/org/omg/sysml/metamodel/impl/FeatureImpl.java
index 1cc78e20..d08d2eeb 100644
--- a/app/org/omg/sysml/metamodel/impl/FeatureImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/FeatureImpl.java
@@ -928,6 +928,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "Feature_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/FeatureInvertingImpl.java b/app/org/omg/sysml/metamodel/impl/FeatureInvertingImpl.java
new file mode 100644
index 00000000..78562352
--- /dev/null
+++ b/app/org/omg/sysml/metamodel/impl/FeatureInvertingImpl.java
@@ -0,0 +1,572 @@
+/*
+ * SysML v2 REST/HTTP Pilot Implementation
+ * Copyright (C) 2020 InterCAX LLC
+ * Copyright (C) 2020 California Institute of Technology ("Caltech")
+ * Copyright (C) 2021-2022 Twingineer LLC
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program. If not, see .
+ *
+ * @license LGPL-3.0-or-later
+ */
+
+package org.omg.sysml.metamodel.impl;
+
+import org.omg.sysml.metamodel.*;
+
+import org.omg.sysml.metamodel.Package;
+import org.omg.sysml.metamodel.Class;
+
+import jackson.DataSerializer;
+import jackson.DataDeserializer;
+
+import com.fasterxml.jackson.annotation.*;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+
+import org.hibernate.annotations.Any;
+import org.hibernate.annotations.ManyToAny;
+import org.hibernate.annotations.FetchMode;
+
+// import info.archinnov.achilles.annotations.UDT;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.EnumType;
+import javax.persistence.ElementCollection;
+import javax.persistence.Inheritance;
+import javax.persistence.InheritanceType;
+import javax.persistence.PrimaryKeyJoinColumn;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.Lob;
+import javax.persistence.FetchType;
+import javax.persistence.DiscriminatorValue;
+import javax.persistence.Table;
+import javax.persistence.SecondaryTable;
+import javax.persistence.CollectionTable;
+
+import java.util.Collection;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+import java.util.HashSet;
+
+@Entity(name = "FeatureInvertingImpl")
+@SecondaryTable(name = "FeatureInverting")
+@org.hibernate.annotations.Table(appliesTo = "FeatureInverting", fetch = FetchMode.SELECT, optional = false)
+// @info.archinnov.achilles.annotations.Table(table = "FeatureInverting")
+@DiscriminatorValue(value = "FeatureInverting")
+@JsonTypeName(value = "FeatureInverting")
+@JsonTypeInfo(use = JsonTypeInfo.Id.NAME)
+public class FeatureInvertingImpl extends SysMLTypeImpl implements FeatureInverting {
+ // @info.archinnov.achilles.annotations.Column("aliasIds")
+ private List aliasIds;
+
+ @JsonGetter
+ @Lob
+ @org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
+ @ElementCollection(targetClass = String.class)
+ @CollectionTable(name = "FeatureInverting_aliasIds",
+ joinColumns = @JoinColumn(name = "FeatureInverting_id"))
+ public List getAliasIds() {
+ if (aliasIds == null) {
+ aliasIds = new ArrayList<>();
+ }
+ return aliasIds;
+ }
+
+ @JsonSetter
+ public void setAliasIds(List aliasIds) {
+ this.aliasIds = aliasIds;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("documentation")
+ private List documentation;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "DocumentationMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_documentation",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getDocumentation() {
+ if (documentation == null) {
+ documentation = new ArrayList<>();
+ }
+ return documentation;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = DocumentationImpl.class)
+ public void setDocumentation(List documentation) {
+ this.documentation = documentation;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("effectiveName")
+ private String effectiveName;
+
+ @JsonGetter
+ @Lob
+ @org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
+ // @javax.persistence.Transient
+ @javax.persistence.Column(name = "effectiveName", table = "FeatureInverting")
+ public String getEffectiveName() {
+ return effectiveName;
+ }
+
+ @JsonSetter
+ public void setEffectiveName(String effectiveName) {
+ this.effectiveName = effectiveName;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("elementId")
+ private java.util.UUID elementId;
+
+ @JsonGetter
+ @javax.persistence.Column(name = "elementId", table = "FeatureInverting")
+ public java.util.UUID getElementId() {
+ return elementId;
+ }
+
+ @JsonSetter
+ public void setElementId(java.util.UUID elementId) {
+ this.elementId = elementId;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("featureInverted")
+ private Feature featureInverted;
+
+ @JsonGetter
+ @JsonSerialize(using = DataSerializer.class)
+ @Any(metaDef = "FeatureMetaDef", metaColumn = @javax.persistence.Column(name = "featureInverted_type"), fetch = FetchType.LAZY)
+ @JoinColumn(name = "featureInverted_id", table = "FeatureInverting")
+ public Feature getFeatureInverted() {
+ return featureInverted;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(using = DataDeserializer.class, as = FeatureImpl.class)
+ public void setFeatureInverted(Feature featureInverted) {
+ this.featureInverted = featureInverted;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("invertingFeature")
+ private Feature invertingFeature;
+
+ @JsonGetter
+ @JsonSerialize(using = DataSerializer.class)
+ @Any(metaDef = "FeatureMetaDef", metaColumn = @javax.persistence.Column(name = "invertingFeature_type"), fetch = FetchType.LAZY)
+ @JoinColumn(name = "invertingFeature_id", table = "FeatureInverting")
+ public Feature getInvertingFeature() {
+ return invertingFeature;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(using = DataDeserializer.class, as = FeatureImpl.class)
+ public void setInvertingFeature(Feature invertingFeature) {
+ this.invertingFeature = invertingFeature;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("name")
+ private String name;
+
+ @JsonGetter
+ @Lob
+ @org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
+ @javax.persistence.Column(name = "name", table = "FeatureInverting")
+ public String getName() {
+ return name;
+ }
+
+ @JsonSetter
+ public void setName(String name) {
+ this.name = name;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedAnnotation")
+ private List ownedAnnotation;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "AnnotationMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_ownedAnnotation",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getOwnedAnnotation() {
+ if (ownedAnnotation == null) {
+ ownedAnnotation = new ArrayList<>();
+ }
+ return ownedAnnotation;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = AnnotationImpl.class)
+ public void setOwnedAnnotation(List ownedAnnotation) {
+ this.ownedAnnotation = ownedAnnotation;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedElement")
+ private List ownedElement;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "ElementMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_ownedElement",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getOwnedElement() {
+ if (ownedElement == null) {
+ ownedElement = new ArrayList<>();
+ }
+ return ownedElement;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = ElementImpl.class)
+ public void setOwnedElement(List ownedElement) {
+ this.ownedElement = ownedElement;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("ownedRelatedElement")
+ private List ownedRelatedElement;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ @ManyToAny(metaDef = "ElementMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_ownedRelatedElement",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getOwnedRelatedElement() {
+ if (ownedRelatedElement == null) {
+ ownedRelatedElement = new ArrayList<>();
+ }
+ return ownedRelatedElement;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = ElementImpl.class)
+ public void setOwnedRelatedElement(List ownedRelatedElement) {
+ this.ownedRelatedElement = ownedRelatedElement;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("ownedRelationship")
+ private List ownedRelationship;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ @ManyToAny(metaDef = "RelationshipMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_ownedRelationship",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getOwnedRelationship() {
+ if (ownedRelationship == null) {
+ ownedRelationship = new ArrayList<>();
+ }
+ return ownedRelationship;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = RelationshipImpl.class)
+ public void setOwnedRelationship(List ownedRelationship) {
+ this.ownedRelationship = ownedRelationship;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("owner")
+ private Element owner;
+
+ @JsonGetter
+ @JsonSerialize(using = DataSerializer.class)
+ // @javax.persistence.Transient
+ @Any(metaDef = "ElementMetaDef", metaColumn = @javax.persistence.Column(name = "owner_type"), fetch = FetchType.LAZY)
+ @JoinColumn(name = "owner_id", table = "FeatureInverting")
+ public Element getOwner() {
+ return owner;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(using = DataDeserializer.class, as = ElementImpl.class)
+ public void setOwner(Element owner) {
+ this.owner = owner;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("owningFeature")
+ private Feature owningFeature;
+
+ @JsonGetter
+ @JsonSerialize(using = DataSerializer.class)
+ // @javax.persistence.Transient
+ @Any(metaDef = "FeatureMetaDef", metaColumn = @javax.persistence.Column(name = "owningFeature_type"), fetch = FetchType.LAZY)
+ @JoinColumn(name = "owningFeature_id", table = "FeatureInverting")
+ public Feature getOwningFeature() {
+ return owningFeature;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(using = DataDeserializer.class, as = FeatureImpl.class)
+ public void setOwningFeature(Feature owningFeature) {
+ this.owningFeature = owningFeature;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("owningMembership")
+ private OwningMembership owningMembership;
+
+ @JsonGetter
+ @JsonSerialize(using = DataSerializer.class)
+ @Any(metaDef = "OwningMembershipMetaDef", metaColumn = @javax.persistence.Column(name = "owningMembership_type"), fetch = FetchType.LAZY)
+ @JoinColumn(name = "owningMembership_id", table = "FeatureInverting")
+ public OwningMembership getOwningMembership() {
+ return owningMembership;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(using = DataDeserializer.class, as = OwningMembershipImpl.class)
+ public void setOwningMembership(OwningMembership owningMembership) {
+ this.owningMembership = owningMembership;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("owningNamespace")
+ private Namespace owningNamespace;
+
+ @JsonGetter
+ @JsonSerialize(using = DataSerializer.class)
+ // @javax.persistence.Transient
+ @Any(metaDef = "NamespaceMetaDef", metaColumn = @javax.persistence.Column(name = "owningNamespace_type"), fetch = FetchType.LAZY)
+ @JoinColumn(name = "owningNamespace_id", table = "FeatureInverting")
+ public Namespace getOwningNamespace() {
+ return owningNamespace;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(using = DataDeserializer.class, as = NamespaceImpl.class)
+ public void setOwningNamespace(Namespace owningNamespace) {
+ this.owningNamespace = owningNamespace;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("owningRelatedElement")
+ private Element owningRelatedElement;
+
+ @JsonGetter
+ @JsonSerialize(using = DataSerializer.class)
+ @Any(metaDef = "ElementMetaDef", metaColumn = @javax.persistence.Column(name = "owningRelatedElement_type"), fetch = FetchType.LAZY)
+ @JoinColumn(name = "owningRelatedElement_id", table = "FeatureInverting")
+ public Element getOwningRelatedElement() {
+ return owningRelatedElement;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(using = DataDeserializer.class, as = ElementImpl.class)
+ public void setOwningRelatedElement(Element owningRelatedElement) {
+ this.owningRelatedElement = owningRelatedElement;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("owningRelationship")
+ private Relationship owningRelationship;
+
+ @JsonGetter
+ @JsonSerialize(using = DataSerializer.class)
+ @Any(metaDef = "RelationshipMetaDef", metaColumn = @javax.persistence.Column(name = "owningRelationship_type"), fetch = FetchType.LAZY)
+ @JoinColumn(name = "owningRelationship_id", table = "FeatureInverting")
+ public Relationship getOwningRelationship() {
+ return owningRelationship;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(using = DataDeserializer.class, as = RelationshipImpl.class)
+ public void setOwningRelationship(Relationship owningRelationship) {
+ this.owningRelationship = owningRelationship;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("qualifiedName")
+ private String qualifiedName;
+
+ @JsonGetter
+ @Lob
+ @org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
+ // @javax.persistence.Transient
+ @javax.persistence.Column(name = "qualifiedName", table = "FeatureInverting")
+ public String getQualifiedName() {
+ return qualifiedName;
+ }
+
+ @JsonSetter
+ public void setQualifiedName(String qualifiedName) {
+ this.qualifiedName = qualifiedName;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("relatedElement")
+ private List relatedElement;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "ElementMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_relatedElement",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getRelatedElement() {
+ if (relatedElement == null) {
+ relatedElement = new ArrayList<>();
+ }
+ return relatedElement;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = ElementImpl.class)
+ public void setRelatedElement(List relatedElement) {
+ this.relatedElement = relatedElement;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("shortName")
+ private String shortName;
+
+ @JsonGetter
+ @Lob
+ @org.hibernate.annotations.Type(type = "org.hibernate.type.TextType")
+ @javax.persistence.Column(name = "shortName", table = "FeatureInverting")
+ public String getShortName() {
+ return shortName;
+ }
+
+ @JsonSetter
+ public void setShortName(String shortName) {
+ this.shortName = shortName;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("source")
+ private List source;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ @ManyToAny(metaDef = "ElementMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_source",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getSource() {
+ if (source == null) {
+ source = new ArrayList<>();
+ }
+ return source;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = ElementImpl.class)
+ public void setSource(List source) {
+ this.source = source;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Column("target")
+ private List target;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ @ManyToAny(metaDef = "ElementMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_target",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getTarget() {
+ if (target == null) {
+ target = new ArrayList<>();
+ }
+ return target;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = ElementImpl.class)
+ public void setTarget(List target) {
+ this.target = target;
+ }
+
+
+
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("textualRepresentation")
+ private List textualRepresentation;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "TextualRepresentationMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureInverting_textualRepresentation",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public List getTextualRepresentation() {
+ if (textualRepresentation == null) {
+ textualRepresentation = new ArrayList<>();
+ }
+ return textualRepresentation;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = TextualRepresentationImpl.class)
+ public void setTextualRepresentation(List textualRepresentation) {
+ this.textualRepresentation = textualRepresentation;
+ }
+
+
+
+}
diff --git a/app/org/omg/sysml/metamodel/impl/FeatureReferenceExpressionImpl.java b/app/org/omg/sysml/metamodel/impl/FeatureReferenceExpressionImpl.java
index b9021092..a05c6f9b 100644
--- a/app/org/omg/sysml/metamodel/impl/FeatureReferenceExpressionImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/FeatureReferenceExpressionImpl.java
@@ -993,6 +993,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FeatureReferenceExpression_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/FlowConnectionUsageImpl.java b/app/org/omg/sysml/metamodel/impl/FlowConnectionUsageImpl.java
index d263e1a1..eef73bf7 100644
--- a/app/org/omg/sysml/metamodel/impl/FlowConnectionUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/FlowConnectionUsageImpl.java
@@ -2003,6 +2003,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "FlowConnectionUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ForLoopActionUsageImpl.java b/app/org/omg/sysml/metamodel/impl/ForLoopActionUsageImpl.java
index 0ea645a6..8d6c3b9e 100644
--- a/app/org/omg/sysml/metamodel/impl/ForLoopActionUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ForLoopActionUsageImpl.java
@@ -1847,6 +1847,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ForLoopActionUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ForkNodeImpl.java b/app/org/omg/sysml/metamodel/impl/ForkNodeImpl.java
index a95f6db3..0626caa7 100644
--- a/app/org/omg/sysml/metamodel/impl/ForkNodeImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ForkNodeImpl.java
@@ -1805,6 +1805,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ForkNode_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/IfActionUsageImpl.java b/app/org/omg/sysml/metamodel/impl/IfActionUsageImpl.java
index 08d27fcf..0949c7d6 100644
--- a/app/org/omg/sysml/metamodel/impl/IfActionUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/IfActionUsageImpl.java
@@ -1847,6 +1847,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "IfActionUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/IncludeUseCaseUsageImpl.java b/app/org/omg/sysml/metamodel/impl/IncludeUseCaseUsageImpl.java
index 441082b1..c28337bf 100644
--- a/app/org/omg/sysml/metamodel/impl/IncludeUseCaseUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/IncludeUseCaseUsageImpl.java
@@ -1980,6 +1980,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "IncludeUseCaseUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/InterfaceUsageImpl.java b/app/org/omg/sysml/metamodel/impl/InterfaceUsageImpl.java
index 9d21211b..4abcefb6 100644
--- a/app/org/omg/sysml/metamodel/impl/InterfaceUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/InterfaceUsageImpl.java
@@ -1899,6 +1899,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "InterfaceUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/InvariantImpl.java b/app/org/omg/sysml/metamodel/impl/InvariantImpl.java
index afdb98bb..23d8d0fa 100644
--- a/app/org/omg/sysml/metamodel/impl/InvariantImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/InvariantImpl.java
@@ -1009,6 +1009,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "Invariant_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/InvocationExpressionImpl.java b/app/org/omg/sysml/metamodel/impl/InvocationExpressionImpl.java
index 7e5709a0..efbaf27e 100644
--- a/app/org/omg/sysml/metamodel/impl/InvocationExpressionImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/InvocationExpressionImpl.java
@@ -1019,6 +1019,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "InvocationExpression_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ItemFeatureImpl.java b/app/org/omg/sysml/metamodel/impl/ItemFeatureImpl.java
index b8212c1c..1fe50f73 100644
--- a/app/org/omg/sysml/metamodel/impl/ItemFeatureImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ItemFeatureImpl.java
@@ -928,6 +928,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ItemFeature_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ItemFlowEndImpl.java b/app/org/omg/sysml/metamodel/impl/ItemFlowEndImpl.java
index ad46fb1c..e80919ec 100644
--- a/app/org/omg/sysml/metamodel/impl/ItemFlowEndImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ItemFlowEndImpl.java
@@ -928,6 +928,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ItemFlowEnd_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ItemFlowFeatureImpl.java b/app/org/omg/sysml/metamodel/impl/ItemFlowFeatureImpl.java
index 2ac4a45c..e07a8102 100644
--- a/app/org/omg/sysml/metamodel/impl/ItemFlowFeatureImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ItemFlowFeatureImpl.java
@@ -928,6 +928,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ItemFlowFeature_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ItemFlowImpl.java b/app/org/omg/sysml/metamodel/impl/ItemFlowImpl.java
index 93d72bcc..3fe57c0a 100644
--- a/app/org/omg/sysml/metamodel/impl/ItemFlowImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ItemFlowImpl.java
@@ -1126,6 +1126,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ItemFlow_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/ItemUsageImpl.java b/app/org/omg/sysml/metamodel/impl/ItemUsageImpl.java
index b352c641..acbb1de9 100644
--- a/app/org/omg/sysml/metamodel/impl/ItemUsageImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/ItemUsageImpl.java
@@ -1779,6 +1779,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "ItemUsage_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/JoinNodeImpl.java b/app/org/omg/sysml/metamodel/impl/JoinNodeImpl.java
index b0d1fea8..bca8a36d 100644
--- a/app/org/omg/sysml/metamodel/impl/JoinNodeImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/JoinNodeImpl.java
@@ -1805,6 +1805,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "JoinNode_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/LiteralBooleanImpl.java b/app/org/omg/sysml/metamodel/impl/LiteralBooleanImpl.java
index 344706cb..4e52762f 100644
--- a/app/org/omg/sysml/metamodel/impl/LiteralBooleanImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/LiteralBooleanImpl.java
@@ -993,6 +993,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "LiteralBoolean_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/LiteralExpressionImpl.java b/app/org/omg/sysml/metamodel/impl/LiteralExpressionImpl.java
index 7dcee792..b1291c15 100644
--- a/app/org/omg/sysml/metamodel/impl/LiteralExpressionImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/LiteralExpressionImpl.java
@@ -993,6 +993,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "LiteralExpression_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/LiteralInfinityImpl.java b/app/org/omg/sysml/metamodel/impl/LiteralInfinityImpl.java
index ea876135..423bd76a 100644
--- a/app/org/omg/sysml/metamodel/impl/LiteralInfinityImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/LiteralInfinityImpl.java
@@ -993,6 +993,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "LiteralInfinity_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection getOwnedFeatureInverting() {
+ if (ownedFeatureInverting == null) {
+ ownedFeatureInverting = new ArrayList<>();
+ }
+ return ownedFeatureInverting;
+ }
+
+ @JsonSetter
+ @JsonDeserialize(contentUsing = DataDeserializer.class, contentAs = FeatureInvertingImpl.class)
+ public void setOwnedFeatureInverting(Collection ownedFeatureInverting) {
+ this.ownedFeatureInverting = ownedFeatureInverting;
+ }
+
+
+
// @info.archinnov.achilles.annotations.Transient
// @info.archinnov.achilles.annotations.Column("ownedFeatureMembership")
private List ownedFeatureMembership;
diff --git a/app/org/omg/sysml/metamodel/impl/LiteralIntegerImpl.java b/app/org/omg/sysml/metamodel/impl/LiteralIntegerImpl.java
index baf7250e..072d3bf5 100644
--- a/app/org/omg/sysml/metamodel/impl/LiteralIntegerImpl.java
+++ b/app/org/omg/sysml/metamodel/impl/LiteralIntegerImpl.java
@@ -993,6 +993,32 @@ public void setOwnedFeatureChaining(List ownedFeatureChaining)
+ // @info.archinnov.achilles.annotations.Transient
+ // @info.archinnov.achilles.annotations.Column("ownedFeatureInverting")
+ private Collection ownedFeatureInverting;
+
+ @JsonGetter
+ @JsonSerialize(contentUsing = DataSerializer.class)
+ // @javax.persistence.Transient
+ @ManyToAny(metaDef = "FeatureInvertingMetaDef", metaColumn = @javax.persistence.Column(name = "attribute_type"), fetch = FetchType.LAZY)
+ @JoinTable(name = "LiteralInteger_ownedFeatureInverting",
+ joinColumns = @JoinColumn(name = "class_id"),
+ inverseJoinColumns = @JoinColumn(name = "attribute_id"))
+ public Collection