Skip to content

Commit

Permalink
Adds fUML primitive behavior Integer.ToUnlimetedNatural() to UML library
Browse files Browse the repository at this point in the history
  • Loading branch information
tanjaem committed Jun 5, 2015
1 parent e039b51 commit 145738a
Show file tree
Hide file tree
Showing 6 changed files with 192 additions and 126 deletions.
16 changes: 8 additions & 8 deletions org.modelexecution.fumldebug.core/.classpath
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry combineaccessrules="false" kind="src" path="/fUML-Reference-Implementation1"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry combineaccessrules="false" kind="src" path="/fUML-Reference-Implementation1"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="bin"/>
</classpath>
28 changes: 14 additions & 14 deletions org.modelexecution.fumldebug.core/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.modelexecution.fumldebug.core;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: org.modelexecution.fumldebug.core.trace.tracemodel,
org.modelexecution.fumldebug.core.trace.tracemodel.impl
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport
Bundle-ActivationPolicy: lazy
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.modelexecution.fumldebug.core;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: org.modelexecution.fumldebug.core.trace.tracemodel,
org.modelexecution.fumldebug.core.trace.tracemodel.impl
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport
Bundle-ActivationPolicy: lazy
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/*
* Copyright 2008 Lockheed Martin Corporation, except as stated in the file
* entitled Licensing-Information.
*
* All modifications copyright 2009-2012 Data Access Technologies, Inc.
*
* Licensed under the Academic Free License version 3.0
* (http://www.opensource.org/licenses/afl-3.0.php), except as stated
* in the file entitled Licensing-Information.
*
* Contributors:
* MDS - initial API and implementation
*
*/

package org.modelexecution.fumldebug.core.behaviorlibrary;

import UMLPrimitiveTypes.UnlimitedNatural;

import fUML.Debug;
import fUML.Semantics.Classes.Kernel.IntegerValue;
import fUML.Semantics.Classes.Kernel.UnlimitedNaturalValue;

