Merge pull request #41 from Echtzeitsysteme/feature/adapt-sdr-runner-xmi-fiiles-2

SDR: JSON-based runner now uses locally available XMI files for HiPE, IBeX GT, and GIPS (with HiPEPathOptions instead of ENVs)
This commit is contained in:
Maximilian Kratz 2024-07-26 16:09:31 +02:00 committed by GitHub
commit 51b0c962ca
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 146 additions and 473 deletions

4
.gitignore vendored
View file

@ -20,3 +20,7 @@ org.emoflon.gips.gipsl.examples.mdvne/resources/example-models/model-out.xmi
classdiagramtgg3/instances/Example_small_solved.xmi
refactoringsoftwaresystemtgg3/instances/TestSystem1_solved.xmi
org.emoflon.gips.gipsl.examples.sdr.extended/org/
org.emoflon.gips.gipsl.examples.sdr.extended/test-output.json

View file

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<sdrmodel:Root xmlns:sdrmodel="platform:/resource/org.emoflon.gips.gipsl.examples.sdrmodel/model/Sdrmodel.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<cpus name="CPU" threadsPerCore="2" numOfThreads="8" inverseThreadCount="0.125" guests="//@jobs.0">
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#0_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.0/@threads.1" flowGuests="//@jobs.0/@flows.12" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.1" flowGuests="//@jobs.0/@flows.19" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.0/@threads.1" flowGuests="//@jobs.0/@flows.15" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.1/@threads.1" flowGuests="//@jobs.0/@flows.20" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.1/@threads.1" flowGuests="//@jobs.0/@flows.17" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.2/@threads.1" flowGuests="//@jobs.0/@flows.8" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.1" flowGuests="//@jobs.0/@flows.13" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.2/@threads.1" flowGuests="//@jobs.0/@flows.5" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.3/@threads.0" target="//@cpus.0/@cores.3/@threads.1" flowGuests="//@jobs.0/@flows.3 //@jobs.0/@flows.0 //@jobs.0/@flows.4" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.1" flowGuests="//@jobs.0/@flows.7" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#3_thread#0" target="//@cpus.0/@cores.3/@threads.0" source="//@cpus.0/@cores.3/@threads.1" flowGuests="//@jobs.0/@flows.2 //@jobs.0/@flows.1" />
<cores name="CPU_core#0" numOfThreads="0">
<threads core="//@cpus.0/@cores.0" name="CPU_core#0_thread#0" allocatedComplexity="23.0" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.12 //@jobs.0/@blocks.16 //@jobs.0/@blocks.14" flowGuests="//@jobs.0/@flows.11" />
<threads core="//@cpus.0/@cores.0" name="CPU_core#0_thread#1" allocatedComplexity="23.000000000000004" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.17 //@jobs.0/@blocks.13 //@jobs.0/@blocks.15" flowGuests="//@jobs.0/@flows.16 //@jobs.0/@flows.14" />
</cores>
<cores name="CPU_core#1" numOfThreads="0">
<threads core="//@cpus.0/@cores.1" name="CPU_core#1_thread#0" allocatedComplexity="23.0" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.19 //@jobs.0/@blocks.21 //@jobs.0/@blocks.20" flowGuests="//@jobs.0/@flows.18 //@jobs.0/@flows.22" />
<threads core="//@cpus.0/@cores.1" name="CPU_core#1_thread#1" allocatedComplexity="23.0" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.23 //@jobs.0/@blocks.18 //@jobs.0/@blocks.22" flowGuests="//@jobs.0/@flows.21" />
</cores>
<cores name="CPU_core#2" numOfThreads="0">
<threads core="//@cpus.0/@cores.2" name="CPU_core#2_thread#0" allocatedComplexity="22.999999999999993" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.9 //@jobs.0/@blocks.7 //@jobs.0/@blocks.8" flowGuests="//@jobs.0/@flows.6 //@jobs.0/@flows.10" />
<threads core="//@cpus.0/@cores.2" name="CPU_core#2_thread#1" allocatedComplexity="23.000000000000014" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.11 //@jobs.0/@blocks.10 //@jobs.0/@blocks.6" flowGuests="//@jobs.0/@flows.9" />
</cores>
<cores name="CPU_core#3" numOfThreads="0">
<threads core="//@cpus.0/@cores.3" name="CPU_core#3_thread#0" allocatedComplexity="23.0" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.1 //@jobs.0/@blocks.0 //@jobs.0/@blocks.5" />
<threads core="//@cpus.0/@cores.3" name="CPU_core#3_thread#1" allocatedComplexity="23.0" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.4 //@jobs.0/@blocks.3 //@jobs.0/@blocks.2" />
</cores>
</cpus>
<jobs hosts="//@cpus.0" name="Job(M,kFc,N)" inputRate="1.0">
<blocks host="//@cpus.0/@cores.3/@threads.0" name="M(2,00)#0" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.0" />
<blocks host="//@cpus.0/@cores.3/@threads.0" name="kN(0,50)#111" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.1" outputs="//@jobs.0/@flows.4" />
<blocks host="//@cpus.0/@cores.3/@threads.1" name="fC(10,00)#2" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.0" outputs="//@jobs.0/@flows.1" />
<blocks host="//@cpus.0/@cores.3/@threads.1" name="M(2,00)#3" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.2" inputs="//@jobs.0/@flows.4" />
<blocks host="//@cpus.0/@cores.3/@threads.1" name="kN(0,50)#411" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.3" outputs="//@jobs.0/@flows.7" />
<blocks host="//@cpus.0/@cores.3/@threads.0" name="fC(10,00)#5" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.2" outputs="//@jobs.0/@flows.3" />
<blocks host="//@cpus.0/@cores.2/@threads.1" name="M(2,00)#6" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.5" inputs="//@jobs.0/@flows.7" />
<blocks host="//@cpus.0/@cores.2/@threads.0" name="kN(0,50)#711" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.6" outputs="//@jobs.0/@flows.10" />
<blocks host="//@cpus.0/@cores.2/@threads.0" name="fC(10,00)#8" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.5" outputs="//@jobs.0/@flows.6" />
<blocks host="//@cpus.0/@cores.2/@threads.0" name="M(2,00)#9" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.8" inputs="//@jobs.0/@flows.10" />
<blocks host="//@cpus.0/@cores.2/@threads.1" name="kN(0,50)#1011" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.9" outputs="//@jobs.0/@flows.13" />
<blocks host="//@cpus.0/@cores.2/@threads.1" name="fC(10,00)#11" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.8" outputs="//@jobs.0/@flows.9" />
<blocks host="//@cpus.0/@cores.0/@threads.0" name="M(2,00)#12" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.11" inputs="//@jobs.0/@flows.13" />
<blocks host="//@cpus.0/@cores.0/@threads.1" name="kN(0,50)#1311" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.12" outputs="//@jobs.0/@flows.16" />
<blocks host="//@cpus.0/@cores.0/@threads.0" name="fC(10,00)#14" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.11" outputs="//@jobs.0/@flows.12" />
<blocks host="//@cpus.0/@cores.0/@threads.1" name="M(2,00)#15" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.14" inputs="//@jobs.0/@flows.16" />
<blocks host="//@cpus.0/@cores.0/@threads.0" name="kN(0,50)#1611" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.15" outputs="//@jobs.0/@flows.19" />
<blocks host="//@cpus.0/@cores.0/@threads.1" name="fC(10,00)#17" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.14" outputs="//@jobs.0/@flows.15" />
<blocks host="//@cpus.0/@cores.1/@threads.1" name="M(2,00)#18" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.17" inputs="//@jobs.0/@flows.19" />
<blocks host="//@cpus.0/@cores.1/@threads.0" name="kN(0,50)#1911" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.18" outputs="//@jobs.0/@flows.22" />
<blocks host="//@cpus.0/@cores.1/@threads.0" name="fC(10,00)#20" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.17" outputs="//@jobs.0/@flows.18" />
<blocks host="//@cpus.0/@cores.1/@threads.0" name="M(2,00)#21" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.20" inputs="//@jobs.0/@flows.22" />
<blocks host="//@cpus.0/@cores.1/@threads.1" name="kN(0,50)#2211" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.21" />
<blocks host="//@cpus.0/@cores.1/@threads.1" name="fC(10,00)#23" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.20" outputs="//@jobs.0/@flows.21" />
<flows host="//@cpus.0/@intercoms.48" source="//@jobs.0/@blocks.0" target="//@jobs.0/@blocks.2" rate="2.0" />
<flows host="//@cpus.0/@intercoms.55" source="//@jobs.0/@blocks.2" target="//@jobs.0/@blocks.1" rate="2.0" />
<flows host="//@cpus.0/@intercoms.55" source="//@jobs.0/@blocks.3" target="//@jobs.0/@blocks.5" rate="2.0" />
<flows host="//@cpus.0/@intercoms.48" source="//@jobs.0/@blocks.5" target="//@jobs.0/@blocks.4" rate="2.0" />
<flows host="//@cpus.0/@intercoms.48" source="//@jobs.0/@blocks.1" target="//@jobs.0/@blocks.3" rate="1.0" />
<flows host="//@cpus.0/@intercoms.39" source="//@jobs.0/@blocks.6" target="//@jobs.0/@blocks.8" rate="2.0" />
<flows host="//@cpus.0/@cores.2/@threads.0" source="//@jobs.0/@blocks.8" target="//@jobs.0/@blocks.7" rate="2.0" />
<flows host="//@cpus.0/@intercoms.54" source="//@jobs.0/@blocks.4" target="//@jobs.0/@blocks.6" rate="1.0" />
<flows host="//@cpus.0/@intercoms.32" source="//@jobs.0/@blocks.9" target="//@jobs.0/@blocks.11" rate="2.0" />
<flows host="//@cpus.0/@cores.2/@threads.1" source="//@jobs.0/@blocks.11" target="//@jobs.0/@blocks.10" rate="2.0" />
<flows host="//@cpus.0/@cores.2/@threads.0" source="//@jobs.0/@blocks.7" target="//@jobs.0/@blocks.9" rate="1.0" />
<flows host="//@cpus.0/@cores.0/@threads.0" source="//@jobs.0/@blocks.12" target="//@jobs.0/@blocks.14" rate="2.0" />
<flows host="//@cpus.0/@intercoms.0" source="//@jobs.0/@blocks.14" target="//@jobs.0/@blocks.13" rate="2.0" />
<flows host="//@cpus.0/@intercoms.35" source="//@jobs.0/@blocks.10" target="//@jobs.0/@blocks.12" rate="1.0" />
<flows host="//@cpus.0/@cores.0/@threads.1" source="//@jobs.0/@blocks.15" target="//@jobs.0/@blocks.17" rate="2.0" />
<flows host="//@cpus.0/@intercoms.7" source="//@jobs.0/@blocks.17" target="//@jobs.0/@blocks.16" rate="2.0" />
<flows host="//@cpus.0/@cores.0/@threads.1" source="//@jobs.0/@blocks.13" target="//@jobs.0/@blocks.15" rate="1.0" />
<flows host="//@cpus.0/@intercoms.23" source="//@jobs.0/@blocks.18" target="//@jobs.0/@blocks.20" rate="2.0" />
<flows host="//@cpus.0/@cores.1/@threads.0" source="//@jobs.0/@blocks.20" target="//@jobs.0/@blocks.19" rate="2.0" />
<flows host="//@cpus.0/@intercoms.2" source="//@jobs.0/@blocks.16" target="//@jobs.0/@blocks.18" rate="1.0" />
<flows host="//@cpus.0/@intercoms.16" source="//@jobs.0/@blocks.21" target="//@jobs.0/@blocks.23" rate="2.0" />
<flows host="//@cpus.0/@cores.1/@threads.1" source="//@jobs.0/@blocks.23" target="//@jobs.0/@blocks.22" rate="2.0" />
<flows host="//@cpus.0/@cores.1/@threads.0" source="//@jobs.0/@blocks.19" target="//@jobs.0/@blocks.21" rate="1.0" />
</jobs>
</sdrmodel:Root>

