diff --git a/src/ui/window/JDialogAvatarExecutableCodeGeneration.java b/src/ui/window/JDialogAvatarExecutableCodeGeneration.java
index 04680e6c81e14f92b46cc79ac494a39c700eae82..9beb87fd714d49baa3648b3843bc893222ac87bf 100644
--- a/src/ui/window/JDialogAvatarExecutableCodeGeneration.java
+++ b/src/ui/window/JDialogAvatarExecutableCodeGeneration.java
@@ -85,6 +85,7 @@ import myutil.ScrolledJTextArea;
 import myutil.TraceManager;
 import ui.AvatarDeploymentPanelTranslator;
 import ui.IconManager;
+import ui.JTextAreaWriter;
 import ui.MainGUI;
 import ui.avatardd.ADDDiagramPanel;
 import ui.interactivesimulation.JFrameSimulationSDPanel;
@@ -137,6 +138,7 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im
 
     //components
     protected JTextArea jta;
+    private JTextAreaWriter textAreaWriter;
     protected JButton start;
     protected JButton stop;
     protected JButton close;
@@ -441,6 +443,8 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im
         jta.append("Select options and then, click on 'start' to launch code generation / compilation / execution\n");
         Font f = new Font("Courrier", Font.BOLD, 12);
         jta.setFont(f);
+        textAreaWriter = new JTextAreaWriter( jta );
+
         jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
 
         c.add(jsp, BorderLayout.CENTER);
@@ -548,7 +552,7 @@ public class JDialogAvatarExecutableCodeGeneration extends javax.swing.JFrame im
 
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
 
         }
@@ -882,8 +886,9 @@ list = FileUtils.deleteFiles(code1.getText() +  TasksAndMainGenerator.getGenerat
 
     protected void processCmd(String cmd, JTextArea _jta) throws LauncherException {
         rshc.setCmd(cmd);
-        rshc.sendProcessRequest();
-        rshc.fillJTA(_jta);
+        rshc.sendExecuteCommandRequest();
+        rshc.writeCommandMessages( textAreaWriter );
+        
         return;
     }
 
diff --git a/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java b/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java
index 894cf5a5ec62490e5abeb66d3c0e14c63a45d87f..c620e22dd2e2e465e9482ddbaeb3e1df0ce28d04 100755
--- a/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java
+++ b/src/ui/window/JDialogAvatarddExecutableCodeGeneration.java
@@ -478,7 +478,7 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
 
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
 
         }
@@ -710,8 +710,11 @@ public class JDialogAvatarddExecutableCodeGeneration extends javax.swing.JFrame
 
     protected void processCmd(String cmd, JTextArea _jta) throws LauncherException {
         rshc.setCmd(cmd);
-        rshc.sendProcessRequest();
-        rshc.fillJTA(_jta);
+        rshc.sendExecuteCommandRequest();
+        final Writer output = new StringWriter();
+        rshc.writeCommandMessages( output );
+        _jta.append( output.toString() );
+
         return;
     }
 
