diff --git a/ttool/src/test/java/tmltranslator/AutoSecurityGenerationDiplodocusTest.java b/ttool/src/test/java/tmltranslator/AutoSecurityGenerationDiplodocusTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..cba1f17fa5e3e2fc13e367983663787536cea9ac
--- /dev/null
+++ b/ttool/src/test/java/tmltranslator/AutoSecurityGenerationDiplodocusTest.java
@@ -0,0 +1,276 @@
+package tmltranslator;
+
+import common.ConfigurationTTool;
+import myutil.FileUtils;
+import myutil.TraceManager;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import test.AbstractTest;
+import tmltranslator.patternhandling.SecurityGenerationForTMAP;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.*;
+import org.json.*;
+
+import static org.junit.Assert.*;
+
+public class AutoSecurityGenerationDiplodocusTest extends AbstractTest {
+    private final static String DIR_GEN = "tmltranslator/AutoSecGenDiplodocusTest/GeneratedFiles/";
+    private final static String DIR_MODELS = "tmltranslator/AutoSecGenDiplodocusTest/Models/";
+    private final static String JSON_FILE_NAME = "features.json";
+    private final static String PATH_MODEL = "pathModel";
+    private final static String CHANNELS_LIST = "channels";
+    private final static String HSM_LIST = "HSM";
+    private final static String PATH_GOLDEN = "pathGolden";
+    private final static String IS_DIRECT_CONNECT_HSM = "DirectConnectHSMs";
+    private final static int ENCRYPTION_COMPUTATION = 100;
+    private final static int DECRYPTION_COMPUTATION = 100;
+    private final static int OVERHEAD = 100;
+
+    static String PROVERIF_DIR;
+    static String MODELS_DIR;
+
+    @BeforeClass
+    public static void setUpBeforeClass() throws Exception {
+        String baseResourcesDir = getBaseResourcesDir();
+
+        PROVERIF_DIR = baseResourcesDir + DIR_GEN;
+        MODELS_DIR = baseResourcesDir + DIR_MODELS;
+        RESOURCES_DIR = baseResourcesDir + DIR_MODELS;
+
+    }
+
+    public AutoSecurityGenerationDiplodocusTest() {
+        super();
+    }
+
+
+    @Before
+    public void setUp() throws Exception {
+        TraceManager.devPolicy = TraceManager.TO_CONSOLE;
+        ConfigurationTTool.ProVerifVerifierPath = "proverif";
+        ConfigurationTTool.ProVerifVerifierHost = "localhost";
+        TraceManager.addDev("Starting test for Security Generation");
+        Path path = Paths.get(PROVERIF_DIR);
+        if (!Files.exists(path)) {
+            Files.createDirectory(path);
+        }
+    }
+
+    @Test
+    public void testSecurityModels() throws Exception {
+        TraceManager.addDev("Starting function testSecurityModels");
+        File dir = new File(MODELS_DIR);
+        Collection<File> allFiles = FileUtils.listFiles(dir, null, true);
+        List<File> jsonFiles = new ArrayList<>();
+        for (Iterator iterator = allFiles.iterator(); iterator.hasNext();) {
+            File file = (File) iterator.next();
+            if (file.getName().equals(JSON_FILE_NAME)) {
+                jsonFiles.add(file);
+            }
+        }
+
+        for (File jsonFile : jsonFiles) {
+            String fileName = jsonFile.getAbsolutePath();
+            String tab = fileName.split("/")[fileName.split("/").length - 2];
+            TraceManager.addDev("\n\n********** Generating security for " + tab + " ********\n");
+            String jsonString = new String(Files.readAllBytes(Paths.get(fileName)));
+            JSONObject jo = new JSONObject(jsonString);
+            String pathModel = getBaseResourcesDir() + jo.getString(PATH_MODEL);
+            String pathDirJsonFile = fileName.substring(0, fileName.lastIndexOf("/") + 1);
+
+            TMLMappingTextSpecification tmts = new TMLMappingTextSpecification(tab);
+            File f = new File(pathModel);
+            TraceManager.addDev("Loading file: " + f.getAbsolutePath());
+            String spec = null;
+            try {
+                spec = FileUtils.loadFileData(f);
+            } catch (Exception e) {
+                TraceManager.addDev("Exception executing: loading " + tab);
+                fail();
+            }
+            String pathDirModel = pathModel.substring(0, pathModel.lastIndexOf("/") + 1);
+            TraceManager.addDev("Testing spec " + tab);
+            assertNotNull(spec);
+            TraceManager.addDev("Going to parse " + tab);
+            boolean parsed = tmts.makeTMLMapping(spec, pathDirModel);
+            assertTrue(parsed);
+
+            TraceManager.addDev("Checking syntax " + tab);
+            // Checking syntax
+            TMLMapping tmap = tmts.getTMLMapping();
+
+            TMLSyntaxChecking syntax = new TMLSyntaxChecking(tmap);
+            syntax.checkSyntax();
+
+            if (syntax.hasErrors() > 0) {
+                for (TMLError error: syntax.getErrors()) {
+                    TraceManager.addDev("Error: " + error.toString());
+                }
+            }
+
+            assertEquals(0, syntax.hasErrors());
+            TMLModeling<?> tml = tmap.getTMLModeling();
+            String tabName = tml.getTasks().get(0).getName().substring(0, tml.getTasks().get(0).getName().indexOf("__"));
+            JSONArray selectedChannels = jo.getJSONArray(CHANNELS_LIST);
+            for (int i = 0; i < selectedChannels.length(); i++) {
+                for (String channelName : selectedChannels.getJSONObject(i).keySet()) {
+                    JSONArray channelSecGoals = selectedChannels.getJSONObject(i).getJSONArray(channelName);
+                    boolean confGoal = channelSecGoals.getBoolean(0);
+                    boolean weakAuthGoal = channelSecGoals.getBoolean(1);
+                    boolean strongAuthGoal = channelSecGoals.getBoolean(2);
+                    TMLChannel ch = tmap.getChannelByName(tabName + "__" + channelName);
+                    if (ch != null) {
+                        ch.setSecurityGoalConf(confGoal);
+                        ch.checkConf = confGoal;
+                        ch.setSecurityGoalWeakAuth(weakAuthGoal);
+                        if (strongAuthGoal) {
+                            ch.setSecurityGoalWeakAuth(true);
+                            ch.setSecurityGoalStrongAuth(true);
+                        }
+
+                        if (weakAuthGoal || strongAuthGoal) {
+                            ch.checkAuth = true;
+                        }
+                    }
+                }
+            }
+
+            JSONArray selectedTasksHSMJA = jo.getJSONArray(HSM_LIST);
+            List<String> selectedTasksHSM = new ArrayList<>();
+
+            boolean isDirectConnectHSM = jo.getBoolean(IS_DIRECT_CONNECT_HSM);
+            for (int i = 0; i < selectedTasksHSMJA.length(); i++) {
+                selectedTasksHSM.add(selectedTasksHSMJA.getString(i));
+            }
+            ConfigurationTTool.ProVerifCodeDirectory = pathDirJsonFile;
+
+            SecurityGenerationForTMAP secgen = new SecurityGenerationForTMAP(tabName, tmap, Integer.toString(ENCRYPTION_COMPUTATION),
+                    Integer.toString(OVERHEAD), Integer.toString(DECRYPTION_COMPUTATION), selectedTasksHSM, isDirectConnectHSM);
+            tmap = secgen.startThread();
+
+            if (tmap != null) {
+                tmap = secgen.autoMapKeys();
+            }
+
+            tmap.NullifyAutomata();
+            TraceManager.addDev("Checking syntax of generated model " + tab);
+            // Checking syntax
+            TMLSyntaxChecking syntaxGenerated = new TMLSyntaxChecking(tmap);
+            syntaxGenerated.checkSyntax();
+
+            if (syntaxGenerated.hasErrors() > 0) {
+                for (TMLError error: syntaxGenerated.getErrors()) {
+                    TraceManager.addDev("Error: " + error.toString());
+                }
+            }
+            assertEquals(0, syntaxGenerated.hasErrors());
+
+            TMLMappingTextSpecification<Class<?>> specNew = new TMLMappingTextSpecification<Class<?>>(tab);
+            specNew.toTextFormat((TMLMapping<Class<?>>) tmap);
+
+            specNew.saveFile(pathDirJsonFile, "spec");
+
+            TraceManager.addDev("End creating model with Security generation for " + tab);
+
+            // Generate golden model spec
+            TraceManager.addDev("Generating golden model spec for " + tab);
+            String pathGolden = getBaseResourcesDir() + jo.getString(PATH_GOLDEN);
+            TMLMappingTextSpecification tmtsGolden = new TMLMappingTextSpecification(tab);
+
+            File fGolden = new File(pathGolden);
+            TraceManager.addDev("Loading file: " + fGolden.getAbsolutePath());
+            String specGolden = null;
+            try {
+                specGolden = FileUtils.loadFileData(fGolden);
+            } catch (Exception e) {
+                TraceManager.addDev("Exception executing: loading " + tab);
+                fail();
+            }
+            TraceManager.addDev("Testing spec " + tab);
+            assertNotNull(specGolden);
+            TraceManager.addDev("Going to parse golden Model" + tab);
+            String pathDirGolden = pathGolden.substring(0, pathGolden.lastIndexOf("/") + 1);
+            boolean parsedGoden = tmtsGolden.makeTMLMapping(specGolden, pathDirGolden);
+            assertTrue(parsedGoden);
+
+            TraceManager.addDev("Checking syntax of golden model " + tab);
+            // Checking syntax
+            TMLMapping tmapGolden = tmtsGolden.getTMLMapping();
+
+            TMLSyntaxChecking syntaxGolden = new TMLSyntaxChecking(tmapGolden);
+            syntaxGolden.checkSyntax();
+
+            if (syntaxGolden.hasErrors() > 0) {
+                for (TMLError error: syntaxGolden.getErrors()) {
+                    TraceManager.addDev("Error: " + error.toString());
+                }
+            }
+
+            assertEquals(0, syntaxGolden.hasErrors());
+            TraceManager.addDev("Comparing golden model with generated model " + tab);
+
+            for (Object obj : tmap.getTMLModeling().getTasks()) {
+                TMLTask task = (TMLTask) obj;
+                String[] taskNameSplit = task.getName().split("__");
+                task.setName(taskNameSplit[taskNameSplit.length - 1]);
+            }
+            for (Object obj : tmap.getTMLModeling().getChannels()) {
+                TMLChannel ch = (TMLChannel) obj;
+                String[] channelNameSplit = ch.getName().split("__");
+                ch.setName(channelNameSplit[channelNameSplit.length - 1]);
+            }
+            for (Object obj : tmap.getTMLModeling().getEvents()) {
+                TMLEvent evt = (TMLEvent) obj;
+                String[] eventNameSplit = evt.getName().split("__");
+                evt.setName(eventNameSplit[eventNameSplit.length - 1]);
+            }
+            for (Object obj : tmap.getTMLModeling().getRequests()) {
+                TMLRequest req = (TMLRequest) obj;
+                String[] requestNameSplit = req.getName().split("__");
+                req.setName(requestNameSplit[requestNameSplit.length - 1]);
+            }
+
+            for (Object obj : tmapGolden.getTMLModeling().getTasks()) {
+                TMLTask task = (TMLTask) obj;
+                String[] taskNameSplit = task.getName().split("__");
+                task.setName(taskNameSplit[taskNameSplit.length - 1]);
+            }
+            for (Object obj : tmapGolden.getTMLModeling().getChannels()) {
+                TMLChannel ch = (TMLChannel) obj;
+                String[] channelNameSplit = ch.getName().split("__");
+                ch.setName(channelNameSplit[channelNameSplit.length - 1]);
+            }
+            for (Object obj : tmapGolden.getTMLModeling().getEvents()) {
+                TMLEvent evt = (TMLEvent) obj;
+                String[] eventNameSplit = evt.getName().split("__");
+                evt.setName(eventNameSplit[eventNameSplit.length - 1]);
+            }
+            for (Object obj : tmapGolden.getTMLModeling().getRequests()) {
+                TMLRequest req = (TMLRequest) obj;
+                String[] requestNameSplit = req.getName().split("__");
+                req.setName(requestNameSplit[requestNameSplit.length - 1]);
+            }
+
+            for (Object obj : tmapGolden.getTMLModeling().getChannels()) {
+                TMLChannel ch = (TMLChannel) obj;
+                if (tmap.getChannelByName(ch.getName()) != null) {
+                    ch.setSecurityGoalConf(tmap.getChannelByName(ch.getName()).isSecurityGoalConf());
+                    ch.setSecurityGoalWeakAuth(tmap.getChannelByName(ch.getName()).isSecurityGoalWeakAuth());
+                    ch.setSecurityGoalStrongAuth(tmap.getChannelByName(ch.getName()).isSecurityGoalStrongAuth());
+                    ch.checkConf = tmap.getChannelByName(ch.getName()).isCheckConfChannel();
+                    ch.checkAuth = tmap.getChannelByName(ch.getName()).isCheckAuthChannel();
+                }
+            }
+            assertTrue(tmapGolden.equalSpec(tmap));
+            TraceManager.addDev("Verifying Tmap equality ended " + tab);
+
+            TraceManager.addDev("Test for " + tab + " tab is ended");
+        }
+    }
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..83f959b5547238e081b6480f5921f39e1775c4c3
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : [],
+
+	"DirectConnectHSMs": false,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..4471d3b9809fa2cbb674c2f10e1ed1969dc66fe4
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tarchi
@@ -0,0 +1,116 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..4936ef9f46e8aef40858ab2c262b072d24d8cd23
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tmap
@@ -0,0 +1,80 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAPSEC MemoryAlice se_comm1
+    MAPSEC MemoryBob se_comm1
+    MAPSEC MemoryAlice mac_comm3
+    MAPSEC MemoryBob mac_comm3
+    MAPSEC MemoryAlice se_comm2
+    MAPSEC MemoryBob se_comm2
+    MAPSEC MemoryAlice mac_comm4
+    MAPSEC MemoryBob mac_comm4
+    MAPSEC MemoryAlice se_comm
+    MAPSEC MemoryBob se_comm
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..ab2d913f876479a056dcb9f1213e9ad3d4f64e81
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tml
@@ -0,0 +1,76 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-No-HSM-test.xml
+// Generated: Tue Jun 25 15:20:14 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+
+// Events
+
+// Requests
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__comm 1 se_comm
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__comm2 1 se_comm2
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..6f125c60c47270b6fe083e803aae064c7b7b95f5
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap",
+	
+	"channels" : [
+		{
+			"comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Alice"],
+
+	"DirectConnectHSMs": true,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..793add51e607319a0c50b673b260496f329e2703
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tarchi
@@ -0,0 +1,195 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Alice
+SET Bus_HSM_Alice byteDataSize 4
+SET Bus_HSM_Alice pipelineSize 1
+SET Bus_HSM_Alice arbitration 0
+SET Bus_HSM_Alice sliceTime 10000
+SET Bus_HSM_Alice burstSize 100
+SET Bus_HSM_Alice privacy private
+SET Bus_HSM_Alice clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Alice
+SET Bridge_HSM_Alice bufferByteSize 4
+SET Bridge_HSM_Alice clockDivider 1
+
+NODE MEMORY Memory_HSM_Alice
+SET Memory_HSM_Alice byteDataSize 4
+SET Memory_HSM_Alice clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm2
+SET HwA_HSM_Alice_Encrypt_comm2 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm2 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm3
+SET HwA_HSM_Alice_Encrypt_comm3 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm3 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm4
+SET HwA_HSM_Alice_Encrypt_comm4 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm4 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm
+SET HwA_HSM_Alice_Encrypt_comm byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm1
+SET HwA_HSM_Alice_Encrypt_comm1 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm1 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Alice_to_Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Alice_to_BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_BusAlice bus BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice priority 0
+NODE LINK link_Memory_HSM_Alice_to_Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice node Memory_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm2
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm3
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm4
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm1
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..a9bca64408f3db595ff242a6b54be22dacd51747
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap
@@ -0,0 +1,134 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm2 autoSec__HSM_Alice_Encrypt_comm2
+    SET autoSec__HSM_Alice_Encrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm3 autoSec__HSM_Alice_Encrypt_comm3
+    SET autoSec__HSM_Alice_Encrypt_comm3 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm4 autoSec__HSM_Alice_Encrypt_comm4
+    SET autoSec__HSM_Alice_Encrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm autoSec__HSM_Alice_Encrypt_comm
+    SET autoSec__HSM_Alice_Encrypt_comm priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm1 autoSec__HSM_Alice_Encrypt_comm1
+    SET autoSec__HSM_Alice_Encrypt_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP MemoryBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP MemoryBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAPSEC MemoryBob se_comm2
+    MAPSEC Memory_HSM_Alice se_comm2
+    MAPSEC MemoryBob se_comm1
+    MAPSEC Memory_HSM_Alice se_comm1
+    MAPSEC MemoryBob mac_comm4
+    MAPSEC Memory_HSM_Alice mac_comm4
+    MAPSEC MemoryBob mac_comm3
+    MAPSEC Memory_HSM_Alice mac_comm3
+    MAPSEC MemoryBob se_comm
+    MAPSEC Memory_HSM_Alice se_comm
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..11e578feb9d2d6260484a74999ee16af7c3c6ca6
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tml
@@ -0,0 +1,141 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-HSMAlice-DirectConnec-test.xml
+// Generated: Tue Jun 25 15:39:06 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm
+AUTHCHANNEL autoSec__retDataCh_Bob_comm
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm1
+AUTHCHANNEL autoSec__retDataCh_Bob_comm1
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm2
+AUTHCHANNEL autoSec__retDataCh_Bob_comm2
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm3
+AUTHCHANNEL autoSec__retDataCh_Bob_comm3
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm4
+AUTHCHANNEL autoSec__retDataCh_Bob_comm4
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm1() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm1
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm2() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm2
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm3() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm3
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm4() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__retDataCh_Bob_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__retDataCh_Bob_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__retDataCh_Bob_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__retDataCh_Bob_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__retDataCh_Bob_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Bob_comm 1 se_comm
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Bob_comm1 1 se_comm1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__retDataCh_Bob_comm2 1 se_comm2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Bob_comm3 1 mac_comm3
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__retDataCh_Bob_comm4 1 mac_comm4
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..29b72ca9f103be49001eb08f9e3f5852b1ebaef3
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Alice", "Bob"],
+
+	"DirectConnectHSMs": true,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..478ad6e605628ba29f89c295f06d9f6aaf9413a3
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
@@ -0,0 +1,274 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Alice
+SET Bus_HSM_Alice byteDataSize 4
+SET Bus_HSM_Alice pipelineSize 1
+SET Bus_HSM_Alice arbitration 0
+SET Bus_HSM_Alice sliceTime 10000
+SET Bus_HSM_Alice burstSize 100
+SET Bus_HSM_Alice privacy private
+SET Bus_HSM_Alice clockDivider 1
+
+NODE BUS Bus_HSM_Bob
+SET Bus_HSM_Bob byteDataSize 4
+SET Bus_HSM_Bob pipelineSize 1
+SET Bus_HSM_Bob arbitration 0
+SET Bus_HSM_Bob sliceTime 10000
+SET Bus_HSM_Bob burstSize 100
+SET Bus_HSM_Bob privacy private
+SET Bus_HSM_Bob clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Alice
+SET Bridge_HSM_Alice bufferByteSize 4
+SET Bridge_HSM_Alice clockDivider 1
+
+NODE MEMORY Memory_HSM_Alice
+SET Memory_HSM_Alice byteDataSize 4
+SET Memory_HSM_Alice clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Bob
+SET Bridge_HSM_Bob bufferByteSize 4
+SET Bridge_HSM_Bob clockDivider 1
+
+NODE MEMORY Memory_HSM_Bob
+SET Memory_HSM_Bob byteDataSize 4
+SET Memory_HSM_Bob clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm4
+SET HwA_HSM_Alice_Encrypt_comm4 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm4 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm4
+SET HwA_HSM_Bob_Decrypt_comm4 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm4 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm1
+SET HwA_HSM_Alice_Encrypt_comm1 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm1 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm3
+SET HwA_HSM_Alice_Encrypt_comm3 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm3 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm
+SET HwA_HSM_Bob_Decrypt_comm byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm2
+SET HwA_HSM_Bob_Decrypt_comm2 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm2 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm3
+SET HwA_HSM_Bob_Decrypt_comm3 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm3 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm1
+SET HwA_HSM_Bob_Decrypt_comm1 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm1 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm2
+SET HwA_HSM_Alice_Encrypt_comm2 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm2 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm
+SET HwA_HSM_Alice_Encrypt_comm byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Alice_to_Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Alice_to_BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_BusAlice bus BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice priority 0
+NODE LINK link_Memory_HSM_Alice_to_Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice node Memory_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Bob_to_Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_BusBob
+SET link_Bridge_HSM_Bob_to_BusBob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_BusBob bus BusBob
+SET link_Bridge_HSM_Bob_to_BusBob priority 0
+NODE LINK link_Memory_HSM_Bob_to_Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob node Memory_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm4
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm4
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm1
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm3
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm2
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm3
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm1
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm2
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..0c44de75747d3b0efec75dcf418e757d6a216378
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap
@@ -0,0 +1,188 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm4 autoSec__HSM_Alice_Encrypt_comm4
+    SET autoSec__HSM_Alice_Encrypt_comm4 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm4 autoSec__HSM_Bob_Decrypt_comm4
+    SET autoSec__HSM_Bob_Decrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm1 autoSec__HSM_Alice_Encrypt_comm1
+    SET autoSec__HSM_Alice_Encrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm3 autoSec__HSM_Alice_Encrypt_comm3
+    SET autoSec__HSM_Alice_Encrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm autoSec__HSM_Bob_Decrypt_comm
+    SET autoSec__HSM_Bob_Decrypt_comm priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm2 autoSec__HSM_Bob_Decrypt_comm2
+    SET autoSec__HSM_Bob_Decrypt_comm2 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm3 autoSec__HSM_Bob_Decrypt_comm3
+    SET autoSec__HSM_Bob_Decrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm1 autoSec__HSM_Bob_Decrypt_comm1
+    SET autoSec__HSM_Bob_Decrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm2 autoSec__HSM_Alice_Encrypt_comm2
+    SET autoSec__HSM_Alice_Encrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm autoSec__HSM_Alice_Encrypt_comm
+    SET autoSec__HSM_Alice_Encrypt_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Bob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Bob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAPSEC Memory_HSM_Alice mac_comm3
+    MAPSEC Memory_HSM_Bob mac_comm3
+    MAPSEC Memory_HSM_Alice se_comm2
+    MAPSEC Memory_HSM_Bob se_comm2
+    MAPSEC Memory_HSM_Alice se_comm
+    MAPSEC Memory_HSM_Bob se_comm
+    MAPSEC Memory_HSM_Alice mac_comm4
+    MAPSEC Memory_HSM_Bob mac_comm4
+    MAPSEC Memory_HSM_Alice se_comm1
+    MAPSEC Memory_HSM_Bob se_comm1
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..6e620d7765650e4a435fda6fe9b2253f0fc6e80b
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tml
@@ -0,0 +1,206 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-HSMAliceBob-DirectConnec-test.xml
+// Generated: Tue Jun 25 20:04:52 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm1 IN autoSec__HSM_Bob_Decrypt_comm1
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm2 IN autoSec__HSM_Bob_Decrypt_comm2
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm3 IN autoSec__HSM_Bob_Decrypt_comm3
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm4 IN autoSec__HSM_Bob_Decrypt_comm4
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm_comm BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm IN autoSec__HSM_Bob_Decrypt_comm
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm_comm 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm1() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm1
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm2() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm2
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm3() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm3
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm4() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm4
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm1() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm1
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm2() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm2
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm3() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm3
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm4() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm_comm 1 se_comm
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 1 se_comm1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 1 se_comm2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 1 mac_comm3
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm1 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    WRITE autoSec__retDataCh_Bob_comm2 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm3 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    WRITE autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..95abf314dbe48d46da6548ebb6d09d9339142d6e
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap",
+	
+	"channels" : [
+		{
+			"comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Bob"],
+
+	"DirectConnectHSMs": true,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..78633dd51fed4dfbd149f196c5615b2a97f9150d
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tarchi
@@ -0,0 +1,195 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Bob
+SET Bus_HSM_Bob byteDataSize 4
+SET Bus_HSM_Bob pipelineSize 1
+SET Bus_HSM_Bob arbitration 0
+SET Bus_HSM_Bob sliceTime 10000
+SET Bus_HSM_Bob burstSize 100
+SET Bus_HSM_Bob privacy private
+SET Bus_HSM_Bob clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Bob
+SET Bridge_HSM_Bob bufferByteSize 4
+SET Bridge_HSM_Bob clockDivider 1
+
+NODE MEMORY Memory_HSM_Bob
+SET Memory_HSM_Bob byteDataSize 4
+SET Memory_HSM_Bob clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm3
+SET HwA_HSM_Bob_Decrypt_comm3 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm3 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm4
+SET HwA_HSM_Bob_Decrypt_comm4 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm4 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm
+SET HwA_HSM_Bob_Decrypt_comm byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm2
+SET HwA_HSM_Bob_Decrypt_comm2 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm2 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm1
+SET HwA_HSM_Bob_Decrypt_comm1 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm1 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_BusBob
+SET link_Bridge_HSM_Bob_to_BusBob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_BusBob bus BusBob
+SET link_Bridge_HSM_Bob_to_BusBob priority 0
+NODE LINK link_Memory_HSM_Bob_to_Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob node Memory_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm3
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm4
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm2
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm1
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..f19d8053da8e00b632c533227738c944ab74dcb6
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap
@@ -0,0 +1,134 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm3 autoSec__HSM_Bob_Decrypt_comm3
+    SET autoSec__HSM_Bob_Decrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm4 autoSec__HSM_Bob_Decrypt_comm4
+    SET autoSec__HSM_Bob_Decrypt_comm4 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm autoSec__HSM_Bob_Decrypt_comm
+    SET autoSec__HSM_Bob_Decrypt_comm priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm2 autoSec__HSM_Bob_Decrypt_comm2
+    SET autoSec__HSM_Bob_Decrypt_comm2 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm1 autoSec__HSM_Bob_Decrypt_comm1
+    SET autoSec__HSM_Bob_Decrypt_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Bob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAPSEC MemoryAlice se_comm1
+    MAPSEC Memory_HSM_Bob se_comm1
+    MAPSEC MemoryAlice mac_comm4
+    MAPSEC Memory_HSM_Bob mac_comm4
+    MAPSEC MemoryAlice se_comm2
+    MAPSEC Memory_HSM_Bob se_comm2
+    MAPSEC MemoryAlice mac_comm3
+    MAPSEC Memory_HSM_Bob mac_comm3
+    MAPSEC MemoryAlice se_comm
+    MAPSEC Memory_HSM_Bob se_comm
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..031229b9dac98e3309c67f682cd05fe32eae8297
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tml
@@ -0,0 +1,141 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-HSMBob-DirectConnec-test.xml
+// Generated: Tue Jun 25 20:01:02 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CONFCHANNEL autoSec__dataCh_Alice_comm
+AUTHCHANNEL autoSec__dataCh_Alice_comm
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CONFCHANNEL autoSec__dataCh_Alice_comm1
+AUTHCHANNEL autoSec__dataCh_Alice_comm1
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CONFCHANNEL autoSec__dataCh_Alice_comm2
+AUTHCHANNEL autoSec__dataCh_Alice_comm2
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CONFCHANNEL autoSec__dataCh_Alice_comm3
+AUTHCHANNEL autoSec__dataCh_Alice_comm3
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CONFCHANNEL autoSec__dataCh_Alice_comm4
+AUTHCHANNEL autoSec__dataCh_Alice_comm4
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm1() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm1
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm2() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm2
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm3() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm3
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm4() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_Alice_comm 1 se_comm
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_Alice_comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__dataCh_Alice_comm2 1 se_comm2
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_Alice_comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__dataCh_Alice_comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm1 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    WRITE autoSec__retDataCh_Bob_comm2 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm3 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    WRITE autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..b1c775c956f1ecdd0eeb0efde9c7f92735554442
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap",
+	
+	"channels" : [
+		{
+			"comm" : [true,  false, false],
+			"comm1" : [true,  true, false],
+			"comm2" : [true,  true, true],
+			"comm3" : [false,  true, false],
+			"comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Alice"],
+
+	"DirectConnectHSMs": false,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..79b91d519abf8819589fa8b0ee0df52b2c5a8f78
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tarchi
@@ -0,0 +1,195 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Alice
+SET Bus_HSM_Alice byteDataSize 4
+SET Bus_HSM_Alice pipelineSize 1
+SET Bus_HSM_Alice arbitration 0
+SET Bus_HSM_Alice sliceTime 10000
+SET Bus_HSM_Alice burstSize 100
+SET Bus_HSM_Alice privacy private
+SET Bus_HSM_Alice clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Alice
+SET Bridge_HSM_Alice bufferByteSize 4
+SET Bridge_HSM_Alice clockDivider 1
+
+NODE MEMORY Memory_HSM_Alice
+SET Memory_HSM_Alice byteDataSize 4
+SET Memory_HSM_Alice clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm1
+SET HwA_HSM_Alice_Encrypt_comm1 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm1 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm2
+SET HwA_HSM_Alice_Encrypt_comm2 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm2 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm4
+SET HwA_HSM_Alice_Encrypt_comm4 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm4 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm
+SET HwA_HSM_Alice_Encrypt_comm byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm3
+SET HwA_HSM_Alice_Encrypt_comm3 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm3 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Alice_to_Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Alice_to_BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_BusAlice bus BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice priority 0
+NODE LINK link_Memory_HSM_Alice_to_Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice node Memory_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm1
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm2
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm4
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm3
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..0a10b4ecbb529039d7acfcf0c1842f28970b5aa6
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap
@@ -0,0 +1,162 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm1 autoSec__HSM_Alice_Encrypt_comm1
+    SET autoSec__HSM_Alice_Encrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm2 autoSec__HSM_Alice_Encrypt_comm2
+    SET autoSec__HSM_Alice_Encrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm4 autoSec__HSM_Alice_Encrypt_comm4
+    SET autoSec__HSM_Alice_Encrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm autoSec__HSM_Alice_Encrypt_comm
+    SET autoSec__HSM_Alice_Encrypt_comm priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm3 autoSec__HSM_Alice_Encrypt_comm3
+    SET autoSec__HSM_Alice_Encrypt_comm3 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP Bus_HSM_Alice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP BusAlice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP Bus_HSM_Alice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP BusAlice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAPSEC MemoryBob se_comm1
+    MAPSEC Memory_HSM_Alice se_comm1
+    MAPSEC MemoryBob mac_comm4
+    MAPSEC Memory_HSM_Alice mac_comm4
+    MAPSEC MemoryBob se_comm
+    MAPSEC Memory_HSM_Alice se_comm
+    MAPSEC MemoryBob se_comm2
+    MAPSEC Memory_HSM_Alice se_comm2
+    MAPSEC MemoryBob mac_comm3
+    MAPSEC Memory_HSM_Alice mac_comm3
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..f8a6c1d6a0f7261f6ee755aebb49c0e7ec583016
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tml
@@ -0,0 +1,169 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-HSMAlice-test.xml
+// Generated: Tue Jun 25 15:32:17 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CHANNEL autoSec__dataNonceChAlice_Bob BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataNonceChAlice_Bob 0
+CHANNEL autoSec__dataNonceChAlice_Bob0 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataNonceChAlice_Bob0 0
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Alice_comm BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm 0
+CHANNEL autoSec__retDataCh_Alice_comm1 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm1 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm1 0
+CHANNEL autoSec__retDataCh_Alice_comm2 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm2 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm2 0
+CHANNEL autoSec__retDataCh_Alice_comm3 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm3 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm3 0
+CHANNEL autoSec__retDataCh_Alice_comm4 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm4 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm4 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm1() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm1
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm2() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm2
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm3() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm3
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm4() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    READ autoSec__retDataCh_Alice_comm 1 se_comm
+    WRITE autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    READ autoSec__retDataCh_Alice_comm1 1 se_comm1
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    READ autoSec__retDataCh_Alice_comm2 1 se_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    READ autoSec__retDataCh_Alice_comm3 1 mac_comm3
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+    READ autoSec__retDataCh_Alice_comm4 1 mac_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm 1 se_comm
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm1 1 se_comm1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__retDataCh_Alice_comm2 1 se_comm2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm3 1 mac_comm3
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__retDataCh_Alice_comm4 1 mac_comm4
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..be97226862dbd77e478fd5ea900b878ba828079e
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Alice", "Bob"],
+
+	"DirectConnectHSMs": false,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..1e9d8011d8fc066814b4d95455a1dd799dc9727c
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
@@ -0,0 +1,274 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Alice
+SET Bus_HSM_Alice byteDataSize 4
+SET Bus_HSM_Alice pipelineSize 1
+SET Bus_HSM_Alice arbitration 0
+SET Bus_HSM_Alice sliceTime 10000
+SET Bus_HSM_Alice burstSize 100
+SET Bus_HSM_Alice privacy private
+SET Bus_HSM_Alice clockDivider 1
+
+NODE BUS Bus_HSM_Bob
+SET Bus_HSM_Bob byteDataSize 4
+SET Bus_HSM_Bob pipelineSize 1
+SET Bus_HSM_Bob arbitration 0
+SET Bus_HSM_Bob sliceTime 10000
+SET Bus_HSM_Bob burstSize 100
+SET Bus_HSM_Bob privacy private
+SET Bus_HSM_Bob clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Alice
+SET Bridge_HSM_Alice bufferByteSize 4
+SET Bridge_HSM_Alice clockDivider 1
+
+NODE MEMORY Memory_HSM_Alice
+SET Memory_HSM_Alice byteDataSize 4
+SET Memory_HSM_Alice clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Bob
+SET Bridge_HSM_Bob bufferByteSize 4
+SET Bridge_HSM_Bob clockDivider 1
+
+NODE MEMORY Memory_HSM_Bob
+SET Memory_HSM_Bob byteDataSize 4
+SET Memory_HSM_Bob clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm3
+SET HwA_HSM_Alice_Encrypt_comm3 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm3 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm
+SET HwA_HSM_Bob_Decrypt_comm byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm3
+SET HwA_HSM_Bob_Decrypt_comm3 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm3 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm2
+SET HwA_HSM_Bob_Decrypt_comm2 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm2 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm1
+SET HwA_HSM_Alice_Encrypt_comm1 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm1 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm2
+SET HwA_HSM_Alice_Encrypt_comm2 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm2 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm4
+SET HwA_HSM_Bob_Decrypt_comm4 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm4 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm
+SET HwA_HSM_Alice_Encrypt_comm byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm1
+SET HwA_HSM_Bob_Decrypt_comm1 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm1 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm4
+SET HwA_HSM_Alice_Encrypt_comm4 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm4 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Alice_to_Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Alice_to_BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_BusAlice bus BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice priority 0
+NODE LINK link_Memory_HSM_Alice_to_Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice node Memory_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Bob_to_Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_BusBob
+SET link_Bridge_HSM_Bob_to_BusBob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_BusBob bus BusBob
+SET link_Bridge_HSM_Bob_to_BusBob priority 0
+NODE LINK link_Memory_HSM_Bob_to_Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob node Memory_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm3
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm3
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm2
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm1
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm2
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm4
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm1
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm4
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..b3b1f9efb3a0b97b03bd0044661416dddb18d24b
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap
@@ -0,0 +1,244 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm3 autoSec__HSM_Alice_Encrypt_comm3
+    SET autoSec__HSM_Alice_Encrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm autoSec__HSM_Bob_Decrypt_comm
+    SET autoSec__HSM_Bob_Decrypt_comm priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm3 autoSec__HSM_Bob_Decrypt_comm3
+    SET autoSec__HSM_Bob_Decrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm2 autoSec__HSM_Bob_Decrypt_comm2
+    SET autoSec__HSM_Bob_Decrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm1 autoSec__HSM_Alice_Encrypt_comm1
+    SET autoSec__HSM_Alice_Encrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm2 autoSec__HSM_Alice_Encrypt_comm2
+    SET autoSec__HSM_Alice_Encrypt_comm2 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm4 autoSec__HSM_Bob_Decrypt_comm4
+    SET autoSec__HSM_Bob_Decrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm autoSec__HSM_Alice_Encrypt_comm
+    SET autoSec__HSM_Alice_Encrypt_comm priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm1 autoSec__HSM_Bob_Decrypt_comm1
+    SET autoSec__HSM_Bob_Decrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm4 autoSec__HSM_Alice_Encrypt_comm4
+    SET autoSec__HSM_Alice_Encrypt_comm4 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP BusAlice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP Bus_HSM_Alice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP BusAlice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP Bus_HSM_Alice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP BusBob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP BusBob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP Bus_HSM_Bob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAPSEC Memory_HSM_Alice se_comm2
+    MAPSEC Memory_HSM_Bob se_comm2
+    MAPSEC Memory_HSM_Alice mac_comm3
+    MAPSEC Memory_HSM_Bob mac_comm3
+    MAPSEC Memory_HSM_Alice mac_comm4
+    MAPSEC Memory_HSM_Bob mac_comm4
+    MAPSEC Memory_HSM_Alice se_comm
+    MAPSEC Memory_HSM_Bob se_comm
+    MAPSEC Memory_HSM_Alice se_comm1
+    MAPSEC Memory_HSM_Bob se_comm1
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..54ecc79dec7a32a4df9fe40aa31ac23e697b6ef9
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tml
@@ -0,0 +1,262 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-HSMAliceBob-test.xml
+// Generated: Tue Jun 25 15:37:17 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CHANNEL autoSec__dataCh_Bob_comm BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm
+VCCHANNEL autoSec__dataCh_Bob_comm 0
+CHANNEL autoSec__dataCh_Bob_comm1 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm1
+VCCHANNEL autoSec__dataCh_Bob_comm1 0
+CHANNEL autoSec__dataCh_Bob_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm2
+VCCHANNEL autoSec__dataCh_Bob_comm2 0
+CHANNEL autoSec__dataCh_Bob_comm3 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm3
+VCCHANNEL autoSec__dataCh_Bob_comm3 0
+CHANNEL autoSec__dataCh_Bob_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm4
+VCCHANNEL autoSec__dataCh_Bob_comm4 0
+CHANNEL autoSec__dataNonceChAlice_Bob BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataNonceChAlice_Bob 0
+CHANNEL autoSec__dataNonceChAlice_Bob0 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataNonceChAlice_Bob0 0
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Alice_comm BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm 0
+CHANNEL autoSec__retDataCh_Alice_comm1 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm1 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm1 0
+CHANNEL autoSec__retDataCh_Alice_comm2 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm2 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm2 0
+CHANNEL autoSec__retDataCh_Alice_comm3 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm3 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm3 0
+CHANNEL autoSec__retDataCh_Alice_comm4 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm4 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+CHANNEL autoSec__retDataNonceChAlice_Bob BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataNonceChAlice_Bob 0
+CHANNEL autoSec__retDataNonceChAlice_Bob0 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataNonceChAlice_Bob0 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm1() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm1
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm2() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm2
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm3() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm3
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm4() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm4
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm1() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm1
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm2() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm2
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm3() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm3
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm4() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    READ autoSec__retDataCh_Alice_comm 1 se_comm
+    WRITE autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    READ autoSec__retDataCh_Alice_comm1 1 se_comm1
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    READ autoSec__retDataCh_Alice_comm2 1 se_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    READ autoSec__retDataCh_Alice_comm3 1 mac_comm3
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+    READ autoSec__retDataCh_Alice_comm4 1 mac_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    WRITE autoSec__dataCh_Bob_comm 1 se_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    READ autoSec__comm1 1 se_comm1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    WRITE autoSec__dataCh_Bob_comm1 1 se_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    WRITE autoSec__dataCh_Bob_comm2 1 se_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    READ autoSec__comm3 1 mac_comm3
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    WRITE autoSec__dataCh_Bob_comm3 1 mac_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    WRITE autoSec__dataCh_Bob_comm4 1 mac_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm 1 se_comm
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm1 1 se_comm1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__retDataCh_Alice_comm2 1 se_comm2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm3 1 mac_comm3
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__retDataCh_Alice_comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm1 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Bob_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    WRITE autoSec__retDataCh_Bob_comm2 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm3 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Bob_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    WRITE autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..b1527a03d2fac4fc7edb09059a62dca5e857022a
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Bob"],
+
+	"DirectConnectHSMs": false,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..0db9b2e5aba8c37c843a7916b4f2378c2514812a
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tarchi
@@ -0,0 +1,195 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Bob
+SET Bus_HSM_Bob byteDataSize 4
+SET Bus_HSM_Bob pipelineSize 1
+SET Bus_HSM_Bob arbitration 0
+SET Bus_HSM_Bob sliceTime 10000
+SET Bus_HSM_Bob burstSize 100
+SET Bus_HSM_Bob privacy private
+SET Bus_HSM_Bob clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Bob
+SET Bridge_HSM_Bob bufferByteSize 4
+SET Bridge_HSM_Bob clockDivider 1
+
+NODE MEMORY Memory_HSM_Bob
+SET Memory_HSM_Bob byteDataSize 4
+SET Memory_HSM_Bob clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm2
+SET HwA_HSM_Bob_Decrypt_comm2 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm2 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm4
+SET HwA_HSM_Bob_Decrypt_comm4 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm4 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm
+SET HwA_HSM_Bob_Decrypt_comm byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm3
+SET HwA_HSM_Bob_Decrypt_comm3 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm3 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm1
+SET HwA_HSM_Bob_Decrypt_comm1 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm1 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_BusBob
+SET link_Bridge_HSM_Bob_to_BusBob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_BusBob bus BusBob
+SET link_Bridge_HSM_Bob_to_BusBob priority 0
+NODE LINK link_Memory_HSM_Bob_to_Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob node Memory_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm2
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm4
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm3
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm1
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..d9ba439d69dc9db05f1b6e7feb78ffe65c619a2f
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap
@@ -0,0 +1,162 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm2 autoSec__HSM_Bob_Decrypt_comm2
+    SET autoSec__HSM_Bob_Decrypt_comm2 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm4 autoSec__HSM_Bob_Decrypt_comm4
+    SET autoSec__HSM_Bob_Decrypt_comm4 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm autoSec__HSM_Bob_Decrypt_comm
+    SET autoSec__HSM_Bob_Decrypt_comm priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm3 autoSec__HSM_Bob_Decrypt_comm3
+    SET autoSec__HSM_Bob_Decrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm1 autoSec__HSM_Bob_Decrypt_comm1
+    SET autoSec__HSM_Bob_Decrypt_comm1 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP BusBob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Bob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP Bus_HSM_Bob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP BusBob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAPSEC MemoryAlice mac_comm3
+    MAPSEC Memory_HSM_Bob mac_comm3
+    MAPSEC MemoryAlice mac_comm4
+    MAPSEC Memory_HSM_Bob mac_comm4
+    MAPSEC MemoryAlice se_comm1
+    MAPSEC Memory_HSM_Bob se_comm1
+    MAPSEC MemoryAlice se_comm2
+    MAPSEC Memory_HSM_Bob se_comm2
+    MAPSEC MemoryAlice se_comm
+    MAPSEC Memory_HSM_Bob se_comm
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..090b8bf8143d9a8c66e0e870c0c20385c4a275ac
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tml
@@ -0,0 +1,169 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-HSMBob-test.xml
+// Generated: Tue Jun 25 15:35:35 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+CHANNEL autoSec__dataCh_Bob_comm BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm
+VCCHANNEL autoSec__dataCh_Bob_comm 0
+CHANNEL autoSec__dataCh_Bob_comm1 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm1
+VCCHANNEL autoSec__dataCh_Bob_comm1 0
+CHANNEL autoSec__dataCh_Bob_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm2
+VCCHANNEL autoSec__dataCh_Bob_comm2 0
+CHANNEL autoSec__dataCh_Bob_comm3 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm3
+VCCHANNEL autoSec__dataCh_Bob_comm3 0
+CHANNEL autoSec__dataCh_Bob_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm4
+VCCHANNEL autoSec__dataCh_Bob_comm4 0
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+CHANNEL autoSec__retDataNonceChAlice_Bob BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataNonceChAlice_Bob 0
+CHANNEL autoSec__retDataNonceChAlice_Bob0 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataNonceChAlice_Bob0 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm1() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm1
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm2() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm2
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm3() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm3
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm4() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__comm 1 se_comm
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__comm2 1 se_comm2
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    WRITE autoSec__dataCh_Bob_comm 1 se_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    READ autoSec__comm1 1 se_comm1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    WRITE autoSec__dataCh_Bob_comm1 1 se_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    WRITE autoSec__dataCh_Bob_comm2 1 se_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    READ autoSec__comm3 1 mac_comm3
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    WRITE autoSec__dataCh_Bob_comm3 1 mac_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    WRITE autoSec__dataCh_Bob_comm4 1 mac_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm1 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Bob_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    WRITE autoSec__retDataCh_Bob_comm2 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm3 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Bob_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    WRITE autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..5b05969400ac106266d529423c04f585bedb9659
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tarchi
@@ -0,0 +1,116 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..10e6b56606b496c9185faf374696931075145189
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap
@@ -0,0 +1,54 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..8617a6706e803e6047de7b091b700e0f04587ce9
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tml
@@ -0,0 +1,56 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/bug-avatar-draw.xml
+// Generated: Wed Jun 19 15:58:25 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+
+// Events
+
+// Requests
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    WRITE autoSec__comm 1
+    WRITE autoSec__comm1 1
+    WRITE autoSec__comm2 1
+    WRITE autoSec__comm3 1
+    WRITE autoSec__comm4 1
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__comm 1
+    READ autoSec__comm1 1
+    READ autoSec__comm2 1
+    READ autoSec__comm3 1
+    READ autoSec__comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..405dac9de61d214382ec845dce2c71ae49eff703
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : [],
+
+	"DirectConnectHSMs": false,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..4471d3b9809fa2cbb674c2f10e1ed1969dc66fe4
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tarchi
@@ -0,0 +1,116 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..c018b41a21d70a97f55cfffba4ded2065e63e767
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tmap
@@ -0,0 +1,80 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAPSEC MemoryAlice se_comm1
+    MAPSEC MemoryBob se_comm1
+    MAPSEC MemoryAlice mac_comm3
+    MAPSEC MemoryBob mac_comm3
+    MAPSEC MemoryAlice mac_comm4
+    MAPSEC MemoryBob mac_comm4
+    MAPSEC MemoryAlice se_comm
+    MAPSEC MemoryBob se_comm
+    MAPSEC MemoryAlice se_comm2
+    MAPSEC MemoryBob se_comm2
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..b3e87cfe3b01bd40f743145c4f74aa1ddedc3763
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tml
@@ -0,0 +1,99 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-rep-No-HSM-test.xml
+// Generated: Wed Jun 26 17:14:40 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+
+// Events
+
+// Requests
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__comm 1 se_comm
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+    WRITE autoSec__comm 1 se_comm
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    READ autoSec__comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..90a52f9ef1161aa4c00c5f435be26b17e2de5130
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Alice"],
+
+	"DirectConnectHSMs": true,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..5e2303dc3e3653bd7590d6a162fc7cf4402dee14
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tarchi
@@ -0,0 +1,195 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Alice
+SET Bus_HSM_Alice byteDataSize 4
+SET Bus_HSM_Alice pipelineSize 1
+SET Bus_HSM_Alice arbitration 0
+SET Bus_HSM_Alice sliceTime 10000
+SET Bus_HSM_Alice burstSize 100
+SET Bus_HSM_Alice privacy private
+SET Bus_HSM_Alice clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Alice
+SET Bridge_HSM_Alice bufferByteSize 4
+SET Bridge_HSM_Alice clockDivider 1
+
+NODE MEMORY Memory_HSM_Alice
+SET Memory_HSM_Alice byteDataSize 4
+SET Memory_HSM_Alice clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm
+SET HwA_HSM_Alice_Encrypt_comm byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm1
+SET HwA_HSM_Alice_Encrypt_comm1 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm1 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm2
+SET HwA_HSM_Alice_Encrypt_comm2 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm2 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm4
+SET HwA_HSM_Alice_Encrypt_comm4 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm4 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm3
+SET HwA_HSM_Alice_Encrypt_comm3 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm3 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Alice_to_Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Alice_to_BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_BusAlice bus BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice priority 0
+NODE LINK link_Memory_HSM_Alice_to_Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice node Memory_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm1
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm2
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm4
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm3
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..9619ebae7b80e0553fe44ba74ddb47c5221193d1
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap
@@ -0,0 +1,134 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm autoSec__HSM_Alice_Encrypt_comm
+    SET autoSec__HSM_Alice_Encrypt_comm priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm1 autoSec__HSM_Alice_Encrypt_comm1
+    SET autoSec__HSM_Alice_Encrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm2 autoSec__HSM_Alice_Encrypt_comm2
+    SET autoSec__HSM_Alice_Encrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm4 autoSec__HSM_Alice_Encrypt_comm4
+    SET autoSec__HSM_Alice_Encrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm3 autoSec__HSM_Alice_Encrypt_comm3
+    SET autoSec__HSM_Alice_Encrypt_comm3 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP MemoryBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP MemoryBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusAlice autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP ExternalBus autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAPSEC MemoryBob mac_comm3
+    MAPSEC Memory_HSM_Alice mac_comm3
+    MAPSEC MemoryBob se_comm
+    MAPSEC Memory_HSM_Alice se_comm
+    MAPSEC MemoryBob se_comm2
+    MAPSEC Memory_HSM_Alice se_comm2
+    MAPSEC MemoryBob mac_comm4
+    MAPSEC Memory_HSM_Alice mac_comm4
+    MAPSEC MemoryBob se_comm1
+    MAPSEC Memory_HSM_Alice se_comm1
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..96144495bd217cba1e1a2b9393aff2e971e75a0f
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tml
@@ -0,0 +1,163 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-rep-HSMAlice-DirectConnec-test.xml
+// Generated: Wed Jun 26 18:27:01 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm
+AUTHCHANNEL autoSec__retDataCh_Bob_comm
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm1
+AUTHCHANNEL autoSec__retDataCh_Bob_comm1
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm2
+AUTHCHANNEL autoSec__retDataCh_Bob_comm2
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm3
+AUTHCHANNEL autoSec__retDataCh_Bob_comm3
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+CONFCHANNEL autoSec__retDataCh_Bob_comm4
+AUTHCHANNEL autoSec__retDataCh_Bob_comm4
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm1() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm1
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm2() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm2
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm3() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm3
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm4() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    READ autoSec__retDataCh_Bob_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__retDataCh_Bob_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__retDataCh_Bob_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__retDataCh_Bob_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__retDataCh_Bob_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    READ autoSec__retDataCh_Bob_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__retDataCh_Bob_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__retDataCh_Bob_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__retDataCh_Bob_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__retDataCh_Bob_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Bob_comm 1 se_comm
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Bob_comm1 1 se_comm1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__retDataCh_Bob_comm2 1 se_comm2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Bob_comm3 1 mac_comm3
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__retDataCh_Bob_comm4 1 mac_comm4
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..8bbf516c497908c66eab188e5ca4b857e928912f
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Alice", "Bob"],
+
+	"DirectConnectHSMs": true,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..2318efe44c696f3d3972fd6a978b1c596c3a00ef
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
@@ -0,0 +1,274 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Alice
+SET Bus_HSM_Alice byteDataSize 4
+SET Bus_HSM_Alice pipelineSize 1
+SET Bus_HSM_Alice arbitration 0
+SET Bus_HSM_Alice sliceTime 10000
+SET Bus_HSM_Alice burstSize 100
+SET Bus_HSM_Alice privacy private
+SET Bus_HSM_Alice clockDivider 1
+
+NODE BUS Bus_HSM_Bob
+SET Bus_HSM_Bob byteDataSize 4
+SET Bus_HSM_Bob pipelineSize 1
+SET Bus_HSM_Bob arbitration 0
+SET Bus_HSM_Bob sliceTime 10000
+SET Bus_HSM_Bob burstSize 100
+SET Bus_HSM_Bob privacy private
+SET Bus_HSM_Bob clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Alice
+SET Bridge_HSM_Alice bufferByteSize 4
+SET Bridge_HSM_Alice clockDivider 1
+
+NODE MEMORY Memory_HSM_Alice
+SET Memory_HSM_Alice byteDataSize 4
+SET Memory_HSM_Alice clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Bob
+SET Bridge_HSM_Bob bufferByteSize 4
+SET Bridge_HSM_Bob clockDivider 1
+
+NODE MEMORY Memory_HSM_Bob
+SET Memory_HSM_Bob byteDataSize 4
+SET Memory_HSM_Bob clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm
+SET HwA_HSM_Bob_Decrypt_comm byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm4
+SET HwA_HSM_Alice_Encrypt_comm4 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm4 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm2
+SET HwA_HSM_Alice_Encrypt_comm2 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm2 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm1
+SET HwA_HSM_Alice_Encrypt_comm1 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm1 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm3
+SET HwA_HSM_Alice_Encrypt_comm3 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm3 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm2
+SET HwA_HSM_Bob_Decrypt_comm2 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm2 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm
+SET HwA_HSM_Alice_Encrypt_comm byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm1
+SET HwA_HSM_Bob_Decrypt_comm1 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm1 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm3
+SET HwA_HSM_Bob_Decrypt_comm3 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm3 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm4
+SET HwA_HSM_Bob_Decrypt_comm4 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm4 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Alice_to_Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Alice_to_BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_BusAlice bus BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice priority 0
+NODE LINK link_Memory_HSM_Alice_to_Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice node Memory_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Bob_to_Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_BusBob
+SET link_Bridge_HSM_Bob_to_BusBob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_BusBob bus BusBob
+SET link_Bridge_HSM_Bob_to_BusBob priority 0
+NODE LINK link_Memory_HSM_Bob_to_Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob node Memory_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm4
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm2
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm1
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm3
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm2
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm1
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm3
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm4
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..8e2b4b32352a809f4e2bb28e66f7e27a12719a23
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap
@@ -0,0 +1,188 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm autoSec__HSM_Bob_Decrypt_comm
+    SET autoSec__HSM_Bob_Decrypt_comm priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm4 autoSec__HSM_Alice_Encrypt_comm4
+    SET autoSec__HSM_Alice_Encrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm2 autoSec__HSM_Alice_Encrypt_comm2
+    SET autoSec__HSM_Alice_Encrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm1 autoSec__HSM_Alice_Encrypt_comm1
+    SET autoSec__HSM_Alice_Encrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm3 autoSec__HSM_Alice_Encrypt_comm3
+    SET autoSec__HSM_Alice_Encrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm2 autoSec__HSM_Bob_Decrypt_comm2
+    SET autoSec__HSM_Bob_Decrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm autoSec__HSM_Alice_Encrypt_comm
+    SET autoSec__HSM_Alice_Encrypt_comm priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm1 autoSec__HSM_Bob_Decrypt_comm1
+    SET autoSec__HSM_Bob_Decrypt_comm1 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm3 autoSec__HSM_Bob_Decrypt_comm3
+    SET autoSec__HSM_Bob_Decrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm4 autoSec__HSM_Bob_Decrypt_comm4
+    SET autoSec__HSM_Bob_Decrypt_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm_comm priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 priority 0
+    MAP Memory_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP BusBob autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP ExternalBus autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+    SET autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAPSEC Memory_HSM_Alice mac_comm3
+    MAPSEC Memory_HSM_Bob mac_comm3
+    MAPSEC Memory_HSM_Alice se_comm2
+    MAPSEC Memory_HSM_Bob se_comm2
+    MAPSEC Memory_HSM_Alice mac_comm4
+    MAPSEC Memory_HSM_Bob mac_comm4
+    MAPSEC Memory_HSM_Alice se_comm1
+    MAPSEC Memory_HSM_Bob se_comm1
+    MAPSEC Memory_HSM_Alice se_comm
+    MAPSEC Memory_HSM_Bob se_comm
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..824c45c73271123613a6ad11529e2dd2184b53ac
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tml
@@ -0,0 +1,226 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-rep-HSMAliceBob-DirectConnec-test.xml
+// Generated: Wed Jun 26 18:30:47 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm1 IN autoSec__HSM_Bob_Decrypt_comm1
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm2 IN autoSec__HSM_Bob_Decrypt_comm2
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm3 IN autoSec__HSM_Bob_Decrypt_comm3
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm4 IN autoSec__HSM_Bob_Decrypt_comm4
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4
+CHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm_comm BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm IN autoSec__HSM_Bob_Decrypt_comm
+VCCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm_comm 0
+CONFCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+AUTHCHANNEL autoSec__dataCh_HSM_Alice_Encrypt_comm_comm
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm1() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm1
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm2() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm2
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm3() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm3
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm4() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm4
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm1() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm1
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm2() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm2
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm3() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm3
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm4() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm_comm 1 se_comm
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 1 se_comm1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 1 se_comm2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 1 mac_comm3
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm1_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm1 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm2_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    WRITE autoSec__retDataCh_Bob_comm2 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm3_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm3 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_HSM_Alice_Encrypt_comm4_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    WRITE autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..16ceb325f67373aec02030db3bc1ccaa60b3fd75
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Bob"],
+
+	"DirectConnectHSMs": true,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..48e0f3b3308da7d90eaec1844fa576d08291f5f6
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tarchi
@@ -0,0 +1,195 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Bob
+SET Bus_HSM_Bob byteDataSize 4
+SET Bus_HSM_Bob pipelineSize 1
+SET Bus_HSM_Bob arbitration 0
+SET Bus_HSM_Bob sliceTime 10000
+SET Bus_HSM_Bob burstSize 100
+SET Bus_HSM_Bob privacy private
+SET Bus_HSM_Bob clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Bob
+SET Bridge_HSM_Bob bufferByteSize 4
+SET Bridge_HSM_Bob clockDivider 1
+
+NODE MEMORY Memory_HSM_Bob
+SET Memory_HSM_Bob byteDataSize 4
+SET Memory_HSM_Bob clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm3
+SET HwA_HSM_Bob_Decrypt_comm3 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm3 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm4
+SET HwA_HSM_Bob_Decrypt_comm4 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm4 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm2
+SET HwA_HSM_Bob_Decrypt_comm2 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm2 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm1
+SET HwA_HSM_Bob_Decrypt_comm1 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm1 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm
+SET HwA_HSM_Bob_Decrypt_comm byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_BusBob
+SET link_Bridge_HSM_Bob_to_BusBob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_BusBob bus BusBob
+SET link_Bridge_HSM_Bob_to_BusBob priority 0
+NODE LINK link_Memory_HSM_Bob_to_Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob node Memory_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm3
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm4
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm2
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm1
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..2a6827e73232308245880e7d36a0c8510a9e9f14
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap
@@ -0,0 +1,134 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm3 autoSec__HSM_Bob_Decrypt_comm3
+    SET autoSec__HSM_Bob_Decrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm4 autoSec__HSM_Bob_Decrypt_comm4
+    SET autoSec__HSM_Bob_Decrypt_comm4 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm2 autoSec__HSM_Bob_Decrypt_comm2
+    SET autoSec__HSM_Bob_Decrypt_comm2 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm1 autoSec__HSM_Bob_Decrypt_comm1
+    SET autoSec__HSM_Bob_Decrypt_comm1 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm autoSec__HSM_Bob_Decrypt_comm
+    SET autoSec__HSM_Bob_Decrypt_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusBob autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAPSEC MemoryAlice mac_comm3
+    MAPSEC Memory_HSM_Bob mac_comm3
+    MAPSEC MemoryAlice mac_comm4
+    MAPSEC Memory_HSM_Bob mac_comm4
+    MAPSEC MemoryAlice se_comm1
+    MAPSEC Memory_HSM_Bob se_comm1
+    MAPSEC MemoryAlice se_comm
+    MAPSEC Memory_HSM_Bob se_comm
+    MAPSEC MemoryAlice se_comm2
+    MAPSEC Memory_HSM_Bob se_comm2
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..dd6873b5f1635ed414674102f979080cafea9401
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tml
@@ -0,0 +1,160 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-rep-HSMBob-DirectConnec-test.xml
+// Generated: Wed Jun 26 18:29:06 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CONFCHANNEL autoSec__dataCh_Alice_comm
+AUTHCHANNEL autoSec__dataCh_Alice_comm
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CONFCHANNEL autoSec__dataCh_Alice_comm1
+AUTHCHANNEL autoSec__dataCh_Alice_comm1
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CONFCHANNEL autoSec__dataCh_Alice_comm2
+AUTHCHANNEL autoSec__dataCh_Alice_comm2
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CONFCHANNEL autoSec__dataCh_Alice_comm3
+AUTHCHANNEL autoSec__dataCh_Alice_comm3
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Bob_Decrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CONFCHANNEL autoSec__dataCh_Alice_comm4
+AUTHCHANNEL autoSec__dataCh_Alice_comm4
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm1() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm1
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm2() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm2
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm3() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm3
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm4() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__dataCh_Alice_comm 1 se_comm
+    WRITE autoSec__dataCh_Alice_comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1 se_comm2
+    WRITE autoSec__dataCh_Alice_comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1 mac_comm4
+    WRITE autoSec__dataCh_Alice_comm 1 se_comm
+    WRITE autoSec__dataCh_Alice_comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1 se_comm2
+    WRITE autoSec__dataCh_Alice_comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm1 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    WRITE autoSec__retDataCh_Bob_comm2 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm3 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    WRITE autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..4acf91c40040dd3fe28ab932f9fa6ad9e46db2ee
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Alice"],
+
+	"DirectConnectHSMs": false,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..9982b0e1467e0b6d5454137a4cbac3e38d9272ad
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tarchi
@@ -0,0 +1,195 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Alice
+SET Bus_HSM_Alice byteDataSize 4
+SET Bus_HSM_Alice pipelineSize 1
+SET Bus_HSM_Alice arbitration 0
+SET Bus_HSM_Alice sliceTime 10000
+SET Bus_HSM_Alice burstSize 100
+SET Bus_HSM_Alice privacy private
+SET Bus_HSM_Alice clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Alice
+SET Bridge_HSM_Alice bufferByteSize 4
+SET Bridge_HSM_Alice clockDivider 1
+
+NODE MEMORY Memory_HSM_Alice
+SET Memory_HSM_Alice byteDataSize 4
+SET Memory_HSM_Alice clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm1
+SET HwA_HSM_Alice_Encrypt_comm1 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm1 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm2
+SET HwA_HSM_Alice_Encrypt_comm2 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm2 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm4
+SET HwA_HSM_Alice_Encrypt_comm4 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm4 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm3
+SET HwA_HSM_Alice_Encrypt_comm3 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm3 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm
+SET HwA_HSM_Alice_Encrypt_comm byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Alice_to_Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Alice_to_BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_BusAlice bus BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice priority 0
+NODE LINK link_Memory_HSM_Alice_to_Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice node Memory_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm1
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm2
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm4
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm3
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..bbcbb540869ea34ae9813ce9a053d9243349a2aa
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap
@@ -0,0 +1,162 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm1 autoSec__HSM_Alice_Encrypt_comm1
+    SET autoSec__HSM_Alice_Encrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm2 autoSec__HSM_Alice_Encrypt_comm2
+    SET autoSec__HSM_Alice_Encrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm4 autoSec__HSM_Alice_Encrypt_comm4
+    SET autoSec__HSM_Alice_Encrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm3 autoSec__HSM_Alice_Encrypt_comm3
+    SET autoSec__HSM_Alice_Encrypt_comm3 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm autoSec__HSM_Alice_Encrypt_comm
+    SET autoSec__HSM_Alice_Encrypt_comm priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP Bus_HSM_Alice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP BusAlice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP Bus_HSM_Alice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP BusAlice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAPSEC MemoryBob se_comm
+    MAPSEC Memory_HSM_Alice se_comm
+    MAPSEC MemoryBob se_comm2
+    MAPSEC Memory_HSM_Alice se_comm2
+    MAPSEC MemoryBob mac_comm4
+    MAPSEC Memory_HSM_Alice mac_comm4
+    MAPSEC MemoryBob se_comm1
+    MAPSEC Memory_HSM_Alice se_comm1
+    MAPSEC MemoryBob mac_comm3
+    MAPSEC Memory_HSM_Alice mac_comm3
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..9762e25184562aee4258b11c76ccb8dbbdaeaedf
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tml
@@ -0,0 +1,205 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-rep-HSMAlice-test.xml
+// Generated: Tue Jun 25 20:12:29 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CHANNEL autoSec__dataNonceChAlice_Bob BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataNonceChAlice_Bob 0
+CHANNEL autoSec__dataNonceChAlice_Bob0 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataNonceChAlice_Bob0 0
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Alice_comm BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm 0
+CHANNEL autoSec__retDataCh_Alice_comm1 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm1 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm1 0
+CHANNEL autoSec__retDataCh_Alice_comm2 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm2 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm2 0
+CHANNEL autoSec__retDataCh_Alice_comm3 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm3 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm3 0
+CHANNEL autoSec__retDataCh_Alice_comm4 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm4 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm4 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm1() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm1
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm2() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm2
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm3() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm3
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm4() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    READ autoSec__retDataCh_Alice_comm 1 se_comm
+    WRITE autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    READ autoSec__retDataCh_Alice_comm1 1 se_comm1
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    READ autoSec__retDataCh_Alice_comm2 1 se_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    READ autoSec__retDataCh_Alice_comm3 1 mac_comm3
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+    READ autoSec__retDataCh_Alice_comm4 1 mac_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    READ autoSec__retDataCh_Alice_comm 1 se_comm
+    WRITE autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    READ autoSec__retDataCh_Alice_comm1 1 se_comm1
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    READ autoSec__retDataCh_Alice_comm2 1 se_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    READ autoSec__retDataCh_Alice_comm3 1 mac_comm3
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+    READ autoSec__retDataCh_Alice_comm4 1 mac_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    READ autoSec__comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    READ autoSec__comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    READ autoSec__comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    READ autoSec__comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm 1 se_comm
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm1 1 se_comm1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__retDataCh_Alice_comm2 1 se_comm2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm3 1 mac_comm3
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__retDataCh_Alice_comm4 1 mac_comm4
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..85b38961b66e39bf86f182e45637578946ef2e4e
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap",
+	
+	"channels" : [
+		{
+                        "comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Alice", "Bob"],
+
+	"DirectConnectHSMs": false,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..ce0765293c87fd4b947a414babe0addcc0209a42
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
@@ -0,0 +1,274 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Alice
+SET Bus_HSM_Alice byteDataSize 4
+SET Bus_HSM_Alice pipelineSize 1
+SET Bus_HSM_Alice arbitration 0
+SET Bus_HSM_Alice sliceTime 10000
+SET Bus_HSM_Alice burstSize 100
+SET Bus_HSM_Alice privacy private
+SET Bus_HSM_Alice clockDivider 1
+
+NODE BUS Bus_HSM_Bob
+SET Bus_HSM_Bob byteDataSize 4
+SET Bus_HSM_Bob pipelineSize 1
+SET Bus_HSM_Bob arbitration 0
+SET Bus_HSM_Bob sliceTime 10000
+SET Bus_HSM_Bob burstSize 100
+SET Bus_HSM_Bob privacy private
+SET Bus_HSM_Bob clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Alice
+SET Bridge_HSM_Alice bufferByteSize 4
+SET Bridge_HSM_Alice clockDivider 1
+
+NODE MEMORY Memory_HSM_Alice
+SET Memory_HSM_Alice byteDataSize 4
+SET Memory_HSM_Alice clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Bob
+SET Bridge_HSM_Bob bufferByteSize 4
+SET Bridge_HSM_Bob clockDivider 1
+
+NODE MEMORY Memory_HSM_Bob
+SET Memory_HSM_Bob byteDataSize 4
+SET Memory_HSM_Bob clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm3
+SET HwA_HSM_Bob_Decrypt_comm3 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm3 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm1
+SET HwA_HSM_Bob_Decrypt_comm1 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm1 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm4
+SET HwA_HSM_Alice_Encrypt_comm4 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm4 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm3
+SET HwA_HSM_Alice_Encrypt_comm3 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm3 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm2
+SET HwA_HSM_Alice_Encrypt_comm2 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm2 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm
+SET HwA_HSM_Alice_Encrypt_comm byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm4
+SET HwA_HSM_Bob_Decrypt_comm4 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm4 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Alice_Encrypt_comm1
+SET HwA_HSM_Alice_Encrypt_comm1 byteDataSize 4
+SET HwA_HSM_Alice_Encrypt_comm1 execiTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 execcTime 1
+SET HwA_HSM_Alice_Encrypt_comm1 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm2
+SET HwA_HSM_Bob_Decrypt_comm2 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm2 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm
+SET HwA_HSM_Bob_Decrypt_comm byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Alice_to_Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Bridge_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Alice_to_BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice node Bridge_HSM_Alice
+SET link_Bridge_HSM_Alice_to_BusAlice bus BusAlice
+SET link_Bridge_HSM_Alice_to_BusAlice priority 0
+NODE LINK link_Memory_HSM_Alice_to_Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice node Memory_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_Memory_HSM_Alice_to_Bus_HSM_Alice priority 0
+NODE LINK link_Bridge_HSM_Bob_to_Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_BusBob
+SET link_Bridge_HSM_Bob_to_BusBob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_BusBob bus BusBob
+SET link_Bridge_HSM_Bob_to_BusBob priority 0
+NODE LINK link_Memory_HSM_Bob_to_Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob node Memory_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm3
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm1
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm4
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm4_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm3
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm3_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm2
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm2_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm4
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice node HwA_HSM_Alice_Encrypt_comm1
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice bus Bus_HSM_Alice
+SET link_HwA_HSM_Alice_Encrypt_comm1_to_Bus_HSM_Alice priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm2
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..4bba7f769546a5dc72c6b6f567361ef3e8d944cd
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap
@@ -0,0 +1,244 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm3 autoSec__HSM_Bob_Decrypt_comm3
+    SET autoSec__HSM_Bob_Decrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm1 autoSec__HSM_Bob_Decrypt_comm1
+    SET autoSec__HSM_Bob_Decrypt_comm1 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm4 autoSec__HSM_Alice_Encrypt_comm4
+    SET autoSec__HSM_Alice_Encrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm3 autoSec__HSM_Alice_Encrypt_comm3
+    SET autoSec__HSM_Alice_Encrypt_comm3 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm2 autoSec__HSM_Alice_Encrypt_comm2
+    SET autoSec__HSM_Alice_Encrypt_comm2 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm autoSec__HSM_Alice_Encrypt_comm
+    SET autoSec__HSM_Alice_Encrypt_comm priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm4 autoSec__HSM_Bob_Decrypt_comm4
+    SET autoSec__HSM_Bob_Decrypt_comm4 priority 0
+    MAP HwA_HSM_Alice_Encrypt_comm1 autoSec__HSM_Alice_Encrypt_comm1
+    SET autoSec__HSM_Alice_Encrypt_comm1 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm2 autoSec__HSM_Bob_Decrypt_comm2
+    SET autoSec__HSM_Bob_Decrypt_comm2 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm autoSec__HSM_Bob_Decrypt_comm
+    SET autoSec__HSM_Bob_Decrypt_comm priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm3
+    SET autoSec__dataCh_Alice_comm3 priority 0
+    MAP MemoryAlice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP Bus_HSM_Alice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP BusAlice autoSec__dataNonceChAlice_Bob0
+    SET autoSec__dataNonceChAlice_Bob0 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm4
+    SET autoSec__dataCh_Alice_comm4 priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm
+    SET autoSec__dataCh_Alice_comm priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm1
+    SET autoSec__dataCh_Alice_comm1 priority 0
+    MAP MemoryAlice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP Bus_HSM_Alice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP BusAlice autoSec__dataNonceChAlice_Bob
+    SET autoSec__dataNonceChAlice_Bob priority 0
+    MAP MemoryAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__dataCh_Alice_comm2
+    SET autoSec__dataCh_Alice_comm2 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm3
+    SET autoSec__retDataCh_Alice_comm3 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm4
+    SET autoSec__retDataCh_Alice_comm4 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm
+    SET autoSec__retDataCh_Alice_comm priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm1
+    SET autoSec__retDataCh_Alice_comm1 priority 0
+    MAP Memory_HSM_Alice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP Bus_HSM_Alice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP BusAlice autoSec__retDataCh_Alice_comm2
+    SET autoSec__retDataCh_Alice_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP BusBob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP Bus_HSM_Bob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP BusBob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAPSEC Memory_HSM_Alice se_comm
+    MAPSEC Memory_HSM_Bob se_comm
+    MAPSEC Memory_HSM_Alice se_comm2
+    MAPSEC Memory_HSM_Bob se_comm2
+    MAPSEC Memory_HSM_Alice mac_comm3
+    MAPSEC Memory_HSM_Bob mac_comm3
+    MAPSEC Memory_HSM_Alice se_comm1
+    MAPSEC Memory_HSM_Bob se_comm1
+    MAPSEC Memory_HSM_Alice mac_comm4
+    MAPSEC Memory_HSM_Bob mac_comm4
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..9ca33c989b4093f7820973d464aa0ff690ec4cfc
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tml
@@ -0,0 +1,310 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-rep-HSMAliceBob-test.xml
+// Generated: Wed Jun 26 18:18:21 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+CHANNEL autoSec__dataCh_Alice_comm BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm
+VCCHANNEL autoSec__dataCh_Alice_comm 0
+CHANNEL autoSec__dataCh_Alice_comm1 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm1
+VCCHANNEL autoSec__dataCh_Alice_comm1 0
+CHANNEL autoSec__dataCh_Alice_comm2 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataCh_Alice_comm2 0
+CHANNEL autoSec__dataCh_Alice_comm3 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm3
+VCCHANNEL autoSec__dataCh_Alice_comm3 0
+CHANNEL autoSec__dataCh_Alice_comm4 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataCh_Alice_comm4 0
+CHANNEL autoSec__dataCh_Bob_comm BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm
+VCCHANNEL autoSec__dataCh_Bob_comm 0
+CHANNEL autoSec__dataCh_Bob_comm1 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm1
+VCCHANNEL autoSec__dataCh_Bob_comm1 0
+CHANNEL autoSec__dataCh_Bob_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm2
+VCCHANNEL autoSec__dataCh_Bob_comm2 0
+CHANNEL autoSec__dataCh_Bob_comm3 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm3
+VCCHANNEL autoSec__dataCh_Bob_comm3 0
+CHANNEL autoSec__dataCh_Bob_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm4
+VCCHANNEL autoSec__dataCh_Bob_comm4 0
+CHANNEL autoSec__dataNonceChAlice_Bob BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm2
+VCCHANNEL autoSec__dataNonceChAlice_Bob 0
+CHANNEL autoSec__dataNonceChAlice_Bob0 BRBW 0 0 OUT autoSec__Alice IN autoSec__HSM_Alice_Encrypt_comm4
+VCCHANNEL autoSec__dataNonceChAlice_Bob0 0
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Alice_comm BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm 0
+CHANNEL autoSec__retDataCh_Alice_comm1 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm1 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm1 0
+CHANNEL autoSec__retDataCh_Alice_comm2 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm2 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm2 0
+CHANNEL autoSec__retDataCh_Alice_comm3 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm3 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm3 0
+CHANNEL autoSec__retDataCh_Alice_comm4 BRBW 0 0 OUT autoSec__HSM_Alice_Encrypt_comm4 IN autoSec__Alice
+VCCHANNEL autoSec__retDataCh_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+CHANNEL autoSec__retDataNonceChAlice_Bob BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataNonceChAlice_Bob 0
+CHANNEL autoSec__retDataNonceChAlice_Bob0 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataNonceChAlice_Bob0 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm1() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm1
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm2() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm2
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm3() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm3
+REQUEST autoSec__req_HSM_Alice_Encrypt_comm4() autoSec__Alice autoSec__HSM_Alice_Encrypt_comm4
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm1() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm1
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm2() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm2
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm3() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm3
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm4() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    READ autoSec__retDataCh_Alice_comm 1 se_comm
+    WRITE autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    READ autoSec__retDataCh_Alice_comm1 1 se_comm1
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    READ autoSec__retDataCh_Alice_comm2 1 se_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    READ autoSec__retDataCh_Alice_comm3 1 mac_comm3
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+    READ autoSec__retDataCh_Alice_comm4 1 mac_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm
+    WRITE autoSec__dataCh_Alice_comm 1
+    READ autoSec__retDataCh_Alice_comm 1 se_comm
+    WRITE autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm1
+    WRITE autoSec__dataCh_Alice_comm1 1
+    READ autoSec__retDataCh_Alice_comm1 1 se_comm1
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm2
+    WRITE autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__dataCh_Alice_comm2 1
+    READ autoSec__retDataCh_Alice_comm2 1 se_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm3
+    WRITE autoSec__dataCh_Alice_comm3 1
+    READ autoSec__retDataCh_Alice_comm3 1 mac_comm3
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    NOTIFYREQUEST autoSec__req_HSM_Alice_Encrypt_comm4
+    WRITE autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__dataCh_Alice_comm4 1
+    READ autoSec__retDataCh_Alice_comm4 1 mac_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    WRITE autoSec__dataCh_Bob_comm 1 se_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    READ autoSec__comm1 1 se_comm1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    WRITE autoSec__dataCh_Bob_comm1 1 se_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    WRITE autoSec__dataCh_Bob_comm2 1 se_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    READ autoSec__comm3 1 mac_comm3
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    WRITE autoSec__dataCh_Bob_comm3 1 mac_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    WRITE autoSec__dataCh_Bob_comm4 1 mac_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+    READ autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    WRITE autoSec__dataCh_Bob_comm 1 se_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    READ autoSec__comm1 1 se_comm1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    WRITE autoSec__dataCh_Bob_comm1 1 se_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    WRITE autoSec__dataCh_Bob_comm2 1 se_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    READ autoSec__comm3 1 mac_comm3
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    WRITE autoSec__dataCh_Bob_comm3 1 mac_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    WRITE autoSec__dataCh_Bob_comm4 1 mac_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm 1 se_comm
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm1 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm1 1 se_comm1
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Alice_comm2 1
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__retDataCh_Alice_comm2 1 se_comm2
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Alice_comm3 1
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    WRITE autoSec__retDataCh_Alice_comm3 1 mac_comm3
+ENDTASK
+
+TASK autoSec__HSM_Alice_Encrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Alice_comm4 1
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    WRITE autoSec__retDataCh_Alice_comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm1 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Bob_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    WRITE autoSec__retDataCh_Bob_comm2 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm3 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Bob_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    WRITE autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/features.json b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/features.json
new file mode 100644
index 0000000000000000000000000000000000000000..0977dca0d69d58f019315c396948cc1a37a34e42
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/features.json
@@ -0,0 +1,19 @@
+{
+	"pathModel" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap",
+	
+	"channels" : [
+		{
+			"comm" : [true,  false, false],
+                        "comm1" : [true,  true, false],
+                        "comm2" : [true,  true, true],
+                        "comm3" : [false,  true, false],
+                        "comm4" : [false,  true, true]
+		},
+	] ,
+                
+	"HSM" : ["Bob"],
+
+	"DirectConnectHSMs": false,
+	
+	"pathGolden" : "tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap"
+}
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..85d996b534e7016a91ca3b760a1d091683e08f07
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tarchi
@@ -0,0 +1,195 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE BUS Bus_HSM_Bob
+SET Bus_HSM_Bob byteDataSize 4
+SET Bus_HSM_Bob pipelineSize 1
+SET Bus_HSM_Bob arbitration 0
+SET Bus_HSM_Bob sliceTime 10000
+SET Bus_HSM_Bob burstSize 100
+SET Bus_HSM_Bob privacy private
+SET Bus_HSM_Bob clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE BRIDGE Bridge_HSM_Bob
+SET Bridge_HSM_Bob bufferByteSize 4
+SET Bridge_HSM_Bob clockDivider 1
+
+NODE MEMORY Memory_HSM_Bob
+SET Memory_HSM_Bob byteDataSize 4
+SET Memory_HSM_Bob clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm3
+SET HwA_HSM_Bob_Decrypt_comm3 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm3 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm3 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm2
+SET HwA_HSM_Bob_Decrypt_comm2 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm2 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm2 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm
+SET HwA_HSM_Bob_Decrypt_comm byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm4
+SET HwA_HSM_Bob_Decrypt_comm4 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm4 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm4 clockDivider 1
+
+NODE HWA HwA_HSM_Bob_Decrypt_comm1
+SET HwA_HSM_Bob_Decrypt_comm1 byteDataSize 4
+SET HwA_HSM_Bob_Decrypt_comm1 execiTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 execcTime 1
+SET HwA_HSM_Bob_Decrypt_comm1 clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Bridge_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_Bridge_HSM_Bob_to_BusBob
+SET link_Bridge_HSM_Bob_to_BusBob node Bridge_HSM_Bob
+SET link_Bridge_HSM_Bob_to_BusBob bus BusBob
+SET link_Bridge_HSM_Bob_to_BusBob priority 0
+NODE LINK link_Memory_HSM_Bob_to_Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob node Memory_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_Memory_HSM_Bob_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm3
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm3_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm2
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm2_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm4
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm4_to_Bus_HSM_Bob priority 0
+NODE LINK link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob node HwA_HSM_Bob_Decrypt_comm1
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob bus Bus_HSM_Bob
+SET link_HwA_HSM_Bob_Decrypt_comm1_to_Bus_HSM_Bob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..0e8cf91afb98010900872fb28aa32c6aa1320855
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap
@@ -0,0 +1,162 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm3 autoSec__HSM_Bob_Decrypt_comm3
+    SET autoSec__HSM_Bob_Decrypt_comm3 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm2 autoSec__HSM_Bob_Decrypt_comm2
+    SET autoSec__HSM_Bob_Decrypt_comm2 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm autoSec__HSM_Bob_Decrypt_comm
+    SET autoSec__HSM_Bob_Decrypt_comm priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm4 autoSec__HSM_Bob_Decrypt_comm4
+    SET autoSec__HSM_Bob_Decrypt_comm4 priority 0
+    MAP HwA_HSM_Bob_Decrypt_comm1 autoSec__HSM_Bob_Decrypt_comm1
+    SET autoSec__HSM_Bob_Decrypt_comm1 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm4
+    SET autoSec__nonceChBob_Alice_comm4 priority 0
+    MAP ExternalMemory autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalBus autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusBob autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP BusAlice autoSec__nonceChBob_Alice_comm2
+    SET autoSec__nonceChBob_Alice_comm2 priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm3
+    SET autoSec__dataCh_Bob_comm3 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm4
+    SET autoSec__dataCh_Bob_comm4 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm
+    SET autoSec__dataCh_Bob_comm priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm1
+    SET autoSec__dataCh_Bob_comm1 priority 0
+    MAP MemoryBob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__dataCh_Bob_comm2
+    SET autoSec__dataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm3
+    SET autoSec__retDataCh_Bob_comm3 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP BusBob autoSec__retDataNonceChAlice_Bob0
+    SET autoSec__retDataNonceChAlice_Bob0 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm4
+    SET autoSec__retDataCh_Bob_comm4 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm
+    SET autoSec__retDataCh_Bob_comm priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm1
+    SET autoSec__retDataCh_Bob_comm1 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Bus_HSM_Bob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP BusBob autoSec__retDataCh_Bob_comm2
+    SET autoSec__retDataCh_Bob_comm2 priority 0
+    MAP Memory_HSM_Bob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP Bus_HSM_Bob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAP BusBob autoSec__retDataNonceChAlice_Bob
+    SET autoSec__retDataNonceChAlice_Bob priority 0
+    MAPSEC MemoryAlice se_comm1
+    MAPSEC Memory_HSM_Bob se_comm1
+    MAPSEC MemoryAlice se_comm
+    MAPSEC Memory_HSM_Bob se_comm
+    MAPSEC MemoryAlice se_comm2
+    MAPSEC Memory_HSM_Bob se_comm2
+    MAPSEC MemoryAlice mac_comm3
+    MAPSEC Memory_HSM_Bob mac_comm3
+    MAPSEC MemoryAlice mac_comm4
+    MAPSEC Memory_HSM_Bob mac_comm4
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..279366f57a08713cfe18e3b0c2faccbace867cc5
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tml
@@ -0,0 +1,202 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-rep-HSMBob-test.xml
+// Generated: Tue Jun 25 20:13:57 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+CHANNEL autoSec__dataCh_Bob_comm BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm
+VCCHANNEL autoSec__dataCh_Bob_comm 0
+CHANNEL autoSec__dataCh_Bob_comm1 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm1
+VCCHANNEL autoSec__dataCh_Bob_comm1 0
+CHANNEL autoSec__dataCh_Bob_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm2
+VCCHANNEL autoSec__dataCh_Bob_comm2 0
+CHANNEL autoSec__dataCh_Bob_comm3 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm3
+VCCHANNEL autoSec__dataCh_Bob_comm3 0
+CHANNEL autoSec__dataCh_Bob_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__HSM_Bob_Decrypt_comm4
+VCCHANNEL autoSec__dataCh_Bob_comm4 0
+CHANNEL autoSec__nonceChBob_Alice_comm2 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm2 0
+CHANNEL autoSec__nonceChBob_Alice_comm4 BRBW 0 0 OUT autoSec__Bob IN autoSec__Alice
+VCCHANNEL autoSec__nonceChBob_Alice_comm4 0
+CHANNEL autoSec__retDataCh_Bob_comm BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm 0
+CHANNEL autoSec__retDataCh_Bob_comm1 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm1 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm1 0
+CHANNEL autoSec__retDataCh_Bob_comm2 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm2 0
+CHANNEL autoSec__retDataCh_Bob_comm3 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm3 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm3 0
+CHANNEL autoSec__retDataCh_Bob_comm4 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataCh_Bob_comm4 0
+CHANNEL autoSec__retDataNonceChAlice_Bob BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm2 IN autoSec__Bob
+VCCHANNEL autoSec__retDataNonceChAlice_Bob 0
+CHANNEL autoSec__retDataNonceChAlice_Bob0 BRBW 0 0 OUT autoSec__HSM_Bob_Decrypt_comm4 IN autoSec__Bob
+VCCHANNEL autoSec__retDataNonceChAlice_Bob0 0
+
+// Events
+
+// Requests
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm1() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm1
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm2() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm2
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm3() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm3
+REQUEST autoSec__req_HSM_Bob_Decrypt_comm4() autoSec__Bob autoSec__HSM_Bob_Decrypt_comm4
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 1
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 1
+    EXECC 100 se_comm SE 100 100 100 0 - - 1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 1
+    WRITE autoSec__comm 1 se_comm
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+    WRITE autoSec__comm 1 se_comm
+    WRITE autoSec__comm1 1 se_comm1
+    READ autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__comm2 1 se_comm2
+    WRITE autoSec__comm3 1 mac_comm3
+    READ autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__comm4 1 mac_comm4
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    WRITE autoSec__dataCh_Bob_comm 1 se_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    READ autoSec__comm1 1 se_comm1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    WRITE autoSec__dataCh_Bob_comm1 1 se_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    WRITE autoSec__dataCh_Bob_comm2 1 se_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    READ autoSec__comm3 1 mac_comm3
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    WRITE autoSec__dataCh_Bob_comm3 1 mac_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    WRITE autoSec__dataCh_Bob_comm4 1 mac_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+    READ autoSec__comm 1 se_comm
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm
+    WRITE autoSec__dataCh_Bob_comm 1 se_comm
+    READ autoSec__retDataCh_Bob_comm 1
+    READ autoSec__comm1 1 se_comm1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm1
+    WRITE autoSec__dataCh_Bob_comm1 1 se_comm1
+    READ autoSec__retDataCh_Bob_comm1 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm2
+    READ autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    WRITE autoSec__nonceChBob_Alice_comm2 1 nonce_Bob_Alice_comm2
+    READ autoSec__comm2 1 se_comm2
+    WRITE autoSec__dataCh_Bob_comm2 1 se_comm2
+    READ autoSec__retDataCh_Bob_comm2 1
+    READ autoSec__comm3 1 mac_comm3
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm3
+    WRITE autoSec__dataCh_Bob_comm3 1 mac_comm3
+    READ autoSec__retDataCh_Bob_comm3 1
+    NOTIFYREQUEST autoSec__req_HSM_Bob_Decrypt_comm4
+    READ autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    WRITE autoSec__nonceChBob_Alice_comm4 1 nonce_Bob_Alice_comm4
+    READ autoSec__comm4 1 mac_comm4
+    WRITE autoSec__dataCh_Bob_comm4 1 mac_comm4
+    READ autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm 1 se_comm
+    EXECC 100 se_comm SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm1
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm1 1 se_comm1
+    EXECC 100 se_comm1 SE 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm1 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm2
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm2 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__retDataNonceChAlice_Bob 1 nonce_Bob_Alice_comm2
+    READ autoSec__dataCh_Bob_comm2 1 se_comm2
+    EXECC 100 se_comm2 SE 100 100 100 0 nonce_Bob_Alice_comm2 - 2
+    WRITE autoSec__retDataCh_Bob_comm2 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm3
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__dataCh_Bob_comm3 1 mac_comm3
+    EXECC 100 mac_comm3 MAC 100 100 100 0 - - 2
+    WRITE autoSec__retDataCh_Bob_comm3 1
+ENDTASK
+
+TASK autoSec__HSM_Bob_Decrypt_comm4
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    EXECC 100 nonce_Bob_Alice_comm4 NONCE 100 100 100 0 - - 1
+    WRITE autoSec__retDataNonceChAlice_Bob0 1 nonce_Bob_Alice_comm4
+    READ autoSec__dataCh_Bob_comm4 1 mac_comm4
+    EXECC 100 mac_comm4 MAC 100 100 100 0 nonce_Bob_Alice_comm4 - 2
+    WRITE autoSec__retDataCh_Bob_comm4 1
+ENDTASK
+
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tarchi b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tarchi
new file mode 100644
index 0000000000000000000000000000000000000000..5b05969400ac106266d529423c04f585bedb9659
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tarchi
@@ -0,0 +1,116 @@
+// Master clock frequency - in MHz
+MASTERCLOCKFREQUENCY 200
+
+NODE BRIDGE BridgeAlice
+SET BridgeAlice bufferByteSize 4
+SET BridgeAlice clockDivider 1
+
+NODE BRIDGE BridgeBob
+SET BridgeBob bufferByteSize 4
+SET BridgeBob clockDivider 1
+
+NODE MEMORY ExternalMemory
+SET ExternalMemory byteDataSize 4
+SET ExternalMemory clockDivider 1
+
+NODE MEMORY MemoryAlice
+SET MemoryAlice byteDataSize 4
+SET MemoryAlice clockDivider 1
+
+NODE MEMORY MemoryBob
+SET MemoryBob byteDataSize 4
+SET MemoryBob clockDivider 1
+
+NODE BUS BusBob
+SET BusBob byteDataSize 4
+SET BusBob pipelineSize 1
+SET BusBob arbitration 0
+SET BusBob sliceTime 10000
+SET BusBob burstSize 100
+SET BusBob privacy private
+SET BusBob clockDivider 1
+
+NODE BUS BusAlice
+SET BusAlice byteDataSize 4
+SET BusAlice pipelineSize 1
+SET BusAlice arbitration 0
+SET BusAlice sliceTime 10000
+SET BusAlice burstSize 100
+SET BusAlice privacy private
+SET BusAlice clockDivider 1
+
+NODE BUS ExternalBus
+SET ExternalBus byteDataSize 4
+SET ExternalBus pipelineSize 1
+SET ExternalBus arbitration 0
+SET ExternalBus sliceTime 10000
+SET ExternalBus burstSize 100
+SET ExternalBus privacy public
+SET ExternalBus clockDivider 1
+
+NODE CPU CPUAlice
+SET CPUAlice nbOfCores 1
+SET CPUAlice byteDataSize 4
+SET CPUAlice pipelineSize 5
+SET CPUAlice goIdleTime 10
+SET CPUAlice maxConsecutiveIdleCycles 10
+SET CPUAlice taskSwitchingTime 20
+SET CPUAlice branchingPredictionPenalty 2
+SET CPUAlice cacheMiss 5
+SET CPUAlice schedulingPolicy 0
+SET CPUAlice sliceTime 10000
+SET CPUAlice execiTime 1
+SET CPUAlice execcTime 1
+SET CPUAlice clockDivider 1
+
+NODE CPU CPUBob
+SET CPUBob nbOfCores 1
+SET CPUBob byteDataSize 4
+SET CPUBob pipelineSize 5
+SET CPUBob goIdleTime 10
+SET CPUBob maxConsecutiveIdleCycles 10
+SET CPUBob taskSwitchingTime 20
+SET CPUBob branchingPredictionPenalty 2
+SET CPUBob cacheMiss 5
+SET CPUBob schedulingPolicy 0
+SET CPUBob sliceTime 10000
+SET CPUBob execiTime 1
+SET CPUBob execcTime 1
+SET CPUBob clockDivider 1
+
+NODE LINK link_BridgeBob_to_BusBob
+SET link_BridgeBob_to_BusBob node BridgeBob
+SET link_BridgeBob_to_BusBob bus BusBob
+SET link_BridgeBob_to_BusBob priority 0
+NODE LINK link_BridgeBob_to_ExternalBus
+SET link_BridgeBob_to_ExternalBus node BridgeBob
+SET link_BridgeBob_to_ExternalBus bus ExternalBus
+SET link_BridgeBob_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_ExternalBus
+SET link_BridgeAlice_to_ExternalBus node BridgeAlice
+SET link_BridgeAlice_to_ExternalBus bus ExternalBus
+SET link_BridgeAlice_to_ExternalBus priority 0
+NODE LINK link_BridgeAlice_to_BusAlice
+SET link_BridgeAlice_to_BusAlice node BridgeAlice
+SET link_BridgeAlice_to_BusAlice bus BusAlice
+SET link_BridgeAlice_to_BusAlice priority 0
+NODE LINK link_ExternalMemory_to_ExternalBus
+SET link_ExternalMemory_to_ExternalBus node ExternalMemory
+SET link_ExternalMemory_to_ExternalBus bus ExternalBus
+SET link_ExternalMemory_to_ExternalBus priority 0
+NODE LINK link_CPUAlice_to_BusAlice
+SET link_CPUAlice_to_BusAlice node CPUAlice
+SET link_CPUAlice_to_BusAlice bus BusAlice
+SET link_CPUAlice_to_BusAlice priority 0
+NODE LINK link_MemoryAlice_to_BusAlice
+SET link_MemoryAlice_to_BusAlice node MemoryAlice
+SET link_MemoryAlice_to_BusAlice bus BusAlice
+SET link_MemoryAlice_to_BusAlice priority 0
+NODE LINK link_MemoryBob_to_BusBob
+SET link_MemoryBob_to_BusBob node MemoryBob
+SET link_MemoryBob_to_BusBob bus BusBob
+SET link_MemoryBob_to_BusBob priority 0
+NODE LINK link_CPUBob_to_BusBob
+SET link_CPUBob_to_BusBob node CPUBob
+SET link_CPUBob_to_BusBob bus BusBob
+SET link_CPUBob_to_BusBob priority 0
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap
new file mode 100644
index 0000000000000000000000000000000000000000..f925afb3a0a8d9f1abfca06cb4b05aa352c754b4
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap
@@ -0,0 +1,54 @@
+TMLSPEC
+    #include "spec.tml"
+ENDTMLSPEC
+
+TMLARCHI
+    #include "spec.tarchi"
+ENDTMLARCHI
+
+TMLMAPPING
+    MAP CPUAlice autoSec__Alice
+    SET autoSec__Alice priority 0
+    MAP CPUBob autoSec__Bob
+    SET autoSec__Bob priority 0
+    MAP ExternalMemory autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusBob autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP BusAlice autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalBus autoSec__comm1
+    SET autoSec__comm1 priority 0
+    MAP ExternalMemory autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalBus autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusAlice autoSec__comm
+    SET autoSec__comm priority 0
+    MAP BusBob autoSec__comm
+    SET autoSec__comm priority 0
+    MAP ExternalMemory autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalBus autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusBob autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP BusAlice autoSec__comm2
+    SET autoSec__comm2 priority 0
+    MAP ExternalMemory autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusBob autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP BusAlice autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalBus autoSec__comm3
+    SET autoSec__comm3 priority 0
+    MAP ExternalMemory autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusBob autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP BusAlice autoSec__comm4
+    SET autoSec__comm4 priority 0
+    MAP ExternalBus autoSec__comm4
+    SET autoSec__comm4 priority 0
+ENDTMLMAPPING
diff --git a/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tml b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tml
new file mode 100644
index 0000000000000000000000000000000000000000..31ade44f3762a36f3a638fe2559a19c9c10b0037
--- /dev/null
+++ b/ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tml
@@ -0,0 +1,66 @@
+// TML Application - FORMAT 0.2
+// Application: /home/jawher/Jawher/TTool/TTool-orig/TTool/modeling/auto-sec-test-multi-rep.xml
+// Generated: Wed Jun 19 16:08:07 CEST 2024
+
+// PRAGMAS
+
+// Channels
+CHANNEL autoSec__comm NBRNBW 4 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm 0
+CONFCHANNEL autoSec__comm
+AUTHCHANNEL autoSec__comm
+CHANNEL autoSec__comm1 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm1 0
+CONFCHANNEL autoSec__comm1
+AUTHCHANNEL autoSec__comm1
+CHANNEL autoSec__comm2 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm2 0
+CONFCHANNEL autoSec__comm2
+AUTHCHANNEL autoSec__comm2
+CHANNEL autoSec__comm3 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm3 0
+CONFCHANNEL autoSec__comm3
+AUTHCHANNEL autoSec__comm3
+CHANNEL autoSec__comm4 BRBW 4 8 OUT autoSec__Alice IN autoSec__Bob
+VCCHANNEL autoSec__comm4 0
+CONFCHANNEL autoSec__comm4
+AUTHCHANNEL autoSec__comm4
+
+// Events
+
+// Requests
+
+TASK autoSec__Alice
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    WRITE autoSec__comm 1
+    WRITE autoSec__comm1 1
+    WRITE autoSec__comm2 1
+    WRITE autoSec__comm3 1
+    WRITE autoSec__comm4 1
+    WRITE autoSec__comm 1
+    WRITE autoSec__comm1 1
+    WRITE autoSec__comm2 1
+    WRITE autoSec__comm3 1
+    WRITE autoSec__comm4 1
+ENDTASK
+
+TASK autoSec__Bob
+    TASKOP
+    //Local variables
+    
+    //Behavior
+    READ autoSec__comm 1
+    READ autoSec__comm1 1
+    READ autoSec__comm2 1
+    READ autoSec__comm3 1
+    READ autoSec__comm4 1
+    READ autoSec__comm 1
+    READ autoSec__comm1 1
+    READ autoSec__comm2 1
+    READ autoSec__comm3 1
+    READ autoSec__comm4 1
+ENDTASK
+