View file

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<sdrmodel:Root xmlns:sdrmodel="platform:/resource/org.emoflon.gips.gipsl.examples.sdrmodel/model/Sdrmodel.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<cpus name="cpu0" threadsPerCore="2" numOfThreads="2" inverseThreadCount="0.5" guests="//@jobs.0">
<intercoms name="intercom0to1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.0/@threads.1" />
<intercoms name="intercom1to0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.0/@threads.1" flowGuests="//@jobs.0/@flows.1" />
<cores name="core0" numOfThreads="0">
<threads core="//@cpus.0/@cores.0" name="thread0" allocatedCycles="2" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.2 //@jobs.0/@blocks.3" flowGuests="//@jobs.0/@flows.2" />
<threads core="//@cpus.0/@cores.0" name="thread1" allocatedCycles="2" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.1 //@jobs.0/@blocks.0" flowGuests="//@jobs.0/@flows.0" />
</cores>
</cpus>
<jobs hosts="//@cpus.0" name="job0">
<blocks host="//@cpus.0/@cores.0/@threads.1" name="block0" cycles="1" outputs="//@jobs.0/@flows.0" />
<blocks host="//@cpus.0/@cores.0/@threads.1" name="block1" cycles="1" inputs="//@jobs.0/@flows.0" outputs="//@jobs.0/@flows.1" />
<blocks host="//@cpus.0/@cores.0/@threads.0" name="block2" cycles="1" inputs="//@jobs.0/@flows.1" outputs="//@jobs.0/@flows.2" />
<blocks host="//@cpus.0/@cores.0/@threads.0" name="block3" cycles="1" inputs="//@jobs.0/@flows.2" />
<flows host="//@cpus.0/@cores.0/@threads.1" source="//@jobs.0/@blocks.0" target="//@jobs.0/@blocks.1" name="flow0to1" rate="1" />
<flows host="//@cpus.0/@intercoms.1" source="//@jobs.0/@blocks.1" target="//@jobs.0/@blocks.2" name="flow1to2" rate="1" />
<flows host="//@cpus.0/@cores.0/@threads.0" source="//@jobs.0/@blocks.2" target="//@jobs.0/@blocks.3" name="flow2to3" rate="1" />
</jobs>
</sdrmodel:Root>

