From 1d3428a3b8ef5e03c9039e0183f21488ac7441f7 Mon Sep 17 00:00:00 2001
From: jerray <jawher.jerray@eurecom.fr>
Date: Wed, 26 Jun 2024 19:14:05 +0200
Subject: [PATCH] Add test for security generation diplodocus

---
 .../AutoSecurityGenerationDiplodocusTest.java | 276 ++++++++++++++++
 .../CaseWithoutHSM/features.json              |  19 ++
 .../CaseWithoutHSM/golden/spec.tarchi         | 116 +++++++
 .../CaseWithoutHSM/golden/spec.tmap           |  80 +++++
 .../CaseWithoutHSM/golden/spec.tml            |  76 +++++
 .../CaseWithHSMAlice/features.json            |  19 ++
 .../CaseWithHSMAlice/golden/spec.tarchi       | 195 +++++++++++
 .../CaseWithHSMAlice/golden/spec.tmap         | 134 ++++++++
 .../CaseWithHSMAlice/golden/spec.tml          | 141 ++++++++
 .../CaseWithHSMAliceBob/features.json         |  19 ++
 .../CaseWithHSMAliceBob/golden/spec.tarchi    | 274 ++++++++++++++++
 .../CaseWithHSMAliceBob/golden/spec.tmap      | 188 +++++++++++
 .../CaseWithHSMAliceBob/golden/spec.tml       | 206 ++++++++++++
 .../CaseWithHSMBob/features.json              |  19 ++
 .../CaseWithHSMBob/golden/spec.tarchi         | 195 +++++++++++
 .../CaseWithHSMBob/golden/spec.tmap           | 134 ++++++++
 .../CaseWithHSMBob/golden/spec.tml            | 141 ++++++++
 .../CaseWithHSMAlice/features.json            |  19 ++
 .../CaseWithHSMAlice/golden/spec.tarchi       | 195 +++++++++++
 .../CaseWithHSMAlice/golden/spec.tmap         | 162 +++++++++
 .../CaseWithHSMAlice/golden/spec.tml          | 169 ++++++++++
 .../CaseWithHSMAliceBob/features.json         |  19 ++
 .../CaseWithHSMAliceBob/golden/spec.tarchi    | 274 ++++++++++++++++
 .../CaseWithHSMAliceBob/golden/spec.tmap      | 244 ++++++++++++++
 .../CaseWithHSMAliceBob/golden/spec.tml       | 262 +++++++++++++++
 .../CaseWithHSMBob/features.json              |  19 ++
 .../CaseWithHSMBob/golden/spec.tarchi         | 195 +++++++++++
 .../CaseWithHSMBob/golden/spec.tmap           | 162 +++++++++
 .../CaseWithHSMBob/golden/spec.tml            | 169 ++++++++++
 .../Models/modelWithMultiChannels/spec.tarchi | 116 +++++++
 .../Models/modelWithMultiChannels/spec.tmap   |  54 +++
 .../Models/modelWithMultiChannels/spec.tml    |  56 ++++
 .../CaseWithoutHSM/features.json              |  19 ++
 .../CaseWithoutHSM/golden/spec.tarchi         | 116 +++++++
 .../CaseWithoutHSM/golden/spec.tmap           |  80 +++++
 .../CaseWithoutHSM/golden/spec.tml            |  99 ++++++
 .../CaseWithHSMAlice/features.json            |  19 ++
 .../CaseWithHSMAlice/golden/spec.tarchi       | 195 +++++++++++
 .../CaseWithHSMAlice/golden/spec.tmap         | 134 ++++++++
 .../CaseWithHSMAlice/golden/spec.tml          | 163 +++++++++
 .../CaseWithHSMAliceBob/features.json         |  19 ++
 .../CaseWithHSMAliceBob/golden/spec.tarchi    | 274 ++++++++++++++++
 .../CaseWithHSMAliceBob/golden/spec.tmap      | 188 +++++++++++
 .../CaseWithHSMAliceBob/golden/spec.tml       | 226 +++++++++++++
 .../CaseWithHSMBob/features.json              |  19 ++
 .../CaseWithHSMBob/golden/spec.tarchi         | 195 +++++++++++
 .../CaseWithHSMBob/golden/spec.tmap           | 134 ++++++++
 .../CaseWithHSMBob/golden/spec.tml            | 160 +++++++++
 .../CaseWithHSMAlice/features.json            |  19 ++
 .../CaseWithHSMAlice/golden/spec.tarchi       | 195 +++++++++++
 .../CaseWithHSMAlice/golden/spec.tmap         | 162 +++++++++
 .../CaseWithHSMAlice/golden/spec.tml          | 205 ++++++++++++
 .../CaseWithHSMAliceBob/features.json         |  19 ++
 .../CaseWithHSMAliceBob/golden/spec.tarchi    | 274 ++++++++++++++++
 .../CaseWithHSMAliceBob/golden/spec.tmap      | 244 ++++++++++++++
 .../CaseWithHSMAliceBob/golden/spec.tml       | 310 ++++++++++++++++++
 .../CaseWithHSMBob/features.json              |  19 ++
 .../CaseWithHSMBob/golden/spec.tarchi         | 195 +++++++++++
 .../CaseWithHSMBob/golden/spec.tmap           | 162 +++++++++
 .../CaseWithHSMBob/golden/spec.tml            | 202 ++++++++++++
 .../spec.tarchi                               | 116 +++++++
 .../spec.tmap                                 |  54 +++
 .../spec.tml                                  |  66 ++++
 63 files changed, 8629 insertions(+)
 create mode 100644 ttool/src/test/java/tmltranslator/AutoSecurityGenerationDiplodocusTest.java
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CaseWithoutHSM/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannels/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CaseWithoutHSM/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAlice/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMAliceBob/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithDirectConnectHSMs/CaseWithHSMBob/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAlice/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMAliceBob/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/features.json
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/CasesWithPrivateHSMs/CaseWithHSMBob/golden/spec.tml
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tarchi
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tmap
 create mode 100644 ttool/src/test/resources/tmltranslator/AutoSecGenDiplodocusTest/Models/modelWithMultiChannelsAndMultiUse/spec.tml

