Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mbe-tools
utilities
Commits
03ae2740
Commit
03ae2740
authored
Nov 30, 2020
by
razvan
Browse files
test for nested loops added
parent
28ca54c6
Changes
28
Hide whitespace changes
Inline
Side-by-side
analysis/fr.mem4csd.analysis.otawa.edit/.classpath
View file @
03ae2740
<?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>
analysis/fr.mem4csd.analysis.otawa.edit/icons/full/ctool16/CreateLogicBlock_components_AadlToOtawaFlowFactsNestedLoops.gif
0 → 100644
View file @
03ae2740
223 Bytes
analysis/fr.mem4csd.analysis.otawa.edit/icons/full/ctool16/CreateModelContainer_models_AadlToOtawaFlowFactsNestedLoops.gif
0 → 100644
View file @
03ae2740
223 Bytes
analysis/fr.mem4csd.analysis.otawa.edit/icons/full/ctool16/CreateWorkflow_components_AadlToOtawaFlowFactsNestedLoops.gif
0 → 100644
View file @
03ae2740
223 Bytes
analysis/fr.mem4csd.analysis.otawa.edit/icons/full/obj16/AadlToOtawaFlowFactsNestedLoops.gif
0 → 100644
View file @
03ae2740
129 Bytes
analysis/fr.mem4csd.analysis.otawa.edit/plugin.properties
View file @
03ae2740
...
...
@@ -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
analysis/fr.mem4csd.analysis.otawa.edit/src/fr/mem4csd/analysis/workflowanalysisotawa/provider/AadlToOtawaFlowFactsNestedLoopsItemProvider.java
0 → 100644
View file @
03ae2740
/**
*/
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
();
}
}
analysis/fr.mem4csd.analysis.otawa.edit/src/fr/mem4csd/analysis/workflowanalysisotawa/provider/WorkflowanalysisotawaItemProviderAdapterFactory.java
View file @
03ae2740
...
...
@@ -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
;
}
...
...
analysis/fr.mem4csd.analysis.otawa.tests.sources/model/input/binary_nestedloops.elf
0 → 100755
View file @
03ae2740
File added
analysis/fr.mem4csd.analysis.otawa.tests.sources/model/input/code_nestedloops.c
0 → 100644
View file @
03ae2740
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
;
}
analysis/fr.mem4csd.analysis.otawa.tests.sources/model/input/flow
_
facts_init.ff
→
analysis/fr.mem4csd.analysis.otawa.tests.sources/model/input/flowfacts_init.ff
View file @
03ae2740
File moved
analysis/fr.mem4csd.analysis.otawa.tests.sources/model/input/flowfacts_nesteedloops_init.ff
0 → 100644
View file @
03ae2740
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 ()
analysis/fr.mem4csd.analysis.otawa.tests.sources/model/input/test_flowfacts_nestedloops.aadl
0 → 100644
View file @
03ae2740
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
;
analysis/fr.mem4csd.analysis.otawa.tests/META-INF/MANIFEST.MF
View file @
03ae2740
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
analysis/fr.mem4csd.analysis.otawa.tests/src/fr/mem4csd/analysis/otawa/tests/TestAnalysisOtawaExtension.java
View file @
03ae2740
...
...
@@ -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
);
}
}
analysis/fr.mem4csd.analysis.otawa/OTAWA/workflows/flowfacts_production_nestedloops.workflow
0 → 100644
View file @
03ae2740
<?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>
analysis/fr.mem4csd.analysis.otawa/model/workflow/workflowanalysisotawa.ecore
View file @
03ae2740
...
...
@@ -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>
analysis/fr.mem4csd.analysis.otawa/model/workflow/workflowanalysisotawa.genmodel
View file @
03ae2740
...
...
@@ -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>
analysis/fr.mem4csd.analysis.otawa/src/fr/mem4csd/analysis/workflowanalysisotawa/AadlToOtawaFlowFactsNestedLoops.java
0 → 100644
View file @
03ae2740
/**
*/
package
fr.mem4csd.analysis.workflowanalysisotawa
;
import
de.mdelab.workflow.components.WorkflowComponent
;
/**
* <!-- begin-user-doc -->