View file

@ -1,94 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<sdrmodel:Root xmlns:sdrmodel="platform:/resource/org.emoflon.gips.gipsl.examples.sdrmodel/model/Sdrmodel.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<cpus name="CPU" threadsPerCore="2" numOfThreads="8" inverseThreadCount="0.125" guests="//@jobs.0">
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#0_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.0/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.1" flowGuests="//@jobs.0/@flows.6" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.0/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.1" flowGuests="//@jobs.0/@flows.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.1" flowGuests="//@jobs.0/@flows.2" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.0" flowGuests="//@jobs.0/@flows.5" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.1" flowGuests="//@jobs.0/@flows.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.3/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.1" flowGuests="//@jobs.0/@flows.4" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#3_thread#0" target="//@cpus.0/@cores.3/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<cores name="CPU_core#0" numOfThreads="0">
<threads core="//@cpus.0/@cores.0" name="CPU_core#0_thread#0" allocatedCycles="62" diff="18.375" absDiff="18.374999999992" guests="//@jobs.0/@blocks.6" />
<threads core="//@cpus.0/@cores.0" name="CPU_core#0_thread#1" allocatedCycles="3" diff="-40.625" absDiff="40.6249999999988" guests="//@jobs.0/@blocks.0" />
</cores>
<cores name="CPU_core#1" numOfThreads="0">
<threads core="//@cpus.0/@cores.1" name="CPU_core#1_thread#0" allocatedCycles="74" diff="30.375" absDiff="30.375" guests="//@jobs.0/@blocks.2" />
<threads core="//@cpus.0/@cores.1" name="CPU_core#1_thread#1" allocatedCycles="93" diff="49.375" absDiff="49.375" guests="//@jobs.0/@blocks.7" />
</cores>
<cores name="CPU_core#2" numOfThreads="0">
<threads core="//@cpus.0/@cores.2" name="CPU_core#2_thread#0" allocatedCycles="8" diff="-35.625" absDiff="35.6249999999984" guests="//@jobs.0/@blocks.5" />
<threads core="//@cpus.0/@cores.2" name="CPU_core#2_thread#1" allocatedCycles="69" diff="25.375" absDiff="25.375" guests="//@jobs.0/@blocks.1" />
</cores>
<cores name="CPU_core#3" numOfThreads="0">
<threads core="//@cpus.0/@cores.3" name="CPU_core#3_thread#0" allocatedCycles="0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.3" name="CPU_core#3_thread#1" allocatedCycles="40" diff="-3.625" absDiff="3.624999999998634" guests="//@jobs.0/@blocks.3 //@jobs.0/@blocks.4" flowGuests="//@jobs.0/@flows.3" />
</cores>
</cpus>
<jobs hosts="//@cpus.0" name="Job">
<blocks host="//@cpus.0/@cores.0/@threads.1" name="Job_Block#0" cycles="3" outputs="//@jobs.0/@flows.0" />
<blocks host="//@cpus.0/@cores.2/@threads.1" name="Job_Block#1" cycles="69" inputs="//@jobs.0/@flows.0" outputs="//@jobs.0/@flows.1" />
<blocks host="//@cpus.0/@cores.1/@threads.0" name="Job_Block#2" cycles="74" inputs="//@jobs.0/@flows.1" outputs="//@jobs.0/@flows.2" />
<blocks host="//@cpus.0/@cores.3/@threads.1" name="Job_Block#3" cycles="20" inputs="//@jobs.0/@flows.2" outputs="//@jobs.0/@flows.3" />
<blocks host="//@cpus.0/@cores.3/@threads.1" name="Job_Block#4" cycles="20" inputs="//@jobs.0/@flows.3" outputs="//@jobs.0/@flows.4" />
<blocks host="//@cpus.0/@cores.2/@threads.0" name="Job_Block#5" cycles="8" inputs="//@jobs.0/@flows.4" outputs="//@jobs.0/@flows.5" />
<blocks host="//@cpus.0/@cores.0/@threads.0" name="Job_Block#6" cycles="62" inputs="//@jobs.0/@flows.5" outputs="//@jobs.0/@flows.6" />
<blocks host="//@cpus.0/@cores.1/@threads.1" name="Job_Block#7" cycles="93" inputs="//@jobs.0/@flows.6" />
<flows host="//@cpus.0/@intercoms.11" source="//@jobs.0/@blocks.0" target="//@jobs.0/@blocks.1" rate="10" />
<flows host="//@cpus.0/@intercoms.37" source="//@jobs.0/@blocks.1" target="//@jobs.0/@blocks.2" rate="20" />
<flows host="//@cpus.0/@intercoms.20" source="//@jobs.0/@blocks.2" target="//@jobs.0/@blocks.3" rate="6" />
<flows host="//@cpus.0/@cores.3/@threads.1" source="//@jobs.0/@blocks.3" target="//@jobs.0/@blocks.4" rate="31" />
<flows host="//@cpus.0/@intercoms.53" source="//@jobs.0/@blocks.4" target="//@jobs.0/@blocks.5" rate="28" />
<flows host="//@cpus.0/@intercoms.28" source="//@jobs.0/@blocks.5" target="//@jobs.0/@blocks.6" rate="34" />
<flows host="//@cpus.0/@intercoms.2" source="//@jobs.0/@blocks.6" target="//@jobs.0/@blocks.7" rate="19" />
</jobs>
</sdrmodel:Root>