diff --git a/src/ui/window/JDialogBisimulation.java b/src/ui/window/JDialogBisimulation.java
index 03e1129bcab2298f6927feb619d4d197205d8b08..fdd23b3288929dee740b6bdfe6b9a3b7fe57037d 100755
--- a/src/ui/window/JDialogBisimulation.java
+++ b/src/ui/window/JDialogBisimulation.java
@@ -299,7 +299,7 @@ public class JDialogBisimulation extends javax.swing.JDialog implements ActionLi
     public void stopProcess() {
         if (rshc != null) {
             try {
-                rshc.stopFillJTA();
+                rshc.stopCommand();
             } catch (LauncherException le) {
                 
             }
@@ -378,7 +378,7 @@ public class JDialogBisimulation extends javax.swing.JDialog implements ActionLi
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogBisimulationBisimulator.java b/src/ui/window/JDialogBisimulationBisimulator.java
index 57fb73e79be966669f776f6adf27f89bddd7f469..2d60e96d5b400b129e8d8c98bdc5d3c00db7dd3f 100755
--- a/src/ui/window/JDialogBisimulationBisimulator.java
+++ b/src/ui/window/JDialogBisimulationBisimulator.java
@@ -348,7 +348,7 @@ public class JDialogBisimulationBisimulator extends javax.swing.JDialog implemen
     public void stopProcess() {
         if (rshc != null) {
             try {
-                rshc.stopFillJTA();
+                rshc.stopCommand();
             } catch (LauncherException le) {
                 
             }
@@ -467,7 +467,7 @@ public class JDialogBisimulationBisimulator extends javax.swing.JDialog implemen
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogCCodeGeneration.java b/src/ui/window/JDialogCCodeGeneration.java
index 157fd92b90f810288e343af94cf348a57eb7e19d..e99422a1b00e6d14ca517dcf714973de384c276e 100755
--- a/src/ui/window/JDialogCCodeGeneration.java
+++ b/src/ui/window/JDialogCCodeGeneration.java
@@ -421,7 +421,7 @@ public class JDialogCCodeGeneration extends javax.swing.JDialog implements Actio
 
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
 
         }
diff --git a/src/ui/window/JDialogDSE.java b/src/ui/window/JDialogDSE.java
index 7632b2eddcb0e546b3d35ffd8b2a8e7bb51e2bbd..2db7003e808a17c348942d297a44aa1e082be3f5 100644
--- a/src/ui/window/JDialogDSE.java
+++ b/src/ui/window/JDialogDSE.java
@@ -586,7 +586,7 @@ public class JDialogDSE extends javax.swing.JDialog implements ActionListener, R
     public void stopProcess() {
         if (rshc != null ){
             try {
-                rshc.stopFillJTA();
+                rshc.stopCommand();
             } catch (LauncherException le) {
             }
         }
diff --git a/src/ui/window/JDialogFormalValidation.java b/src/ui/window/JDialogFormalValidation.java
index 29abbc46d1c7454b432ea0d90da7fa44e78ecd2a..1cba38a02d08a90848f036bb1ab9c2e9e35d48cf 100755
--- a/src/ui/window/JDialogFormalValidation.java
+++ b/src/ui/window/JDialogFormalValidation.java
@@ -357,7 +357,7 @@ public class JDialogFormalValidation extends javax.swing.JDialog implements Acti
     
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
             
         }
@@ -597,14 +597,14 @@ public class JDialogFormalValidation extends javax.swing.JDialog implements Acti
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
     
     protected String processPipedCmd(String cmd1, String cmd2) throws LauncherException {
         String s = null;
-        rshc.sendProcessRequest(cmd1, cmd2);
+        rshc.sendExecutePipedCommandsRequest(cmd1, cmd2);
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogGenAUT.java b/src/ui/window/JDialogGenAUT.java
index 93408b74a40f3e3844c4ab0dbfe0273ea2d53c6e..9a85e1fecf49936a1746f036842e85bb10294463 100755
--- a/src/ui/window/JDialogGenAUT.java
+++ b/src/ui/window/JDialogGenAUT.java
@@ -203,7 +203,7 @@ public class JDialogGenAUT extends javax.swing.JDialog implements ActionListener
     
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
         }
         rshc = null;
@@ -289,7 +289,7 @@ public class JDialogGenAUT extends javax.swing.JDialog implements ActionListener
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogGenAUTS.java b/src/ui/window/JDialogGenAUTS.java
index 5f564b7b758f4d8cc7a99383d07b869d5c5be8ae..1aef51c5c47ac30321454442c7eba33206a083fa 100755
--- a/src/ui/window/JDialogGenAUTS.java
+++ b/src/ui/window/JDialogGenAUTS.java
@@ -216,7 +216,7 @@ public class JDialogGenAUTS extends javax.swing.JDialog implements ActionListene
     
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
         }
         rshc = null;
@@ -344,7 +344,7 @@ public class JDialogGenAUTS extends javax.swing.JDialog implements ActionListene
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogGraphModification.java b/src/ui/window/JDialogGraphModification.java
index 634d2b63cc52b3ead03cfe6bbcc78bc6050ecf5c..392b76864c34f0f15b4cb210642a364a7d35c087 100755
--- a/src/ui/window/JDialogGraphModification.java
+++ b/src/ui/window/JDialogGraphModification.java
@@ -348,7 +348,7 @@ public class JDialogGraphModification extends javax.swing.JDialog implements Act
     public void stopProcess() {
         if (rshc != null) {
             try {
-                rshc.stopFillJTA();
+                rshc.stopCommand();
             } catch (LauncherException le) {
 
             }
@@ -527,7 +527,7 @@ public class JDialogGraphModification extends javax.swing.JDialog implements Act
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogLOTOSAnalysis.java b/src/ui/window/JDialogLOTOSAnalysis.java
index da7e908c3346067cdc913412cf0dedd742a8ebc8..dcfc4080ab43d494445114092394955720f9dfe6 100755
--- a/src/ui/window/JDialogLOTOSAnalysis.java
+++ b/src/ui/window/JDialogLOTOSAnalysis.java
@@ -193,7 +193,7 @@
       
       public void stopProcess() {
           try {
-              rshc.stopFillJTA();
+              rshc.stopCommand();
           } catch (LauncherException le) {
           }
           rshc = null;
@@ -280,7 +280,7 @@
       protected String processCmd(String cmd) throws LauncherException {
           rshc.setCmd(cmd);
           String s = null;
-          rshc.sendProcessRequest();
+          rshc.sendExecuteCommandRequest();
           s = rshc.getDataFromProcess();
           return s;
       }
diff --git a/src/ui/window/JDialogLOTOSValidation.java b/src/ui/window/JDialogLOTOSValidation.java
index 0bfcee299ec80febfb98ee5229e7944dc4a6934b..0abd1ba6190a5839e8c41a1210e6c3aa4bb45e17 100755
--- a/src/ui/window/JDialogLOTOSValidation.java
+++ b/src/ui/window/JDialogLOTOSValidation.java
@@ -271,7 +271,7 @@ public class JDialogLOTOSValidation extends javax.swing.JDialog implements Actio
 	
 	public void stopProcess() {
 		try {
-			rshc.stopFillJTA();
+			rshc.stopCommand();
 		} catch (LauncherException le) {
 		}
 		rshc = null;
@@ -517,7 +517,7 @@ public class JDialogLOTOSValidation extends javax.swing.JDialog implements Actio
 	protected String processCmd(String cmd) throws LauncherException {
 		rshc.setCmd(cmd);
 		String s = null;
-		rshc.sendProcessRequest();
+		rshc.sendExecuteCommandRequest();
 		s = rshc.getDataFromProcess();
 		return s;
 	}
diff --git a/src/ui/window/JDialogProVerifGeneration.java b/src/ui/window/JDialogProVerifGeneration.java
index e0a5f9b46b90c351b98ff1cf822a47c7e6a960af..d507aa886b32816d3d9b5617c4b87750d311bd0d 100644
--- a/src/ui/window/JDialogProVerifGeneration.java
+++ b/src/ui/window/JDialogProVerifGeneration.java
@@ -318,7 +318,7 @@ public class JDialogProVerifGeneration extends javax.swing.JDialog implements Ac
     public void stopProcess() {
         if (rshc != null ){
             try {
-                rshc.stopFillJTA();
+                rshc.stopCommand();
             } catch (LauncherException le) {
             }
         }
@@ -501,7 +501,7 @@ public class JDialogProVerifGeneration extends javax.swing.JDialog implements Ac
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogProjection.java b/src/ui/window/JDialogProjection.java
index cacd3793b8547f949065633fd526a610e25c2f5e..6022472f93c52daff82127f33deee576896c083b 100755
--- a/src/ui/window/JDialogProjection.java
+++ b/src/ui/window/JDialogProjection.java
@@ -584,7 +584,7 @@ public class JDialogProjection extends javax.swing.JDialog implements ActionList
     public void stopProcess() {
         if (rshc != null) {
             try {
-                rshc.stopFillJTA();
+                rshc.stopCommand();
             } catch (LauncherException le) {
                 
             }
@@ -784,7 +784,7 @@ public class JDialogProjection extends javax.swing.JDialog implements ActionList
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogSimulation.java b/src/ui/window/JDialogSimulation.java
index 3dfe583f3c4de60e5503a7efa62fb282f7783110..b8edd11e45487b3bc6a83f70cb51c1c17523f35e 100755
--- a/src/ui/window/JDialogSimulation.java
+++ b/src/ui/window/JDialogSimulation.java
@@ -212,7 +212,7 @@ public class JDialogSimulation extends javax.swing.JDialog implements ActionList
     
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
         }
         rshc = null;
@@ -325,7 +325,7 @@ public class JDialogSimulation extends javax.swing.JDialog implements ActionList
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
diff --git a/src/ui/window/JDialogTMatrixManagement.java b/src/ui/window/JDialogTMatrixManagement.java
index 2b77604fe00d38db614574bc877be4641a46dda8..32d3da8fdf3560db5bc69ed429bab26bf3510f61 100755
--- a/src/ui/window/JDialogTMatrixManagement.java
+++ b/src/ui/window/JDialogTMatrixManagement.java
@@ -241,7 +241,7 @@ public class JDialogTMatrixManagement extends JFrame implements ActionListener,
     
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
             
         }
@@ -380,17 +380,17 @@ public class JDialogTMatrixManagement extends JFrame implements ActionListener,
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
-        s = rshc.getDataFromProcess();
-        return s;
-    }
-    
-    protected String processPipedCmd(String cmd1, String cmd2) throws LauncherException {
-        String s = null;
-        rshc.sendProcessRequest(cmd1, cmd2);
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }
+//    DB: Issue #18: This method is not used
+//    protected String processPipedCmd(String cmd1, String cmd2) throws LauncherException {
+//        String s = null;
+//        rshc.sendExecutePipedCommandsRequest(cmd1, cmd2);
+//        s = rshc.getDataFromProcess();
+//        return s;
+//    }
     
     protected void checkMode() {
         
diff --git a/src/ui/window/JDialogTPNValidation.java b/src/ui/window/JDialogTPNValidation.java
index 0bbf64c4aab26fbde2afd8c588f2521aa48504f0..eec86b855578226da850cf30f17c45f54b45b9c9 100755
--- a/src/ui/window/JDialogTPNValidation.java
+++ b/src/ui/window/JDialogTPNValidation.java
@@ -199,7 +199,7 @@ public class JDialogTPNValidation extends javax.swing.JDialog implements ActionL
 
 	public void stopProcess() {
 		try {
-			rshc.stopFillJTA();
+			rshc.stopCommand();
 		} catch (LauncherException le) {
 		}
 		rshc = null;
@@ -301,7 +301,7 @@ public class JDialogTPNValidation extends javax.swing.JDialog implements ActionL
 	protected String processCmd(String cmd) throws LauncherException {
 		rshc.setCmd(cmd);
 		String s = null;
-		rshc.sendProcessRequest();
+		rshc.sendExecuteCommandRequest();
 		s = rshc.getDataFromProcess();
 		return s;
 	}
diff --git a/src/ui/window/JDialogTextProcess.java b/src/ui/window/JDialogTextProcess.java
index 04291246bec7d5ee7dc9929fa41f28b26052d171..1adbc9e60065a5301bef995b51888e1cb858d5c0 100755
--- a/src/ui/window/JDialogTextProcess.java
+++ b/src/ui/window/JDialogTextProcess.java
@@ -48,6 +48,7 @@ package ui.window;
 
 import java.awt.*;
 import java.awt.event.*;
+
 import javax.swing.*;
 import launcher.*;
 import myutil.*;
@@ -70,6 +71,7 @@ public class JDialogTextProcess extends javax.swing.JDialog implements ActionLis
 	
 	//components
 	protected JTextArea jta; 
+    private JTextAreaWriter textAreaWriter;
 	protected JButton start;
 	protected JButton stop;
 	protected JButton close;
@@ -110,7 +112,8 @@ public class JDialogTextProcess extends javax.swing.JDialog implements ActionLis
 		Font f = new Font("Courrier", Font.BOLD, 12); 
 		jta.setFont(f);
 		JScrollPane jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
-		
+        textAreaWriter = new JTextAreaWriter( jta );
+	
 		c.add(jsp, BorderLayout.CENTER);
 		
 		start = new JButton("Start", IconManager.imgic53);
@@ -155,7 +158,7 @@ public class JDialogTextProcess extends javax.swing.JDialog implements ActionLis
 	
 	public void stopProcess() {
                 try {
-                    rshc.stopFillJTA();
+                    rshc.stopCommand();
                 } catch (LauncherException le) {
                     
                 }
@@ -184,7 +187,7 @@ public class JDialogTextProcess extends javax.swing.JDialog implements ActionLis
 			rshc.sendFileData(fileName, spec);
 			jta.append("Sending process request\n");
 			rshc.setCmd(Conversion.replaceAllString(cmd, "__FILENAME", fileName));
-			rshc.sendProcessRequest();
+			rshc.sendExecuteCommandRequest();
 
 		} catch (LauncherException le) {
 			jta.append(le.getMessage() + "\n");
@@ -199,7 +202,7 @@ public class JDialogTextProcess extends javax.swing.JDialog implements ActionLis
 			
 		try {
 			jta.append("\nRTL Process:\n------------------\n");
-			rshc.fillJTA(jta);
+	        rshc.writeCommandMessages( textAreaWriter );
 
 			rshc.deleteFile(fileName);
 			rshc.deleteFile(fileName+".sim");
diff --git a/src/ui/window/JDialogUPPAALValidation.java b/src/ui/window/JDialogUPPAALValidation.java
index b90cfe86a162b823bd8856c1025af921075ac18e..339febba5cf83242e153d18266a461324086447c 100755
--- a/src/ui/window/JDialogUPPAALValidation.java
+++ b/src/ui/window/JDialogUPPAALValidation.java
@@ -300,7 +300,7 @@ public class JDialogUPPAALValidation extends javax.swing.JDialog implements Acti
 
     public void stopProcess() {
         try {
-            rshc.stopFillJTA();
+            rshc.stopCommand();
         } catch (LauncherException le) {
         }
         rshc = null;
@@ -651,7 +651,7 @@ public class JDialogUPPAALValidation extends javax.swing.JDialog implements Acti
     protected String processCmd(String cmd) throws LauncherException {
         rshc.setCmd(cmd);
         String s = null;
-        rshc.sendProcessRequest();
+        rshc.sendExecuteCommandRequest();
         s = rshc.getDataFromProcess();
         return s;
     }