Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions org.omg.kerml.xpect.tests/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.omg.sysml.model"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.omg.sysml.logic"/>
<classpathentry kind="src" path="src">
<attributes>
<attribute name="test" value="true"/>
Expand Down
1 change: 1 addition & 0 deletions org.omg.kerml.xpect.tests/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Require-Bundle: org.eclipse.core.runtime,
org.eclipse.xtext.xbase;bundle-version="2.9.2",
org.eclipse.xtext.ui.shared;bundle-version="2.14.0",
org.omg.sysml;bundle-version="0.59.0",
org.omg.sysml.logic.bundle;bundle-version="0.59.0",
org.omg.kerml.xtext;bundle-version="0.59.0",
org.omg.kerml.xtext.ui;bundle-version="0.59.0",
org.aopalliance;bundle-version="1.0.0"
Expand Down
1 change: 1 addition & 0 deletions org.omg.kerml.xtext.ui/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.omg.sysml.model"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.omg.sysml.logic"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.omg.sysml"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
1 change: 1 addition & 0 deletions org.omg.kerml.xtext.ui/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ Require-Bundle: org.omg.kerml.xtext,
org.eclipse.xtext.xbase.lib;bundle-version="2.14.0",
org.eclipse.xtend.lib;bundle-version="2.14.0";resolution:=optional,
org.omg.sysml.model.bundle;bundle-version="0.59.0",
org.omg.sysml.logic.bundle;bundle-version="0.59.0",
org.omg.sysml;bundle-version="0.59.0",
org.omg.kerml.expressions.xtext;bundle-version="0.59.0",
org.omg.kerml.expressions.xtext.ide;bundle-version="0.59.0",
Expand Down
1 change: 1 addition & 0 deletions org.omg.kerml.xtext/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.omg.sysml.model"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.omg.sysml.logic"/>
<classpathentry combineaccessrules="false" kind="src" path="/org.omg.sysml"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
1 change: 1 addition & 0 deletions org.omg.kerml.xtext/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Require-Bundle: org.eclipse.xtext,
org.eclipse.xtend.lib;bundle-version="2.14.0",
org.antlr.runtime;bundle-version="[3.2.0,3.2.1)",
org.omg.sysml.model.bundle;bundle-version="0.59.0",
org.omg.sysml.logic.bundle;bundle-version="0.59.0",
org.omg.sysml;bundle-version="0.59.0",
org.eclipse.uml2.uml,
org.eclipse.uml2.uml.resources,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import org.eclipse.xtext.naming.IQualifiedNameConverter
import org.eclipse.xtext.naming.IQualifiedNameProvider
import org.eclipse.xtext.resource.XtextResource
import org.eclipse.xtext.scoping.IGlobalScopeProvider
import org.eclipse.xtext.resource.IResourceServiceProvider
import org.eclipse.xtext.validation.CompositeEValidator
import org.eclipse.xtext.validation.IResourceValidator
import org.omg.kerml.xtext.library.KerMLLibraryProvider
Expand All @@ -20,17 +21,40 @@ import org.omg.kerml.xtext.naming.KerMLQualifiedNameProvider
import org.omg.kerml.xtext.scoping.KerMLGlobalScopeProvider
import org.omg.kerml.xtext.scoping.KerMLLinker
import org.omg.kerml.xtext.validation.KerMLResourceValidator
import org.omg.sysml.lang.sysml.util.IModelLibraryProvider
import org.omg.sysml.logic.api.IModelLibraryProvider
import org.omg.kerml.xtext.library.ILibraryIndexProvider
import org.omg.kerml.xtext.library.PrecalculatedLibraryIndexProvider
import com.google.inject.Provides
import org.eclipse.xtext.conversion.IValueConverterService
import org.omg.kerml.xtext.conversion.KerMLValueConverterService
import org.omg.sysml.util.SysMLLibraryUtil