View file

@ -1,94 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<sdrmodel:Root xmlns:sdrmodel="platform:/resource/org.emoflon.gips.gipsl.examples.sdrmodel/model/Sdrmodel.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<cpus name="CPU" threadsPerCore="2" numOfThreads="8" inverseThreadCount="0.125" guests="//@jobs.0">
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#0_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.0/@threads.1" flowGuests="//@jobs.0/@flows.2" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.0/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.1" flowGuests="//@jobs.0/@flows.3" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.1/@threads.1" flowGuests="//@jobs.0/@flows.6" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.0" flowGuests="//@jobs.0/@flows.5" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.2/@threads.1" flowGuests="//@jobs.0/@flows.4" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.0" flowGuests="//@jobs.0/@flows.1" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.3/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#3_thread#0" target="//@cpus.0/@cores.3/@threads.0" source="//@cpus.0/@cores.3/@threads.1" flowGuests="//@jobs.0/@flows.0" />
<cores name="CPU_core#0" numOfThreads="0">
<threads core="//@cpus.0/@cores.0" name="CPU_core#0_thread#0" allocatedCycles="50" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.2" />
<threads core="//@cpus.0/@cores.0" name="CPU_core#0_thread#1" allocatedCycles="50" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.3" />
</cores>
<cores name="CPU_core#1" numOfThreads="0">
<threads core="//@cpus.0/@cores.1" name="CPU_core#1_thread#0" allocatedCycles="50" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.6" />
<threads core="//@cpus.0/@cores.1" name="CPU_core#1_thread#1" allocatedCycles="50" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.7" />
</cores>
<cores name="CPU_core#2" numOfThreads="0">
<threads core="//@cpus.0/@cores.2" name="CPU_core#2_thread#0" allocatedCycles="50" diff="5.6843418860808015E-14" absDiff="0.0" guests="//@jobs.0/@blocks.5" />
<threads core="//@cpus.0/@cores.2" name="CPU_core#2_thread#1" allocatedCycles="50" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.4" />
</cores>
<cores name="CPU_core#3" numOfThreads="0">
<threads core="//@cpus.0/@cores.3" name="CPU_core#3_thread#0" allocatedCycles="50" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.1" />
<threads core="//@cpus.0/@cores.3" name="CPU_core#3_thread#1" allocatedCycles="50" diff="0.0" absDiff="0.0" guests="//@jobs.0/@blocks.0" />
</cores>
</cpus>
<jobs hosts="//@cpus.0" name="Job">
<blocks host="//@cpus.0/@cores.3/@threads.1" name="Job_Block#0" cycles="50" outputs="//@jobs.0/@flows.0" />
<blocks host="//@cpus.0/@cores.3/@threads.0" name="Job_Block#1" cycles="50" inputs="//@jobs.0/@flows.0" outputs="//@jobs.0/@flows.1" />
<blocks host="//@cpus.0/@cores.0/@threads.0" name="Job_Block#2" cycles="50" inputs="//@jobs.0/@flows.1" outputs="//@jobs.0/@flows.2" />
<blocks host="//@cpus.0/@cores.0/@threads.1" name="Job_Block#3" cycles="50" inputs="//@jobs.0/@flows.2" outputs="//@jobs.0/@flows.3" />
<blocks host="//@cpus.0/@cores.2/@threads.1" name="Job_Block#4" cycles="50" inputs="//@jobs.0/@flows.3" outputs="//@jobs.0/@flows.4" />
<blocks host="//@cpus.0/@cores.2/@threads.0" name="Job_Block#5" cycles="50" inputs="//@jobs.0/@flows.4" outputs="//@jobs.0/@flows.5" />
<blocks host="//@cpus.0/@cores.1/@threads.0" name="Job_Block#6" cycles="50" inputs="//@jobs.0/@flows.5" outputs="//@jobs.0/@flows.6" />
<blocks host="//@cpus.0/@cores.1/@threads.1" name="Job_Block#7" cycles="50" inputs="//@jobs.0/@flows.6" />
<flows host="//@cpus.0/@intercoms.55" source="//@jobs.0/@blocks.0" target="//@jobs.0/@blocks.1" rate="20" />
<flows host="//@cpus.0/@intercoms.42" source="//@jobs.0/@blocks.1" target="//@jobs.0/@blocks.2" rate="20" />
<flows host="//@cpus.0/@intercoms.0" source="//@jobs.0/@blocks.2" target="//@jobs.0/@blocks.3" rate="20" />
<flows host="//@cpus.0/@intercoms.11" source="//@jobs.0/@blocks.3" target="//@jobs.0/@blocks.4" rate="20" />
<flows host="//@cpus.0/@intercoms.39" source="//@jobs.0/@blocks.4" target="//@jobs.0/@blocks.5" rate="20" />
<flows host="//@cpus.0/@intercoms.30" source="//@jobs.0/@blocks.5" target="//@jobs.0/@blocks.6" rate="20" />
<flows host="//@cpus.0/@intercoms.16" source="//@jobs.0/@blocks.6" target="//@jobs.0/@blocks.7" rate="20" />
</jobs>
</sdrmodel:Root>