diff --git a/ttool/src/test/java/tmltranslator/AutoSecurityGenerationDiplodocusTest.java b/ttool/src/test/java/tmltranslator/AutoSecurityGenerationDiplodocusTest.java
new file mode 100644
index 0000000000..cba1f17fa5
--- /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 0000000000..83f959b554
--- /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 0000000000..4471d3b980
--- /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 0000000000..4936ef9f46
--- /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 0000000000..ab2d913f87
--- /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 0000000000..6f125c60c4
--- /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 0000000000..793add51e6
--- /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 0000000000..a9bca64408
--- /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 0000000000..11e578feb9
--- /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 0000000000..29b72ca9f1
--- /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 0000000000..478ad6e605
--- /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 0000000000..0c44de7574
--- /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 0000000000..6e620d7765
--- /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 0000000000..95abf314db
--- /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 0000000000..78633dd51f
--- /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 0000000000..f19d8053da
--- /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 0000000000..031229b9da
--- /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 0000000000..b1c775c956
--- /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 0000000000..79b91d519a
--- /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 0000000000..0a10b4ecbb
--- /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 0000000000..f8a6c1d6a0
--- /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 0000000000..be97226862
--- /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 0000000000..1e9d8011d8
--- /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 0000000000..b3b1f9efb3
--- /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 0000000000..54ecc79dec
--- /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 0000000000..b1527a03d2
--- /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 0000000000..0db9b2e5ab
--- /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 0000000000..d9ba439d69
--- /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 0000000000..090b8bf814
--- /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 0000000000..5b05969400
--- /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 0000000000..10e6b56606
--- /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 0000000000..8617a6706e
--- /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 0000000000..405dac9de6
--- /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 0000000000..4471d3b980
--- /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 0000000000..c018b41a21
--- /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 0000000000..b3e87cfe3b
--- /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 0000000000..90a52f9ef1
--- /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 0000000000..5e2303dc3e
--- /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 0000000000..9619ebae7b
--- /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 0000000000..96144495bd
--- /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 0000000000..8bbf516c49
--- /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 0000000000..2318efe44c
--- /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 0000000000..8e2b4b3235
--- /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 0000000000..824c45c732
--- /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 0000000000..16ceb325f6
--- /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 0000000000..48e0f3b330
--- /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 0000000000..2a6827e732
--- /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 0000000000..dd6873b5f1
--- /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 0000000000..4acf91c400
--- /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 0000000000..9982b0e146
--- /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 0000000000..bbcbb54086
--- /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 0000000000..9762e25184
--- /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 0000000000..85b38961b6
--- /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 0000000000..ce0765293c
--- /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 0000000000..4bba7f7695
--- /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 0000000000..9ca33c989b
--- /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 0000000000..0977dca0d6
--- /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 0000000000..85d996b534
--- /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 0000000000..0e8cf91afb
--- /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 0000000000..279366f57a
--- /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 0000000000..5b05969400
--- /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 0000000000..f925afb3a0
--- /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 0000000000..31ade44f37
--- /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
+
-- 
GitLab