diff --git a/src/main/java/ui/ADDPanel.java b/src/main/java/ui/ADDPanel.java
index b1a8807ada92f609da111fe110f3e093076c5f43..91e1670d911af03571c33f75598a7dac87704a58 100755
--- a/src/main/java/ui/ADDPanel.java
+++ b/src/main/java/ui/ADDPanel.java
@@ -83,7 +83,6 @@ public class ADDPanel extends TURTLEPanel {
 
     public void init() {
         addDeploymentPanelDiagram("Deployment Diagram");
-
     }
 
     public boolean addDeploymentPanelDiagram(String s) {
@@ -95,7 +94,7 @@ public class ADDPanel extends TURTLEPanel {
 
         //Class diagram
         tmladd = new ADDDiagramPanel(mgui, toolBar);
-        tmladd.setName("Deployment Diagram");
+        tmladd.setName(s);
         tmladd.tp = this;
         tdp = tmladd;
         panels.add(tmladd); // Always first in list
@@ -105,7 +104,7 @@ public class ADDPanel extends TURTLEPanel {
         jsp.getVerticalScrollBar().setUnitIncrement(MainGUI.INCREMENT);
         toolBarPanel.add(toolBar, BorderLayout.NORTH);
         toolBarPanel.add(jsp, BorderLayout.CENTER);
-        tabbedPane.addTab("Deployment Diagram", IconManager.imgic60, toolBarPanel, "Opens deployment diagram");
+        tabbedPane.addTab(s, IconManager.imgic60, toolBarPanel, "Opens deployment diagram");
         tabbedPane.setSelectedIndex(0);
 
         return true;
@@ -133,3 +132,4 @@ public class ADDPanel extends TURTLEPanel {
     }
 
 }
+
diff --git a/src/main/java/ui/GTURTLEModeling.java b/src/main/java/ui/GTURTLEModeling.java
index fe8ca4ed11865dc5255ea0eff45239ce7ee8f151..12d9dc35d311e597dcc7773235038ea03217ae3a 100644
--- a/src/main/java/ui/GTURTLEModeling.java
+++ b/src/main/java/ui/GTURTLEModeling.java
@@ -5481,6 +5481,7 @@ public class GTURTLEModeling {
         String nameTab;
         NodeList diagramNl;
         int indexDesign;
+        int indexTab = 0;
 
         nameTab = elt.getAttribute("nameTab");
 
@@ -5496,7 +5497,8 @@ public class GTURTLEModeling {
                 if (elt.getTagName().compareTo("SysCAMSComponentTaskDiagramPanel") == 0) {
                     // Class diagram
                     TraceManager.addDev("Loading SystemC-AMS");
-                    loadSysCAMSDiagram(elt, indexDesign);
+                    loadSysCAMSDiagram(elt, indexDesign, indexTab);
+                    indexTab++;
                     TraceManager.addDev("End loading SystemC-AMS");
                 }
             }
@@ -6030,15 +6032,18 @@ public class GTURTLEModeling {
         loadDiagram(elt, tdp);
     }
 
-    public void loadSysCAMSDiagram(Element elt, int indexDesign) throws MalformedModelingException, SAXException {
-        String name;
-        TDiagramPanel tdp;
+    public void loadSysCAMSDiagram(Element elt, int indexDesign, int indexTab) throws MalformedModelingException, SAXException {
+    	String name;
 
-        // class diagram name
         name = elt.getAttribute("name");
-        mgui.setSysCAMSComponentTaskDiagramName(indexDesign, name);
-        tdp = mgui.getMainTDiagramPanel(indexDesign);
-        tdp.setName(name);
+        mgui.createSysCAMS(indexDesign, name);
+
+        TDiagramPanel tdp = mgui.getSysCAMSPanel(indexDesign, indexTab, name);
+
+        if (tdp == null) {
+            throw new MalformedModelingException();
+        }
+        tdp.removeAll();
 
         loadDiagram(elt, tdp);
     }
@@ -8572,3 +8577,4 @@ public class GTURTLEModeling {
     }
 
 }
+
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index f0bee610bd15e5ffe247e28d4cafc47fc3c54be7..166d17d3c2cb708fef19f6b86f3eb11c6dd68306 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -377,7 +377,10 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         return avatarOn;
     }
 
-
+    public boolean isSystemcOn() {
+    	return systemcOn;
+    }
+    
     public void build() {
         // Swing look and feel
 
@@ -6367,7 +6370,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         return ((TMLComponentDesignPanel) (tp)).tmlctdp.getCompositeComponentByName(componentName);
     }
 
-		public SysCAMSCompositeComponent getSysCAMSCompositeComponent(String name) {
+	public SysCAMSCompositeComponent getSysCAMSCompositeComponent(String name) {
     	int index = name.indexOf("::");
     	if (index == -1) {
     		return null;
@@ -6385,6 +6388,18 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
     	return ((SysCAMSComponentDesignPanel) (tp)).syscamsctdp.getCompositeComponentByName(componentName);
     }
 
+	public SysCAMSComponentTaskDiagramPanel getSysCAMSPanel(int indexDesign, String name) {
+
+        TURTLEPanel tp = tabs.elementAt(indexDesign);
+        if (tp == null) {
+            return null;
+        }
+        if (tp instanceof SysCAMSComponentDesignPanel) {
+            return ((SysCAMSComponentDesignPanel) tp).getSysCAMSPanel(name);
+        }
+        return null;
+    }
+
 
     public AvatarSMDPanel getAvatarSMDPanel(int indexDesign, String name) {
 
@@ -7200,7 +7215,20 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         setPanelMode();
         return true;
     }
+    
+    public boolean createSysCAMS(int index, String s) {
+        return createSysCAMS(tabs.elementAt(index), s);
+    }
 
+    public boolean createSysCAMS(TURTLEPanel tp, String s) {
+        if (!(tp instanceof SysCAMSComponentDesignPanel)) {
+            return false;
+        }
+
+        ((SysCAMSComponentDesignPanel) tp).addSysCAMS(s);
+        setPanelMode();
+        return true;
+    }
 
     public boolean isRequirementCreated(int index, String s) {
         return isRequirementCreated(tabs.elementAt(index), s);
@@ -7302,7 +7330,18 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
 
     }
 
-
+    public SysCAMSComponentTaskDiagramPanel getSysCAMSPanel(int index, int indexTab, String s) {
+    	TURTLEPanel tp = tabs.elementAt(index);
+    	return getSysCAMSPanel(tp, indexTab, s);
+    }
+    
+    public SysCAMSComponentTaskDiagramPanel getSysCAMSPanel(TURTLEPanel tp, int indexTab, String s) {
+    	if (tp.tabbedPane.getTitleAt(indexTab).equals(s)) {
+    		return (SysCAMSComponentTaskDiagramPanel) (tp.panelAt(indexTab));
+    	}
+    	return null;
+    }
+    
     public AvatarRDPanel getAvatarRDPanel(int index, int indexTab, String s) {
         TURTLEPanel tp = tabs.elementAt(index);
         return getAvatarRDPanel(tp, indexTab, s);
@@ -8450,16 +8489,16 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
     }
     //--------------------end DDD------------------------------------------------
 
-    public SysCAMSComponentTaskDiagramPanel getSysCAMSPanel() {
-    	SysCAMSComponentTaskDiagramPanel syscamsDiagram = null; 
-        TURTLEPanel tp = getCurrentTURTLEPanel();
+    public Vector<SysCAMSComponentTaskDiagramPanel> getListSysCAMSPanel() {
+    	Vector<SysCAMSComponentTaskDiagramPanel> syscamsDiagram = new Vector<SysCAMSComponentTaskDiagramPanel>(); 
+        TURTLEPanel tp = getTURTLEPanel("SystemC_AMS");
         Vector<TDiagramPanel> ps = tp.panels;
         for (TDiagramPanel panel : ps) {
             if (panel instanceof SysCAMSComponentTaskDiagramPanel) {
-                syscamsDiagram = (SysCAMSComponentTaskDiagramPanel) panel;
+                syscamsDiagram.add((SysCAMSComponentTaskDiagramPanel) panel);
             }
         }
-        if (syscamsDiagram == null)
+        if (syscamsDiagram.size() == 0) 
             System.err.println("No SysCAMS Panel found : MainGUI.getSysCAMSPanel()");
         return syscamsDiagram;
     }
@@ -9371,3 +9410,4 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         return tmlap;
     }
 } // Class MainGUI
+
diff --git a/src/main/java/ui/SysCAMSComponentDesignPanel.java b/src/main/java/ui/SysCAMSComponentDesignPanel.java
index 63fca251572cb68ce2eb018d2334a366b6bf2e1e..611fec7a7d35649a820bf9e5388e1184a6e94373 100644
--- a/src/main/java/ui/SysCAMSComponentDesignPanel.java
+++ b/src/main/java/ui/SysCAMSComponentDesignPanel.java
@@ -67,12 +67,9 @@ public class SysCAMSComponentDesignPanel extends TURTLEPanel {
 	public SysCAMSComponentDesignPanel(MainGUI _mgui) {
 		super(_mgui);
 
-		// Issue #41 Ordering of tabbed panes
-		tabbedPane = GraphicLib.createTabbedPane();// new JTabbedPane();
+		tabbedPane = GraphicLib.createTabbedPane();
 
 		cl = new ChangeListener() {
-
-			@Override
 			public void stateChanged(ChangeEvent e) {
 				mgui.paneDesignAction(e);
 			}
@@ -81,38 +78,13 @@ public class SysCAMSComponentDesignPanel extends TURTLEPanel {
 		tabbedPane.addChangeListener(cl);
 		tabbedPane.addMouseListener(new TURTLEPanelPopupListener(this, mgui));
 
-		// Issue #41: Ordering of tabbed panes
 		tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
 	}
 
 	public void init() {
-
-		// Toolbar
-		SysCAMSComponentTaskDiagramToolBar toolBarSysCAMS = new SysCAMSComponentTaskDiagramToolBar(mgui);
-		toolbars.add(toolBarSysCAMS);
-
-		toolBarPanel = new JPanel();
-		toolBarPanel.setLayout(new BorderLayout());
-
-		// Diagram
-		syscamsctdp = new SysCAMSComponentTaskDiagramPanel(mgui, toolBarSysCAMS);
-		syscamsctdp.setName("SystemC-AMS Component Diagram");
-		syscamsctdp.tp = this;
-		tdp = syscamsctdp;
-		panels.add(syscamsctdp); // Always first in list
-		JScrollDiagramPanel jsp = new JScrollDiagramPanel(syscamsctdp);
-		syscamsctdp.jsp = jsp;
-		jsp.setWheelScrollingEnabled(true);
-		jsp.getVerticalScrollBar().setUnitIncrement(MainGUI.INCREMENT);
-		toolBarPanel.add(toolBarSysCAMS, BorderLayout.NORTH);
-		toolBarPanel.add(jsp, BorderLayout.CENTER);
-		tabbedPane.addTab("SystemC-AMS Component Diagram", IconManager.imgic1208, toolBarPanel,
-				"Opens SysCAMS component diagram");
-		tabbedPane.setSelectedIndex(0);
-
 		mgui.changeMade(syscamsctdp, TDiagramPanel.NEW_COMPONENT);
 	}
-
+	
 	public String saveHeaderInXml(String extensionToName) {
 		if (extensionToName == null) {
 			return "<Modeling type=\"SystemC-AMS\" nameTab=\"" + mgui.getTabName(this) + "\" >\n";
@@ -135,35 +107,11 @@ public class SysCAMSComponentDesignPanel extends TURTLEPanel {
 	public SysCAMSBlockDE getBlockDEComponentByName(String _name) {
 		return syscamsctdp.getBlockDEComponentByName(_name);
 	}
-	//
-	// public String[] getCompOutChannels(){
-	// return syscamsctdp.getCompOutChannels();
-	// }
-	//
-	// public String[] getCompInChannels(){
-	// return syscamsctdp.getCompInChannels();
-	// }
-	//
-	// public java.util.List<String> getAllSysCAMSCommunicationNames(String _name) {
-	// return syscamsctdp.getAllSysCAMSCommunicationNames(_name);
-	// }
-	//
-	// public java.util.List<String> getAllSysCAMSInputPorts( String _name ) {
-	// return syscamsctdp.getAllSysCAMSInputPorts( _name );
-	// }
 
 	public java.util.List<String> getAllCompositeComponent(String _name) {
 		return syscamsctdp.getAllCompositeComponent(_name);
 	}
 
-	public Vector<String> getAllSysCAMSTasksAttributes() {
-		return syscamsctdp.getAllSysCAMSTasksAttributes();
-	}
-
-	public java.util.List<String> getAllSysCAMSTaskNames(String _name) {
-		return syscamsctdp.getAllSysCAMSTaskNames(_name);
-	}
-
 	public String[] getAllOutTDF(String nameOfComponent) {
 		return syscamsctdp.getAllOutTDF(nameOfComponent);
 	}
@@ -179,4 +127,36 @@ public class SysCAMSComponentDesignPanel extends TURTLEPanel {
 	public String[] getAllInDE(String nameOfComponent) {
 		return syscamsctdp.getAllInDE(nameOfComponent);
 	}
+	
+	public boolean isSystemCAMSEnabled() {
+    	return true;
+    }
+	
+	public boolean addSysCAMS(String s) {
+        SysCAMSComponentTaskDiagramToolBar ardtb = new SysCAMSComponentTaskDiagramToolBar(mgui);
+        toolbars.add(ardtb);
+
+        toolBarPanel = new JPanel();
+        toolBarPanel.setLayout(new BorderLayout());
+
+        //Class diagram
+        syscamsctdp = new SysCAMSComponentTaskDiagramPanel(mgui, ardtb);
+        syscamsctdp.setName(s);
+        syscamsctdp.tp = this;
+        tdp = syscamsctdp;
+        panels.add(syscamsctdp);
+        JScrollDiagramPanel jsp = new JScrollDiagramPanel(syscamsctdp);
+        syscamsctdp.jsp = jsp;
+        jsp.setWheelScrollingEnabled(true);
+        jsp.getVerticalScrollBar().setUnitIncrement( MainGUI.INCREMENT);
+        toolBarPanel.add(ardtb, BorderLayout.NORTH);
+        toolBarPanel.add(jsp, BorderLayout.CENTER);
+        tabbedPane.addTab(s, IconManager.imgic84, toolBarPanel, "Opens SysCAMS component diagram");
+        tabbedPane.setSelectedIndex(0);
+        JPanel toolBarPanel = new JPanel();
+        toolBarPanel.setLayout(new BorderLayout());
+
+        return true;
+    }
 }
+
diff --git a/src/main/java/ui/TURTLEPanel.java b/src/main/java/ui/TURTLEPanel.java
index 8665d9bba1345ce7a9598b6a72bd74ebb0cfc7a8..809d2517bec6167f4d485dac935878263f265654 100755
--- a/src/main/java/ui/TURTLEPanel.java
+++ b/src/main/java/ui/TURTLEPanel.java
@@ -364,6 +364,10 @@ public abstract class TURTLEPanel implements GenericTree {
         return false;
     }
 
+    public boolean isSystemCAMSEnabled() {
+    	return false;
+    }
+    
     public MainGUI getMainGUI() {
         return mgui;
     }
@@ -421,3 +425,4 @@ public abstract class TURTLEPanel implements GenericTree {
     }
 
 }
+
diff --git a/src/main/java/ui/TURTLEPanelPopupListener.java b/src/main/java/ui/TURTLEPanelPopupListener.java
index 31058db5c3bc969004eab97f4c9f0fdd4f1fc4a3..03d4cda224813aabef158024df2dafd4a8c65738 100755
--- a/src/main/java/ui/TURTLEPanelPopupListener.java
+++ b/src/main/java/ui/TURTLEPanelPopupListener.java
@@ -65,7 +65,7 @@ public class TURTLEPanelPopupListener extends MouseAdapter /* popup menus onto t
     protected MainGUI mgui;
 
     private JMenuItem rename, remove, moveRight, moveLeft, sort, newucd, newsd, newsdzv, newsdfromucd, newreq,
-        newebrdd, newprosmd, newavatarrd, newavatarpd, newavatarcd, newavatarad, newavatarmad;
+        newebrdd, newprosmd, newavatarrd, newavatarpd, newavatarcd, newavatarad, newavatarmad, newsyscams;
     private JMenuItem newatd, newftd;
 
     public TURTLEPanelPopupListener(TURTLEPanel _tp, MainGUI _mgui) {
@@ -120,6 +120,7 @@ public class TURTLEPanelPopupListener extends MouseAdapter /* popup menus onto t
         newavatarcd = createMenuItem("New Context Diagram");
         newavatarad = createMenuItem("New Activity Diagram");
         newavatarmad = createMenuItem("New AVATAR Modeling Assumptions Diagram");
+        newsyscams = createMenuItem("New SystemC-AMS Diagram");
 
         menu = new JPopupMenu("TURTLE panel");
         menu.add(moveLeft);
@@ -153,6 +154,10 @@ public class TURTLEPanelPopupListener extends MouseAdapter /* popup menus onto t
             menu.add(newavatarrd);
             menu.add(newavatarpd);
         }
+        if (mgui.isSystemcOn()) {
+        	menu.addSeparator();
+            menu.add(newsyscams);
+        }
     }
 
     private JMenuItem createMenuItem(String s) {
@@ -215,6 +220,7 @@ public class TURTLEPanelPopupListener extends MouseAdapter /* popup menus onto t
         newavatarcd.setEnabled(tp.isAvatarCDEnabled());
         newavatarad.setEnabled(tp.isAvatarADEnabled());
         newavatarmad.setEnabled(tp.isAvatarMADEnabled());
+        newsyscams.setEnabled(tp.isSystemCAMSEnabled());
     }
 
     private Action listener = new AbstractAction() {
@@ -276,7 +282,11 @@ public class TURTLEPanelPopupListener extends MouseAdapter /* popup menus onto t
                 } else if (e.getSource() == newavatarmad) {
                     mgui.createAvatarMAD(tp, "Modeling Assumptions Diagram");
                     mgui.changeMade(null, -1);
+                } else if (e.getSource() == newsyscams) {
+                	mgui.createSysCAMS(tp, "SystemC-AMS Component Diagram");
+                	mgui.changeMade(null, -1);
                 }
             }
         };
 }
+
diff --git a/src/main/java/ui/avatardd/ADDMemoryNode.java b/src/main/java/ui/avatardd/ADDMemoryNode.java
index 422548abc22f5bea90682fa6c615ecf91a70d9ab..574cc180a177cf171be8f4633f894706e810b604 100755
--- a/src/main/java/ui/avatardd/ADDMemoryNode.java
+++ b/src/main/java/ui/avatardd/ADDMemoryNode.java
@@ -56,8 +56,6 @@ import java.awt.*;
    * Creation: 21/08/2014
    * @version 1.0 21/08/2014
    * @author Ludovic APVRILLE
-   * @version 1.1 18/06/2018 (Add processCode)
-   * @author Irina Kit Yan LEE
  */
 
 public abstract class ADDMemoryNode extends ADDCommunicationNode implements WithAttributes {
@@ -313,4 +311,4 @@ public abstract class ADDMemoryNode extends ADDCommunicationNode implements With
 	public void setProcessCode(String _processCode) {
 		processCode = _processCode;
 	}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/ui/window/JDialogADDMemoryNode.java b/src/main/java/ui/window/JDialogADDMemoryNode.java
index cfb5b1603777ae94a720e2575e6dfc6fedf39f17..28108c461f7417fa464ae672260728270c9388dc 100755
--- a/src/main/java/ui/window/JDialogADDMemoryNode.java
+++ b/src/main/java/ui/window/JDialogADDMemoryNode.java
@@ -53,8 +53,6 @@ import java.awt.event.ActionListener;
  * Creation: 21/08/2014
  * @version 1.0 21/08/2014
  * @author Ludovic APVRILLE
- * @version 1.1 18/06/2018 (Add processCode)
- * @author Irina Kit Yan LEE
  */
 
 public class JDialogADDMemoryNode extends JDialogBase implements ActionListener  {
@@ -340,4 +338,4 @@ public class JDialogADDMemoryNode extends JDialogBase implements ActionListener
     	return tracemode.getSelectedIndex();
         //return monitored.getText();
     }
-}
\ No newline at end of file
+}