View file

@ -1,5 +1,5 @@
# Environment variables/config for the program
export GRB_LICENSE_FILE="/home/mkratz/gurobi.lic"
export GUROBI_HOME="/opt/gurobi1001/linux64/"
export LD_LIBRARY_PATH="/opt/gurobi1001/linux64/lib/"
PATH=$PATH:~/opt/gurobi1001/linux64/bin/
export GUROBI_HOME="/opt/gurobi1103/linux64/"
export LD_LIBRARY_PATH="/opt/gurobi1103/linux64/lib/"
PATH=$PATH:~/opt/gurobi1103/linux64/bin/

View file

@ -21,11 +21,6 @@ function gips_setup {
unzip -q -o $JAR "org/emoflon/gips/gipsl/examples/sdr/extended/hipe/engine/hipe-network.xmi"
unzip -q -o $JAR "org/emoflon/gips/gipsl/examples/sdr/extended/api/gips/gips-model.xmi"
unzip -q -o $JAR "org/emoflon/gips/gipsl/examples/sdr/extended/api/ibex-patterns.xmi"
mkdir -p ../org.emoflon.gips.gipsl.examples.sdr.extended/src-gen/
rsync -a ./org ./bin
rsync -a ./org ../org.emoflon.gips.gipsl.examples.sdr.extended/src-gen/
rm -r ./org
}
function run {
@ -34,12 +29,11 @@ function run {
}
function clean {
rm -r ./bin
rm -r ./instances
rm json-model.xmi
rm json-model-result.xmi
rm Gurobi_ILP.log
rm -r ../org.emoflon.gips.gipsl.examples.sdr.extended
rm -r ./org
}
# Set env vars

View file

@ -10,9 +10,12 @@ public class ExampleSdr {
public static void main(final String[] args) {
final ExtendedGipsAPI api = new ExtendedGipsAPI();
// api.init(URI.createFileURI("../org.emoflon.gips.gipsl.examples.sdrmodel/instances/CPU_4_8@B8_C1-00_R1-00_UNI.xmi"));
api.init(URI.createFileURI(
"../org.emoflon.gips.gipsl.examples.sdrmodel/instances/CPU_4_8@m2-00_kF1_fC10-00_N0-50_SimpleChain.xmi"));
"../org.emoflon.gips.gipsl.examples.sdr.extended/src-gen/org/emoflon/gips/gipsl/examples/sdr/extended/api/gips/gips-model.xmi"), //
URI.createFileURI(
"../org.emoflon.gips.gipsl.examples.sdrmodel/instances/CPU_4_8@m2.00_kF1_fC10.00_N0.50_SimpleChain.xmi"), //
URI.createFileURI(
"../org.emoflon.gips.gipsl.examples.sdr.extended/src-gen/org/emoflon/gips/gipsl/examples/sdr/extended/api/ibex-patterns.xmi"));
api.buildILPProblem(true);
final ILPSolverOutput output = api.solveILPProblem();

View file

@ -34,6 +34,7 @@ import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import hipe.engine.config.HiPEPathOptions;
import sdrmodel.Block;
import sdrmodel.Flow;
import sdrmodel.Job;
@ -106,9 +107,14 @@ public class JsonSdrRunner {
* @return Collection of all chosen solution mappings.
*/
private static Collection<SolutionMapping> runGips() {
HiPEPathOptions.setNetworkPath(URI.createFileURI("./org/emoflon/gips/gipsl/examples/sdr/extended/hipe/engine/hipe-network.xmi"));
HiPEPathOptions.setEngineClassName("org.emoflon.gips.gipsl.examples.sdr.extended.hipe.engine.HiPEEngine");
// Create the API
final ExtendedGipsAPI api = new ExtendedGipsAPI();
api.init(URI.createFileURI(JSON_MODEL_URI));
api.init(URI.createFileURI("./org/emoflon/gips/gipsl/examples/sdr/extended/api/gips/gips-model.xmi"), //
URI.createFileURI(JSON_MODEL_URI), //
URI.createFileURI("./org/emoflon/gips/gipsl/examples/sdr/extended/api/ibex-patterns.xmi"));
api.buildILPProblem(true);
final ILPSolverOutput output = api.solveILPProblem();

View file

@ -1,126 +1,126 @@
<?xml version="1.0" encoding="UTF-8"?>
<sdrmodel:Root xmlns:sdrmodel="platform:/resource/org.emoflon.gips.gipsl.examples.sdrmodel/model/Sdrmodel.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:version="2.0">
<cpus name="CPU" threadsPerCore="2" numOfThreads="8" inverseThreadCount="0.125">
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#0_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.0/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.0/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.3/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#3_thread#0" target="//@cpus.0/@cores.3/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<cores name="CPU_core#0" numOfThreads="0">
<threads core="//@cpus.0/@cores.0" name="CPU_core#0_thread#0" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.0" name="CPU_core#0_thread#1" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
</cores>
<cores name="CPU_core#1" numOfThreads="0">
<threads core="//@cpus.0/@cores.1" name="CPU_core#1_thread#0" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.1" name="CPU_core#1_thread#1" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
</cores>
<cores name="CPU_core#2" numOfThreads="0">
<threads core="//@cpus.0/@cores.2" name="CPU_core#2_thread#0" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.2" name="CPU_core#2_thread#1" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
</cores>
<cores name="CPU_core#3" numOfThreads="0">
<threads core="//@cpus.0/@cores.3" name="CPU_core#3_thread#0" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.3" name="CPU_core#3_thread#1" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
</cores>
</cpus>
<jobs name="Job(M,kFc,N)" inputRate="1.0">
<blocks name="M(2,00)#0" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.0" />
<blocks name="kN(0,50)#111" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.1" outputs="//@jobs.0/@flows.4" />
<blocks name="fC(10,00)#2" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.0" outputs="//@jobs.0/@flows.1" />
<blocks name="M(2,00)#3" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.2" inputs="//@jobs.0/@flows.4" />
<blocks name="kN(0,50)#411" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.3" outputs="//@jobs.0/@flows.7" />
<blocks name="fC(10,00)#5" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.2" outputs="//@jobs.0/@flows.3" />
<blocks name="M(2,00)#6" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.5" inputs="//@jobs.0/@flows.7" />
<blocks name="kN(0,50)#711" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.6" outputs="//@jobs.0/@flows.10" />
<blocks name="fC(10,00)#8" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.5" outputs="//@jobs.0/@flows.6" />
<blocks name="M(2,00)#9" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.8" inputs="//@jobs.0/@flows.10" />
<blocks name="kN(0,50)#1011" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.9" outputs="//@jobs.0/@flows.13" />
<blocks name="fC(10,00)#11" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.8" outputs="//@jobs.0/@flows.9" />
<blocks name="M(2,00)#12" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.11" inputs="//@jobs.0/@flows.13" />
<blocks name="kN(0,50)#1311" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.12" outputs="//@jobs.0/@flows.16" />
<blocks name="fC(10,00)#14" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.11" outputs="//@jobs.0/@flows.12" />
<blocks name="M(2,00)#15" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.14" inputs="//@jobs.0/@flows.16" />
<blocks name="kN(0,50)#1611" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.15" outputs="//@jobs.0/@flows.19" />
<blocks name="fC(10,00)#17" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.14" outputs="//@jobs.0/@flows.15" />
<blocks name="M(2,00)#18" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.17" inputs="//@jobs.0/@flows.19" />
<blocks name="kN(0,50)#1911" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.18" outputs="//@jobs.0/@flows.22" />
<blocks name="fC(10,00)#20" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.17" outputs="//@jobs.0/@flows.18" />
<blocks name="M(2,00)#21" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.20" inputs="//@jobs.0/@flows.22" />
<blocks name="kN(0,50)#2211" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.21" />
<blocks name="fC(10,00)#23" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.20" outputs="//@jobs.0/@flows.21" />
<flows source="//@jobs.0/@blocks.0" target="//@jobs.0/@blocks.2" rate="2.0" />
<flows source="//@jobs.0/@blocks.2" target="//@jobs.0/@blocks.1" rate="2.0" />
<flows source="//@jobs.0/@blocks.3" target="//@jobs.0/@blocks.5" rate="2.0" />
<flows source="//@jobs.0/@blocks.5" target="//@jobs.0/@blocks.4" rate="2.0" />
<flows source="//@jobs.0/@blocks.1" target="//@jobs.0/@blocks.3" rate="1.0" />
<flows source="//@jobs.0/@blocks.6" target="//@jobs.0/@blocks.8" rate="2.0" />
<flows source="//@jobs.0/@blocks.8" target="//@jobs.0/@blocks.7" rate="2.0" />
<flows source="//@jobs.0/@blocks.4" target="//@jobs.0/@blocks.6" rate="1.0" />
<flows source="//@jobs.0/@blocks.9" target="//@jobs.0/@blocks.11" rate="2.0" />
<flows source="//@jobs.0/@blocks.11" target="//@jobs.0/@blocks.10" rate="2.0" />
<flows source="//@jobs.0/@blocks.7" target="//@jobs.0/@blocks.9" rate="1.0" />
<flows source="//@jobs.0/@blocks.12" target="//@jobs.0/@blocks.14" rate="2.0" />
<flows source="//@jobs.0/@blocks.14" target="//@jobs.0/@blocks.13" rate="2.0" />
<flows source="//@jobs.0/@blocks.10" target="//@jobs.0/@blocks.12" rate="1.0" />
<flows source="//@jobs.0/@blocks.15" target="//@jobs.0/@blocks.17" rate="2.0" />
<flows source="//@jobs.0/@blocks.17" target="//@jobs.0/@blocks.16" rate="2.0" />
<flows source="//@jobs.0/@blocks.13" target="//@jobs.0/@blocks.15" rate="1.0" />
<flows source="//@jobs.0/@blocks.18" target="//@jobs.0/@blocks.20" rate="2.0" />
<flows source="//@jobs.0/@blocks.20" target="//@jobs.0/@blocks.19" rate="2.0" />
<flows source="//@jobs.0/@blocks.16" target="//@jobs.0/@blocks.18" rate="1.0" />
<flows source="//@jobs.0/@blocks.21" target="//@jobs.0/@blocks.23" rate="2.0" />
<flows source="//@jobs.0/@blocks.23" target="//@jobs.0/@blocks.22" rate="2.0" />
<flows source="//@jobs.0/@blocks.19" target="//@jobs.0/@blocks.21" rate="1.0" />
</jobs>
</sdrmodel:Root>
<?xml version="1.0" encoding="UTF-8"?>
<sdrmodel:Root xmlns:sdrmodel="platform:/resource/org.emoflon.gips.gipsl.examples.sdrmodel/model/Sdrmodel.ecore" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" interThreadCommunicationFactor="0.0" xmi:version="2.0">
<cpus name="CPU" threadsPerCore="2" numOfThreads="8" inverseThreadCount="0.125">
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#0_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.0/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.0/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#0_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.0/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#1_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.1/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#1_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.1/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#2_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.2/@threads.1" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#0" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#2_thread#1-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.2/@threads.1" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.0" />
<intercoms name="CPU_core#3_thread#0-(itc)-&gt;CPU_core#3_thread#1" source="//@cpus.0/@cores.3/@threads.0" target="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#0" target="//@cpus.0/@cores.0/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#0_thread#1" target="//@cpus.0/@cores.0/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#0" target="//@cpus.0/@cores.1/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#1_thread#1" target="//@cpus.0/@cores.1/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#0" target="//@cpus.0/@cores.2/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#2_thread#1" target="//@cpus.0/@cores.2/@threads.1" source="//@cpus.0/@cores.3/@threads.1" />
<intercoms name="CPU_core#3_thread#1-(itc)-&gt;CPU_core#3_thread#0" target="//@cpus.0/@cores.3/@threads.0" source="//@cpus.0/@cores.3/@threads.1" />
<cores name="CPU_core#0" numOfThreads="0">
<threads core="//@cpus.0/@cores.0" root="/" name="CPU_core#0_thread#0" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.0" root="/" name="CPU_core#0_thread#1" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
</cores>
<cores name="CPU_core#1" numOfThreads="0">
<threads core="//@cpus.0/@cores.1" root="/" name="CPU_core#1_thread#0" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.1" root="/" name="CPU_core#1_thread#1" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
</cores>
<cores name="CPU_core#2" numOfThreads="0">
<threads core="//@cpus.0/@cores.2" root="/" name="CPU_core#2_thread#0" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.2" root="/" name="CPU_core#2_thread#1" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
</cores>
<cores name="CPU_core#3" numOfThreads="0">
<threads core="//@cpus.0/@cores.3" root="/" name="CPU_core#3_thread#0" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
<threads core="//@cpus.0/@cores.3" root="/" name="CPU_core#3_thread#1" allocatedComplexity="0.0" diff="0.0" absDiff="0.0" />
</cores>
</cpus>
<jobs name="Job(M,kFc,N)" inputRate="1.0">
<blocks name="M(2.00)#0" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.0" />
<blocks name="kN(0.50)#111" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.1" outputs="//@jobs.0/@flows.4" />
<blocks name="fC(10.00)#2" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.0" outputs="//@jobs.0/@flows.1" />
<blocks name="M(2.00)#3" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.2" inputs="//@jobs.0/@flows.4" />
<blocks name="kN(0.50)#411" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.3" outputs="//@jobs.0/@flows.7" />
<blocks name="fC(10.00)#5" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.2" outputs="//@jobs.0/@flows.3" />
<blocks name="M(2.00)#6" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.5" inputs="//@jobs.0/@flows.7" />
<blocks name="kN(0.50)#711" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.6" outputs="//@jobs.0/@flows.10" />
<blocks name="fC(10.00)#8" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.5" outputs="//@jobs.0/@flows.6" />
<blocks name="M(2.00)#9" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.8" inputs="//@jobs.0/@flows.10" />
<blocks name="kN(0.50)#1011" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.9" outputs="//@jobs.0/@flows.13" />
<blocks name="fC(10.00)#11" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.8" outputs="//@jobs.0/@flows.9" />
<blocks name="M(2.00)#12" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.11" inputs="//@jobs.0/@flows.13" />
<blocks name="kN(0.50)#1311" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.12" outputs="//@jobs.0/@flows.16" />
<blocks name="fC(10.00)#14" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.11" outputs="//@jobs.0/@flows.12" />
<blocks name="M(2.00)#15" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.14" inputs="//@jobs.0/@flows.16" />
<blocks name="kN(0.50)#1611" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.15" outputs="//@jobs.0/@flows.19" />
<blocks name="fC(10.00)#17" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.14" outputs="//@jobs.0/@flows.15" />
<blocks name="M(2.00)#18" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.17" inputs="//@jobs.0/@flows.19" />
<blocks name="kN(0.50)#1911" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.18" outputs="//@jobs.0/@flows.22" />
<blocks name="fC(10.00)#20" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.17" outputs="//@jobs.0/@flows.18" />
<blocks name="M(2.00)#21" relativeComplexity="1.0" outputRateMultiplier="2.0" inputRate="1.0" outputRate="2.0" outputs="//@jobs.0/@flows.20" inputs="//@jobs.0/@flows.22" />
<blocks name="kN(0.50)#2211" relativeComplexity="1.0" outputRateMultiplier="0.5" inputRate="2.0" outputRate="1.0" inputs="//@jobs.0/@flows.21" />
<blocks name="fC(10.00)#23" relativeComplexity="10.0" outputRateMultiplier="1.0" inputRate="2.0" outputRate="2.0" inputs="//@jobs.0/@flows.20" outputs="//@jobs.0/@flows.21" />
<flows source="//@jobs.0/@blocks.0" target="//@jobs.0/@blocks.2" rate="2.0" />
<flows source="//@jobs.0/@blocks.2" target="//@jobs.0/@blocks.1" rate="2.0" />
<flows source="//@jobs.0/@blocks.3" target="//@jobs.0/@blocks.5" rate="2.0" />
<flows source="//@jobs.0/@blocks.5" target="//@jobs.0/@blocks.4" rate="2.0" />
<flows source="//@jobs.0/@blocks.1" target="//@jobs.0/@blocks.3" rate="1.0" />
<flows source="//@jobs.0/@blocks.6" target="//@jobs.0/@blocks.8" rate="2.0" />
<flows source="//@jobs.0/@blocks.8" target="//@jobs.0/@blocks.7" rate="2.0" />
<flows source="//@jobs.0/@blocks.4" target="//@jobs.0/@blocks.6" rate="1.0" />
<flows source="//@jobs.0/@blocks.9" target="//@jobs.0/@blocks.11" rate="2.0" />
<flows source="//@jobs.0/@blocks.11" target="//@jobs.0/@blocks.10" rate="2.0" />
<flows source="//@jobs.0/@blocks.7" target="//@jobs.0/@blocks.9" rate="1.0" />
<flows source="//@jobs.0/@blocks.12" target="//@jobs.0/@blocks.14" rate="2.0" />
<flows source="//@jobs.0/@blocks.14" target="//@jobs.0/@blocks.13" rate="2.0" />
<flows source="//@jobs.0/@blocks.10" target="//@jobs.0/@blocks.12" rate="1.0" />
<flows source="//@jobs.0/@blocks.15" target="//@jobs.0/@blocks.17" rate="2.0" />
<flows source="//@jobs.0/@blocks.17" target="//@jobs.0/@blocks.16" rate="2.0" />
<flows source="//@jobs.0/@blocks.13" target="//@jobs.0/@blocks.15" rate="1.0" />
<flows source="//@jobs.0/@blocks.18" target="//@jobs.0/@blocks.20" rate="2.0" />
<flows source="//@jobs.0/@blocks.20" target="//@jobs.0/@blocks.19" rate="2.0" />
<flows source="//@jobs.0/@blocks.16" target="//@jobs.0/@blocks.18" rate="1.0" />
<flows source="//@jobs.0/@blocks.21" target="//@jobs.0/@blocks.23" rate="2.0" />
<flows source="//@jobs.0/@blocks.23" target="//@jobs.0/@blocks.22" rate="2.0" />
<flows source="//@jobs.0/@blocks.19" target="//@jobs.0/@blocks.21" rate="1.0" />
</jobs>
</sdrmodel:Root>