/**
* Use this class to register components to be used at runtime / without the Equinox extension registry.
*/
class KerMLRuntimeModule extends AbstractKerMLRuntimeModule {

/**
* Installs the library-provider lookup used by {@link SysMLLibraryUtil} for
* the KerML Xtext runtime.
*
* <p>The lookup resolves the {@link IModelLibraryProvider} from the
* {@link IResourceServiceProvider} associated with the current resource URI so
* library element resolution can use the KerML runtime's injector-backed
* services from static utility code.
*/
new() {
SysMLLibraryUtil.setProviderLookup([
resource |
try {
val serviceProvider = IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(resource?.URI)
if (serviceProvider === null) null else serviceProvider.get(IModelLibraryProvider)
} catch (Exception e) {
System.out.println("[SysMLLibraryUtil] Cannot get library provider: " + e)
null
}
])
}

override Class<? extends IValueConverterService> bindIValueConverterService() {
return KerMLValueConverterService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,8 @@
*/
package org.omg.kerml.xtext

import org.eclipse.emf.ecore.EStructuralFeature
import org.omg.sysml.delegate.setting.DerivedPropertySettingDelegateFactory;
import org.omg.sysml.delegate.invocation.OperationInvocationDelegateFactory;
import com.google.inject.Injector
import org.eclipse.emf.ecore.EOperation
import org.omg.sysml.logic.SysMLLogicStandaloneSetup

/**
* Initialization support for running Xtext languages without Equinox extension registry.
Expand All @@ -19,10 +16,7 @@ class KerMLStandaloneSetup extends KerMLStandaloneSetupGenerated {
}

override Injector createInjectorAndDoEMFRegistration() {
EStructuralFeature.Internal.SettingDelegate.Factory.Registry.INSTANCE.
put(DerivedPropertySettingDelegateFactory.SYSML_ANNOTATION, new DerivedPropertySettingDelegateFactory());
EOperation.Internal.InvocationDelegate.Factory.Registry.INSTANCE.
put(OperationInvocationDelegateFactory.SYSML_ANNOTATION, new OperationInvocationDelegateFactory());
SysMLLogicStandaloneSetup.doSetup()
return super.createInjectorAndDoEMFRegistration();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ import com.google.inject.Singleton
import org.eclipse.xtext.naming.IQualifiedNameConverter
import org.omg.sysml.lang.sysml.Element
import org.eclipse.emf.ecore.util.EcoreUtil
import org.omg.sysml.lang.sysml.util.IModelLibraryProvider
import org.omg.sysml.logic.api.IModelLibraryProvider
import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider
import org.omg.sysml.lang.sysml.SysMLPackage

Expand All @@ -55,4 +55,4 @@ class KerMLLibraryProvider implements IModelLibraryProvider {
}
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,14 @@ import org.omg.sysml.lang.sysml.OwningMembership
import org.omg.sysml.lang.sysml.NamespaceImport
import org.omg.sysml.lang.sysml.MembershipImport
import org.omg.sysml.lang.sysml.SysMLPackage
import org.omg.sysml.lang.sysml.util.ISysMLScope
import com.google.inject.Inject
import org.eclipse.xtext.naming.IQualifiedNameConverter
import org.eclipse.emf.ecore.util.EcoreUtil
import org.omg.sysml.util.NamespaceUtil
import org.omg.kerml.xtext.naming.QualifiedNameUtil
import org.omg.sysml.lang.sysml.Redefinition

class KerMLScope extends AbstractScope implements ISysMLScope {
class KerMLScope extends AbstractScope {

@Inject
IQualifiedNameConverter qualifiedNameConverter
Expand Down Expand Up @@ -163,7 +162,7 @@ class KerMLScope extends AbstractScope implements ISysMLScope {
!resolveInScope(QualifiedName.create(input.name.firstSegment), true).isEmpty()
}

override getElement(String name) {
def getElement(String name) {
var obj = EcoreUtil.resolve(getSingleElement(qualifiedNameConverter.toQualifiedName(name)).EObjectOrProxy, element)
if (obj instanceof Element) obj else null
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import java.nio.file.Path;
import java.util.Arrays;

import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.traversal.facade.impl.JsonElementProcessingFacade;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@
import org.eclipse.emf.ecore.xmi.XMIResource;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
import org.omg.kerml.xtext.KerMLStandaloneSetup;
import org.omg.sysml.io.SysMLUtil;
import org.omg.sysml.lang.sysml.Element;
import org.omg.sysml.util.SysMLUtil;

/**
* This is a utility program for reading one or more KerML source files and writing the corresponding KerML
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import org.omg.kerml.xtext.KerMLStandaloneSetup;
import org.omg.sysml.lang.sysml.Membership;
import org.omg.sysml.lang.sysml.Namespace;
import org.omg.sysml.util.SysMLUtil;
import org.omg.sysml.io.SysMLUtil;

public class KerMLIndexUtil extends SysMLUtil {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.traversal.facade.impl.ApiElementProcessingFacade;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.omg.kerml.xtext.KerMLStandaloneSetup;
import org.omg.sysml.io.SysMLUtil;
import org.omg.sysml.lang.sysml.Element;
import org.omg.sysml.util.SysMLUtil;
import org.omg.sysml.util.traversal.Traversal;
import org.omg.sysml.util.traversal.facade.ElementProcessingFacade;
import org.omg.sysml.util.traversal.facade.impl.DefaultElementProcessingFacadeImpl;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ import org.omg.sysml.lang.sysml.LiteralInteger
import org.omg.sysml.lang.sysml.Multiplicity
import org.omg.sysml.lang.sysml.FeatureChainExpression
import org.omg.sysml.lang.sysml.MetadataFeature
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil
import org.omg.sysml.util.SysMLLibraryUtil
import org.omg.sysml.lang.sysml.OwningMembership
import org.omg.sysml.lang.sysml.ReferenceSubsetting
import org.omg.sysml.lang.sysml.LiteralBoolean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,39 @@ import com.google.inject.Binder
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
import org.eclipse.xtext.naming.IQualifiedNameConverter
import org.eclipse.xtext.resource.IResourceServiceProvider
import org.eclipse.xtext.resource.IResourceDescriptions
import org.eclipse.xtext.resource.generic.AbstractGenericResourceRuntimeModule
import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions
import org.omg.kerml.xtext.library.KerMLLibraryProvider
import org.omg.kerml.xtext.naming.KerMLQualifiedNameConverter
import org.omg.kerml.xtext.naming.KerMLQualifiedNameProvider
import org.omg.sysml.lang.sysml.util.IModelLibraryProvider
import org.omg.sysml.logic.api.IModelLibraryProvider
import org.omg.sysml.util.SysMLLibraryUtil

class KerMLxRuntimeModule extends AbstractGenericResourceRuntimeModule{

/**
* Installs the library-provider lookup used by {@link SysMLLibraryUtil} for
* the generic KerML XMI runtime.
*
* <p>The lookup resolves the {@link IModelLibraryProvider} from the
* {@link IResourceServiceProvider} associated with the current resource URI so
* library element resolution works in this non-generated XMI-based runtime
* just as it does in the regular Xtext runtime modules.
*/
new() {
SysMLLibraryUtil.setProviderLookup([
resource |
try {
val serviceProvider = IResourceServiceProvider.Registry.INSTANCE.getResourceServiceProvider(resource?.URI)
if (serviceProvider === null) null else serviceProvider.get(IModelLibraryProvider)
} catch (Exception e) {
System.out.println("[SysMLLibraryUtil] Cannot get library provider: " + e)
null
}
])
}

public static val KERMLX_LANGUAGE_NAME = 'org.omg.kerml.kermlx'

Expand Down
1 change: 1 addition & 0 deletions org.omg.sysml.execution/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="/org.omg.sysml.model"/>
<classpathentry kind="src" path="/org.omg.sysml.logic"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
1 change: 1 addition & 0 deletions org.omg.sysml.execution/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ Bundle-Vendor: SysML v2 Submission Team
Bundle-ActivationPolicy: lazy
Export-Package: org.omg.sysml.execution.expressions
Require-Bundle: org.omg.sysml.model.bundle;bundle-version="0.59.0",
org.omg.sysml.logic.bundle;bundle-version="0.59.0",
org.omg.sysml;bundle-version="0.59.0"
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import org.omg.sysml.lang.sysml.Expression;
import org.omg.sysml.lang.sysml.InvocationExpression;
import org.omg.sysml.lang.sysml.Type;
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.EvaluationUtil;

public class MaximizeFunction extends ReduceFunction {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import org.omg.sysml.lang.sysml.Expression;
import org.omg.sysml.lang.sysml.InvocationExpression;
import org.omg.sysml.lang.sysml.Type;
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.EvaluationUtil;

public class MinimizeFunction extends ReduceFunction {
Expand Down
7 changes: 7 additions & 0 deletions org.omg.sysml.feature/feature.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,13 @@ THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRES
version="0.0.0"
unpack="false"/>

<plugin
id="org.omg.sysml.logic.bundle"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>

<plugin
id="org.omg.sysml"
download-size="0"
Expand Down
1 change: 1 addition & 0 deletions org.omg.sysml.interactive.tests/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="/org.omg.sysml.model"/>
<classpathentry kind="src" path="/org.omg.sysml.logic"/>
<classpathentry kind="src" output="target/classes" path="src">
<attributes>
<attribute name="optional" value="true"/>
Expand Down
1 change: 1 addition & 0 deletions org.omg.sysml.interactive.tests/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@ Bundle-ActivationPolicy: lazy
Require-Bundle: org.omg.sysml.interactive;bundle-version="0.59.0",
org.junit;bundle-version="4.12.0",
org.omg.sysml.model.bundle;bundle-version="0.59.0",
org.omg.sysml.logic.bundle;bundle-version="0.59.0",
org.omg.sysml;bundle-version="0.59.0",
org.eclipse.xtext;bundle-version="2.22.0"
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
import org.omg.sysml.lang.sysml.SysMLPackage;
import org.omg.sysml.lang.sysml.TransitionUsage;
import org.omg.sysml.lang.sysml.Type;
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.ElementUtil;
import org.omg.sysml.util.FeatureUtil;
import org.omg.sysml.util.NamespaceUtil;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
import org.omg.sysml.lang.sysml.SysMLPackage;
import org.omg.sysml.lang.sysml.Type;
import org.omg.sysml.lang.sysml.Usage;
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.ElementUtil;
import org.omg.sysml.util.NamespaceUtil;

Expand Down
1 change: 1 addition & 0 deletions org.omg.sysml.interactive/.classpath
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="/org.omg.sysml.model"/>
<classpathentry kind="src" path="/org.omg.sysml.logic"/>
<classpathentry kind="src" output="target/classes" path="src">
<attributes>
<attribute name="optional" value="true"/>
Expand Down
1 change: 1 addition & 0 deletions org.omg.sysml.interactive/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Require-Bundle: org.eclipse.emf.ecore,
com.google.inject,
org.eclipse.xtext,
org.omg.sysml.model.bundle;bundle-version="0.59.0",
org.omg.sysml.logic.bundle;bundle-version="0.59.0",
org.omg.sysml;bundle-version="0.59.0",
org.omg.sysml.execution;bundle-version="0.59.0",
org.omg.kerml.xtext;bundle-version="0.59.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
import org.omg.kerml.xtext.library.ILibraryIndexProvider;
import org.omg.kerml.xtext.naming.KerMLQualifiedNameConverter;
import org.omg.sysml.execution.expressions.ExpressionEvaluator;
import org.omg.sysml.io.SysMLUtil;
import org.omg.sysml.lang.sysml.Element;
import org.omg.sysml.lang.sysml.Expression;
import org.omg.sysml.lang.sysml.Membership;
Expand All @@ -70,10 +71,9 @@
import org.omg.sysml.lang.sysml.SysMLPackage;
import org.omg.sysml.lang.sysml.Type;
import org.omg.sysml.lang.sysml.ViewUsage;
import org.omg.sysml.lang.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.util.SysMLLibraryUtil;
import org.omg.sysml.plantuml.SysML2PlantUMLLinkProvider;
import org.omg.sysml.plantuml.SysML2PlantUMLSvc;
import org.omg.sysml.util.SysMLUtil;
import org.omg.sysml.util.TypeUtil;
import org.omg.sysml.util.repository.EObjectUUIDTracker;
import org.omg.sysml.util.repository.APIModel;
Expand Down
16 changes: 16 additions & 0 deletions org.omg.sysml.logic.bundle/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry exported="true" kind="lib" path="lib/org.omg.sysml.logic-0.59.0-SNAPSHOT.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
3 changes: 3 additions & 0 deletions org.omg.sysml.logic.bundle/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
target/
lib/
model/
Loading
Loading