Commit 03ae2740 authored by razvan's avatar razvan
Browse files

test for nested loops added

parent 28ca54c6
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-12"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/>
</classpath>
......@@ -27,3 +27,6 @@ _UI_Unknown_feature = Unspecified
_UI_AadlToOtawaArchitectureDescription_outputPipelineDescriptionFile_feature = Output Pipeline Description File
_UI_AadlToOtawaArchitectureDescription_outputMemoryDescriptionFile_feature = Output Memory Description File
_UI_AadlToOtawaArchitectureDescription_outputCacheDescriptionFile_feature = Output Cache Description File
_UI_AadlToOtawaFlowFactsNestedLoops_type = Aadl To Otawa Flow Facts Nested Loops
_UI_AadlToOtawaFlowFactsNestedLoops_srcInstanceModelSlot_feature = Src Instance Model Slot
_UI_AadlToOtawaFlowFactsNestedLoops_outputFlowFactsFile_feature = Output Flow Facts File
/**
*/
package fr.mem4csd.analysis.workflowanalysisotawa.provider;
import de.mdelab.workflow.components.provider.WorkflowComponentItemProvider;
import fr.mem4csd.analysis.workflowanalysisotawa.AadlToOtawaFlowFactsNestedLoops;
import fr.mem4csd.analysis.workflowanalysisotawa.WorkflowanalysisotawaPackage;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
/**
* This is the item provider adapter for a {@link fr.mem4csd.analysis.workflowanalysisotawa.AadlToOtawaFlowFactsNestedLoops} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class AadlToOtawaFlowFactsNestedLoopsItemProvider extends WorkflowComponentItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public AadlToOtawaFlowFactsNestedLoopsItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addSrcInstanceModelSlotPropertyDescriptor(object);
addOutputFlowFactsFilePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Src Instance Model Slot feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addSrcInstanceModelSlotPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_AadlToOtawaFlowFactsNestedLoops_srcInstanceModelSlot_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_AadlToOtawaFlowFactsNestedLoops_srcInstanceModelSlot_feature", "_UI_AadlToOtawaFlowFactsNestedLoops_type"),
WorkflowanalysisotawaPackage.Literals.AADL_TO_OTAWA_FLOW_FACTS_NESTED_LOOPS__SRC_INSTANCE_MODEL_SLOT,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Output Flow Facts File feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addOutputFlowFactsFilePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_AadlToOtawaFlowFactsNestedLoops_outputFlowFactsFile_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_AadlToOtawaFlowFactsNestedLoops_outputFlowFactsFile_feature", "_UI_AadlToOtawaFlowFactsNestedLoops_type"),
WorkflowanalysisotawaPackage.Literals.AADL_TO_OTAWA_FLOW_FACTS_NESTED_LOOPS__OUTPUT_FLOW_FACTS_FILE,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This returns AadlToOtawaFlowFactsNestedLoops.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/AadlToOtawaFlowFactsNestedLoops"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((AadlToOtawaFlowFactsNestedLoops)object).getName();
return label == null || label.length() == 0 ?
getString("_UI_AadlToOtawaFlowFactsNestedLoops_type") :
getString("_UI_AadlToOtawaFlowFactsNestedLoops_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(AadlToOtawaFlowFactsNestedLoops.class)) {
case WorkflowanalysisotawaPackage.AADL_TO_OTAWA_FLOW_FACTS_NESTED_LOOPS__SRC_INSTANCE_MODEL_SLOT:
case WorkflowanalysisotawaPackage.AADL_TO_OTAWA_FLOW_FACTS_NESTED_LOOPS__OUTPUT_FLOW_FACTS_FILE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return ((IChildCreationExtender)adapterFactory).getResourceLocator();
}
}
......@@ -150,6 +150,29 @@ public class WorkflowanalysisotawaItemProviderAdapterFactory extends Workflowana
return aadlToOtawaFlowFactsItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link fr.mem4csd.analysis.workflowanalysisotawa.AadlToOtawaFlowFactsNestedLoops} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected AadlToOtawaFlowFactsNestedLoopsItemProvider aadlToOtawaFlowFactsNestedLoopsItemProvider;
/**
* This creates an adapter for a {@link fr.mem4csd.analysis.workflowanalysisotawa.AadlToOtawaFlowFactsNestedLoops}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createAadlToOtawaFlowFactsNestedLoopsAdapter() {
if (aadlToOtawaFlowFactsNestedLoopsItemProvider == null) {
aadlToOtawaFlowFactsNestedLoopsItemProvider = new AadlToOtawaFlowFactsNestedLoopsItemProvider(this);
}
return aadlToOtawaFlowFactsNestedLoopsItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
......@@ -284,6 +307,7 @@ public class WorkflowanalysisotawaItemProviderAdapterFactory extends Workflowana
public void dispose() {
if (aadlToOtawaArchitectureDescriptionItemProvider != null) aadlToOtawaArchitectureDescriptionItemProvider.dispose();
if (aadlToOtawaFlowFactsItemProvider != null) aadlToOtawaFlowFactsItemProvider.dispose();
if (aadlToOtawaFlowFactsNestedLoopsItemProvider != null) aadlToOtawaFlowFactsNestedLoopsItemProvider.dispose();
}
/**
......@@ -343,6 +367,11 @@ public class WorkflowanalysisotawaItemProviderAdapterFactory extends Workflowana
(WorkflowPackage.Literals.WORKFLOW__COMPONENTS,
WorkflowanalysisotawaFactory.eINSTANCE.createAadlToOtawaFlowFacts()));
newChildDescriptors.add
(createChildParameter
(WorkflowPackage.Literals.WORKFLOW__COMPONENTS,
WorkflowanalysisotawaFactory.eINSTANCE.createAadlToOtawaFlowFactsNestedLoops()));
return null;
}
......@@ -435,6 +464,11 @@ public class WorkflowanalysisotawaItemProviderAdapterFactory extends Workflowana
(ComponentsPackage.Literals.MODEL_CONTAINER__MODELS,
WorkflowanalysisotawaFactory.eINSTANCE.createAadlToOtawaFlowFacts()));
newChildDescriptors.add
(createChildParameter
(ComponentsPackage.Literals.MODEL_CONTAINER__MODELS,
WorkflowanalysisotawaFactory.eINSTANCE.createAadlToOtawaFlowFactsNestedLoops()));
return null;
}
......@@ -455,6 +489,11 @@ public class WorkflowanalysisotawaItemProviderAdapterFactory extends Workflowana
(ComponentsPackage.Literals.LOGIC_BLOCK__COMPONENTS,
WorkflowanalysisotawaFactory.eINSTANCE.createAadlToOtawaFlowFacts()));
newChildDescriptors.add
(createChildParameter
(ComponentsPackage.Literals.LOGIC_BLOCK__COMPONENTS,
WorkflowanalysisotawaFactory.eINSTANCE.createAadlToOtawaFlowFactsNestedLoops()));
return null;
}
......
void g(int n, int m)
{
for (int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
// ...
}
}
}
void f()
{
for (int i = 0; i < 30; i++) {
// ...
}
g(40, 50);
}
int main()
{
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 20; j++) {
// ...
}
}
f();
g(60, 70);
return 0;
}
checksum "tmp" 0xc64a7207;
// Function main ()
loop "main" + 0x48 ? in "main"; // 0x8300 ()
loop "main" + 0x30 ? in "main"; // 0x82e8 ()
// Function f ()
loop "f" + 0x24 ? in "main" @ 0x830c / "f"; // 0x8290 ()
// Function g ()
loop "g" + 0x54 ? in "main" @ 0x8318 / "g"; // 0x824c ()
loop "g" + 0x38 ? in "main" @ 0x8318 / "g"; // 0x8230 ()
loop "g" + 0x54 ? in "main" @ 0x830c / "f" @ 0x82a4 / "g"; // 0x824c ()
loop "g" + 0x38 ? in "main" @ 0x830c / "f" @ 0x82a4 / "g"; // 0x8230 ()
package flowfacts
public
with OTAWA_Properties;
system root
end root;
system implementation root.impl
subcomponents
main_process: process main_process.impl;
end root.impl;
process main_process
end main_process;
process implementation main_process.impl
subcomponents
main: thread main.impl;
end main_process.impl;
thread main
end main;
thread implementation main.impl
subcomponents
f: subprogram f.impl;
g: subprogram g.impl;
properties
OTAWA_Properties::Loop_Bounds => (10, 20);
OTAWA_Properties::Loop_Bounds => (30) applies to f;
OTAWA_Properties::Loop_Bounds => (40, 50) applies to f.g;
OTAWA_Properties::Loop_Bounds => (60, 70) applies to g;
end main.impl;
subprogram f
end f;
subprogram implementation f.impl
subcomponents
g: subprogram g.impl;
end f.impl;
subprogram g
end g;
subprogram implementation g.impl
end g.impl;
end flowfacts;
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Tests of bridge from Aadl to OTAWA
Bundle-SymbolicName: fr.mem4csd.analysis.otawa.tests
Bundle-Name: %pluginName
Bundle-SymbolicName: fr.mem4csd.analysis.otawa.tests;singleton:=true
Bundle-Version: 0.0.1.qualifier
Bundle-Vendor: Telecom Paris
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Automatic-Module-Name: fr.mem4csd.analysis.otawa.tests
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Export-Package: fr.mem4csd.analysis.workflowanalysisotawa.tests
Import-Package: de.mdelab.workflow,
de.mdelab.workflow.impl,
fr.mem4csd.analysis.workflowanalysisotawa,
......@@ -28,4 +31,10 @@ Import-Package: de.mdelab.workflow,
org.osate.xtext.aadl2
Require-Bundle: org.osate.aadl2,
org.osate.aadl2.contrib,
org.osate.contribution.sei
org.osate.contribution.sei,
org.eclipse.core.runtime,
fr.mem4csd.analysis.otawa;visibility:=reexport,
de.mdelab.workflow;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.junit;visibility:=reexport
Bundle-ActivationPolicy: lazy
......@@ -58,6 +58,7 @@ public class TestAnalysisOtawaExtension {
private static final String INSTANCE_MODEL_FILE = "instance_model_file";
private static final String AADL_TO_OTAWAARCHSPEC_WORKFLOW = "architecture_spec_production";
private static final String AADL_TO_FLOWFATCS_WORKFLOW = "flowfacts_production";
private static final String AADL_TO_FLOWFATCS_NESTEDLOOPS_WORKFLOW = "flowfacts_production_nestedloops";
public TestAnalysisOtawaExtension()
{
......@@ -166,4 +167,23 @@ public class TestAnalysisOtawaExtension {
executeWithContext(AADL_TO_FLOWFATCS_WORKFLOW, props);
}
@Test
public void testFlowFactsProductionNestedLoops()
throws WorkflowExecutionException, IOException {
final Map<String, String> props = new HashMap<String, String>();
final String INPUT_FILE_NAME = "test_flowfacts_nestedloops";
props.put(OUTPUT_DIR_KEY, PLUGIN_SCHEME+PROJECT_NAME+File.separator+MODEL_DIR+File.separator+OUTPUT_DIR);
props.put(SYSTEM_IMPLEMENTATION_NAME_KEY, "root.impl");
props.put(SOURCE_AADL_FILE_KEY, PLUGIN_SCHEME+PROJECT_NAME+File.separator+MODEL_DIR+File.separator+INPUT_DIR+File.separator+INPUT_FILE_NAME+".aadl");
props.put(SOURCE_FILE_NAME_KEY, INPUT_FILE_NAME);
props.put(INSTANCE_MODEL_FILE, PLUGIN_SCHEME+PROJECT_NAME+File.separator+MODEL_DIR+File.separator+INPUT_DIR+File.separator+"test_flowfacts_nestedloops.aaxl2"); // TODO QUESTION
executeWithContext(AADL_TO_FLOWFATCS_NESTEDLOOPS_WORKFLOW, props);
}
}
<?xml version="1.0" encoding="UTF-8"?>
<workflow:Workflow xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:workflow="http://mdelab/workflow/1.0" xmlns:workflow.components="http://mdelab/workflow/components/1.0" xmlns:workflowanalysisotawa="https://mem4csd.telecom-paris.fr/analysis/workflowanalysisotawa" xmlns:workflowosate="https://mem4csd.telecom-paristech.fr/utilities/workflow/workflowosate" xmi:id="_dXWJgLImEeqBrOJiHe_Vxw" name="workflow">
<components xsi:type="workflow.components:WorkflowDelegation" xmi:id="_8hHDkLI2EeqBrOJiHe_Vxw" name="workflowDelegation" workflowURI="${scheme}${otawa_analysis_plugin}workflows/load_otawa_aadl_contributions.workflow"/>
<components xsi:type="workflow.components:ModelReader" xmi:id="_KBQCELInEeqBrOJiHe_Vxw" name="modelReader" modelSlot="otawaAadlSrcModel" modelURI="${source_aadl_file}"/>
<components xsi:type="workflowosate:AadlInstanceModelCreator" xmi:id="_vypd0LI_Eeq9c-LlaAt5RA" name="aadlInstanceModelCreator" systemImplementationName="${system_implementation_name}" packageModelSlot="otawaAadlSrcModel" systemInstanceModelSlot="srcInstanceModel"/>
<components xsi:type="workflowanalysisotawa:AadlToOtawaFlowFactsNestedLoops" xmi:id="_b--6wDMPEeu8xKDE-4HTLA" name="aadlToOtawaFlowFactsNestedLoops" srcInstanceModelSlot="srcInstanceModel" outputFlowFactsFile="${output_dir}/${source_file_name}.ff"/>
<properties xmi:id="_h_1-oLImEeqBrOJiHe_Vxw" name="source_aadl_file">
<type href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</properties>
<properties xmi:id="_6OgiELImEeqBrOJiHe_Vxw" name="system_implementation_name">
<type href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</properties>
<properties xmi:id="_9t6BILImEeqBrOJiHe_Vxw" name="output_dir">
<type href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</properties>
<propertiesFiles xmi:id="_f6W40LImEeqBrOJiHe_Vxw" fileURI="default_otawa.properties"/>
<allProperties xmi:id="_MM9VkCJ-EeuPnaloO7bJPA" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_MM9VkSJ-EeuPnaloO7bJPA" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_MM9VkiJ-EeuPnaloO7bJPA" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_MM9VkyJ-EeuPnaloO7bJPA" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_MM9VlCJ-EeuPnaloO7bJPA" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_uwroUCJ-EeuzMZGYSDk5aQ" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_uwtdgCJ-EeuzMZGYSDk5aQ" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_uwtdgSJ-EeuzMZGYSDk5aQ" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_uwtdgiJ-EeuzMZGYSDk5aQ" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_uwtdgyJ-EeuzMZGYSDk5aQ" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_wXgcMCJ-EeuzMZGYSDk5aQ" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_wXgcMSJ-EeuzMZGYSDk5aQ" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_wXgcMiJ-EeuzMZGYSDk5aQ" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_wXgcMyJ-EeuzMZGYSDk5aQ" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_wXgcNCJ-EeuzMZGYSDk5aQ" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_sxtDQCK3EeuSuN4MmcpC5A" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_sxtDQSK3EeuSuN4MmcpC5A" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_sxtDQiK3EeuSuN4MmcpC5A" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_sxtDQyK3EeuSuN4MmcpC5A" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_sxtDRCK3EeuSuN4MmcpC5A" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_ttpuICK3EeuSuN4MmcpC5A" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_ttpuISK3EeuSuN4MmcpC5A" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_ttpuIiK3EeuSuN4MmcpC5A" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_ttpuIyK3EeuSuN4MmcpC5A" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_ttpuJCK3EeuSuN4MmcpC5A" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_2H0eECK3EeuSuN4MmcpC5A" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_2H0eESK3EeuSuN4MmcpC5A" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_2H0eEiK3EeuSuN4MmcpC5A" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_2H0eEyK3EeuSuN4MmcpC5A" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_2H0eFCK3EeuSuN4MmcpC5A" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_2H1FICK3EeuSuN4MmcpC5A" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_2H1FISK3EeuSuN4MmcpC5A" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_2H1FIiK3EeuSuN4MmcpC5A" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_2H1FIyK3EeuSuN4MmcpC5A" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_2H1FJCK3EeuSuN4MmcpC5A" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_2IQi8CK3EeuSuN4MmcpC5A" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_2IQi8SK3EeuSuN4MmcpC5A" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_2IQi8iK3EeuSuN4MmcpC5A" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_2IQi8yK3EeuSuN4MmcpC5A" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_2IQi9CK3EeuSuN4MmcpC5A" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_ZegiEDMPEeu8xKDE-4HTLA" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_ZelakDMPEeu8xKDE-4HTLA" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_ZelakTMPEeu8xKDE-4HTLA" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_ZelakjMPEeu8xKDE-4HTLA" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_ZelakzMPEeu8xKDE-4HTLA" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_ZemBoDMPEeu8xKDE-4HTLA" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_ZemBoTMPEeu8xKDE-4HTLA" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_ZemBojMPEeu8xKDE-4HTLA" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_ZemosDMPEeu8xKDE-4HTLA" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_ZemosTMPEeu8xKDE-4HTLA" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_ZfW2oDMPEeu8xKDE-4HTLA" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_ZfW2oTMPEeu8xKDE-4HTLA" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_ZfW2ojMPEeu8xKDE-4HTLA" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_ZfW2ozMPEeu8xKDE-4HTLA" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_ZfW2pDMPEeu8xKDE-4HTLA" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
<allProperties xmi:id="_cAKmgDMPEeu8xKDE-4HTLA" name="scheme" defaultValue="platform:/plugin/"/>
<allProperties xmi:id="_cAKmgTMPEeu8xKDE-4HTLA" name="predeclared_property_sets_plugin" defaultValue="org.osate.aadl2.contrib/"/>
<allProperties xmi:id="_cAKmgjMPEeu8xKDE-4HTLA" name="execution_time_bounds_file_name" defaultValue="simplified_exec_time"/>
<allProperties xmi:id="_cAKmgzMPEeu8xKDE-4HTLA" name="sei_predeclared_property_sets_plugin" defaultValue="org.osate.contribution.sei/"/>
<allProperties xmi:id="_cAKmhDMPEeu8xKDE-4HTLA" name="otawa_analysis_plugin" defaultValue="fr.mem4csd.analysis.otawa/"/>
</workflow:Workflow>
......@@ -19,4 +19,10 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="outputFlowFactsFile" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AadlToOtawaFlowFactsNestedLoops" eSuperTypes="platform:/plugin/de.mdelab.workflow/model/components.ecore#//WorkflowComponent">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="srcInstanceModelSlot" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="outputFlowFactsFile" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>
......@@ -18,5 +18,9 @@
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflowanalysisotawa.ecore#//AadlToOtawaFlowFacts/srcInstanceModelSlot"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflowanalysisotawa.ecore#//AadlToOtawaFlowFacts/outputFlowFactsFile"/>
</genClasses>
<genClasses ecoreClass="workflowanalysisotawa.ecore#//AadlToOtawaFlowFactsNestedLoops">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflowanalysisotawa.ecore#//AadlToOtawaFlowFactsNestedLoops/srcInstanceModelSlot"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute workflowanalysisotawa.ecore#//AadlToOtawaFlowFactsNestedLoops/outputFlowFactsFile"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
/**
*/
package fr.mem4csd.analysis.workflowanalysisotawa;
import de.mdelab.workflow.components.WorkflowComponent;
/**
* <!-- begin-user-doc -->