public class IntegerToUnlimitedNaturalFunctionBehaviorExecution extends
LibraryBehavior {

public void doBody(
fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValueList inputParameters,
fUML.Semantics.CommonBehaviors.BasicBehaviors.ParameterValueList outputParameters) {
// Extract integer arguments and perform an integer function on them.

IntegerValue iv = (IntegerValue) inputParameters.getValue(0).values.getValue(0);
int value = iv.value;
Debug.println("[doBody] argument = " + value);

if (value < 0) {
Debug.println("[doBody] Value is <0 and cannot be converted to UnlimitedNatural: " + value);
addEmptyValueListToOutputList(outputParameters);
return;
}

// Convert int to UnlimitedNatural
UnlimitedNatural unlimitedNatural = new UnlimitedNatural();
unlimitedNatural.naturalValue = value;
UnlimitedNaturalValue result = new UnlimitedNaturalValue();
result.value = unlimitedNatural;
result.type = this.locus.factory.getBuiltInType("UnlimitedNatural");

Debug.println("[doBody] Integer ToUnlimitedNatural result = " + result.value.naturalValue);

// Add output to the outputParameters list
addValueToOutputList(result, outputParameters);
}

public fUML.Semantics.Classes.Kernel.Value new_() {
// Create a new instance of this kind of function behavior execution.
return new IntegerToUnlimitedNaturalFunctionBehaviorExecution();
}

} // IntegerToUnlimitedNaturalFunctionBehaviorExecution
130 changes: 67 additions & 63 deletions org.modelexecution.fumldebug.standardlibrary/library/uml_library.uml
Original file line number Diff line number Diff line change
@@ -1,63 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<uml:Package xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xmi:id="_3TibUP5mEeKhOLIPJNigwA" name="UML">
<packagedElement xmi:type="uml:Package" xmi:id="_Ep9p4P5nEeKhOLIPJNigwA" name="PrimitiveBehaviors">
<packagedElement xmi:type="uml:Package" xmi:id="_HZ9sUP5nEeKhOLIPJNigwA" name="IntegerFunctions">
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_3NE5YN_aEeKxs-T-7hfQjA" name="IntegerPlus">
<ownedParameter xmi:id="_5jCrMN_aEeKxs-T-7hfQjA" name="x"/>
<ownedParameter xmi:id="_6xSnAN_aEeKxs-T-7hfQjA" name="y"/>
<ownedParameter xmi:id="_7p0xgN_aEeKxs-T-7hfQjA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_OuH2cP5nEeKhOLIPJNigwA" name="IntegerMinus">
<ownedParameter xmi:id="_OuH2cf5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_OuH2cv5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_OuH2c_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_QeNUAP5nEeKhOLIPJNigwA" name="IntegerTimes">
<ownedParameter xmi:id="_QeNUAf5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_QeNUAv5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_QeNUA_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_RYCfAP5nEeKhOLIPJNigwA" name="IntegerDivide">
<ownedParameter xmi:id="_RYCfAf5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_RYCfAv5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_RYCfA_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_YKE6YN_lEeKxs-T-7hfQjA" name="IntegerLess">
<ownedParameter xmi:id="_YKE6Yd_lEeKxs-T-7hfQjA" name="x"/>
<ownedParameter xmi:id="_YKE6Yt_lEeKxs-T-7hfQjA" name="y"/>
<ownedParameter xmi:id="_YKE6Y9_lEeKxs-T-7hfQjA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_WzjFcP5nEeKhOLIPJNigwA" name="IntegerGreater">
<ownedParameter xmi:id="_WzjFcf5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_WzjFcv5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_WzjFc_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_ZERK4P5nEeKhOLIPJNigwA" name="IntegerLessOrEquals">
<ownedParameter xmi:id="_ZERK4f5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_ZERK4v5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_ZERK4_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_ZERK5P5nEeKhOLIPJNigwA" name="IntegerGreaterOrEquals">
<ownedParameter xmi:id="_ZERK5f5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_ZERK5v5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_ZERK5_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_JfnxQP5nEeKhOLIPJNigwA" name="ListFunctions">
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_ZIrtIN_kEeKxs-T-7hfQjA" name="ListSize">
<ownedParameter xmi:id="_ce6pIN_kEeKxs-T-7hfQjA" name="list"/>
<ownedParameter xmi:id="_ei4E8N_kEeKxs-T-7hfQjA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_hUXVIN_kEeKxs-T-7hfQjA" name="ListGet">
<ownedParameter xmi:id="_hUXVId_kEeKxs-T-7hfQjA" name="list"/>
<ownedParameter xmi:id="_mDkPMN_kEeKxs-T-7hfQjA" name="index"/>
<ownedParameter xmi:id="_hUXVIt_kEeKxs-T-7hfQjA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_f8ZgUP5nEeKhOLIPJNigwA" name="ListIndexOf">
<ownedParameter xmi:id="_f8ZgUf5nEeKhOLIPJNigwA" name="list"/>
<ownedParameter xmi:id="_f8ZgUv5nEeKhOLIPJNigwA" name="object"/>
<ownedParameter xmi:id="_f8ZgU_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
</packagedElement>
</packagedElement>
</uml:Package>
<?xml version="1.0" encoding="UTF-8"?>
<uml:Package xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_3TibUP5mEeKhOLIPJNigwA" name="UML">
<packagedElement xmi:type="uml:Package" xmi:id="_Ep9p4P5nEeKhOLIPJNigwA" name="PrimitiveBehaviors">
<packagedElement xmi:type="uml:Package" xmi:id="_HZ9sUP5nEeKhOLIPJNigwA" name="IntegerFunctions">
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_3NE5YN_aEeKxs-T-7hfQjA" name="IntegerPlus">
<ownedParameter xmi:id="_5jCrMN_aEeKxs-T-7hfQjA" name="x"/>
<ownedParameter xmi:id="_6xSnAN_aEeKxs-T-7hfQjA" name="y"/>
<ownedParameter xmi:id="_7p0xgN_aEeKxs-T-7hfQjA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_OuH2cP5nEeKhOLIPJNigwA" name="IntegerMinus">
<ownedParameter xmi:id="_OuH2cf5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_OuH2cv5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_OuH2c_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_QeNUAP5nEeKhOLIPJNigwA" name="IntegerTimes">
<ownedParameter xmi:id="_QeNUAf5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_QeNUAv5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_QeNUA_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_RYCfAP5nEeKhOLIPJNigwA" name="IntegerDivide">
<ownedParameter xmi:id="_RYCfAf5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_RYCfAv5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_RYCfA_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_YKE6YN_lEeKxs-T-7hfQjA" name="IntegerLess">
<ownedParameter xmi:id="_YKE6Yd_lEeKxs-T-7hfQjA" name="x"/>
<ownedParameter xmi:id="_YKE6Yt_lEeKxs-T-7hfQjA" name="y"/>
<ownedParameter xmi:id="_YKE6Y9_lEeKxs-T-7hfQjA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_WzjFcP5nEeKhOLIPJNigwA" name="IntegerGreater">
<ownedParameter xmi:id="_WzjFcf5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_WzjFcv5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_WzjFc_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_ZERK4P5nEeKhOLIPJNigwA" name="IntegerLessOrEquals">
<ownedParameter xmi:id="_ZERK4f5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_ZERK4v5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_ZERK4_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_ZERK5P5nEeKhOLIPJNigwA" name="IntegerGreaterOrEquals">
<ownedParameter xmi:id="_ZERK5f5nEeKhOLIPJNigwA" name="x"/>
<ownedParameter xmi:id="_ZERK5v5nEeKhOLIPJNigwA" name="y"/>
<ownedParameter xmi:id="_ZERK5_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_iTrf8At-EeWBsYpMD7jZ8Q" name="ToUnlimitedNatural">
<ownedParameter xmi:id="_leq1QAt-EeWBsYpMD7jZ8Q" name="x"/>
<ownedParameter xmi:id="_oE-JIAt-EeWBsYpMD7jZ8Q" name="result" direction="out"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_JfnxQP5nEeKhOLIPJNigwA" name="ListFunctions">
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_ZIrtIN_kEeKxs-T-7hfQjA" name="ListSize">
<ownedParameter xmi:id="_ce6pIN_kEeKxs-T-7hfQjA" name="list"/>
<ownedParameter xmi:id="_ei4E8N_kEeKxs-T-7hfQjA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_hUXVIN_kEeKxs-T-7hfQjA" name="ListGet">
<ownedParameter xmi:id="_hUXVId_kEeKxs-T-7hfQjA" name="list"/>
<ownedParameter xmi:id="_mDkPMN_kEeKxs-T-7hfQjA" name="index"/>
<ownedParameter xmi:id="_hUXVIt_kEeKxs-T-7hfQjA" name="result" direction="out"/>
</packagedElement>
<packagedElement xmi:type="uml:OpaqueBehavior" xmi:id="_f8ZgUP5nEeKhOLIPJNigwA" name="ListIndexOf">
<ownedParameter xmi:id="_f8ZgUf5nEeKhOLIPJNigwA" name="list"/>
<ownedParameter xmi:id="_f8ZgUv5nEeKhOLIPJNigwA" name="object"/>
<ownedParameter xmi:id="_f8ZgU_5nEeKhOLIPJNigwA" name="result" direction="out"/>
</packagedElement>
</packagedElement>
</packagedElement>
</uml:Package>
Loading

0 comments on commit 145738a

Please sign in to comment.