diff --git a/src/data/java/de/tudresden/inf/st/pnml/base/constants/PnmlConstants.java b/src/data/java/de/tudresden/inf/st/pnml/base/constants/PnmlConstants.java
index 54ff2c461715d3daba7df172a38c2738692fecbe..f5efc3fa5bb0e623a04410337a43f8d3a476dc95 100644
--- a/src/data/java/de/tudresden/inf/st/pnml/base/constants/PnmlConstants.java
+++ b/src/data/java/de/tudresden/inf/st/pnml/base/constants/PnmlConstants.java
@@ -82,6 +82,8 @@ public final class PnmlConstants {
     public static final String CHANNEL_PLACE_TYPE_CLIENT_REQ_KEY = "creq";
     public static final String CHANNEL_PLACE_TYPE_SERVER_RES_KEY = "sres";
     public static final String CHANNEL_PLACE_TYPE_SERVER_REQ_KEY = "sreq";
+    public static final String PORTS_CRES_KEY = "cResponsePlace";
+    public static final String PORTS_CREQ_KEY = "cRequestPlace";
 
     // page properties
     public static final String PAGE_TYPE_SERVER = "serverPrototype";
diff --git a/src/main/jastadd/base/distribution/DistributedPN.jadd b/src/main/jastadd/base/distribution/DistributedPN.jadd
index 60f7ef469ffc3222ca752024e05b41b36d541bde..584b19570efedcf0f939a9eae11a80124d037daa 100644
--- a/src/main/jastadd/base/distribution/DistributedPN.jadd
+++ b/src/main/jastadd/base/distribution/DistributedPN.jadd
@@ -63,6 +63,14 @@ aspect PnDistribution {
         return ToolSpecificsParser.getChannelElementLimitById(this.getToolspecificList(), placeKey);
     }
 
+    syn String PetriNet.getPortNameByPlaceId(String placeId){
+        return ToolSpecificsParser.getPortNameByPlaceId(this.getToolspecificList(), placeId);
+    }
+
+    syn String PetriNet.getServiceClientResponsePlaceId(String placeId){
+        return ToolSpecificsParser.getServiceClientResponsePlaceId(this.getToolspecificList(), placeId);
+    }
+
     syn lazy CommunicatorInformation PetriNet.getCommunicatorInformation(Set<String> ignoredParts){
 
         CommunicatorInformation cInfo = ToolSpecificsParser.getCommunicatorInformationFromToolSpecifics(this.getToolspecificList());
diff --git a/src/main/jastadd/base/parsing/ToolSpecificsParser.jadd b/src/main/jastadd/base/parsing/ToolSpecificsParser.jadd
index 50895046e13bc57a289b4743838b9d4586193eb6..92f05aa9d48bb4930807e6a16351fb8ff35f68f9 100644
--- a/src/main/jastadd/base/parsing/ToolSpecificsParser.jadd
+++ b/src/main/jastadd/base/parsing/ToolSpecificsParser.jadd
@@ -48,6 +48,10 @@ aspect ToolSpecificsParser{
 
         public static Integer getChannelElementLimitById(JastAddList<ToolInfo> toolInfos, String id){
 
+            if(id.contains("INSTANCE")){
+                id = id.split("-INSTANCE")[0];
+            }
+
             HashMap<String, ArrayList<String>> res =  new HashMap<String, ArrayList<String>>();
 
             try {
@@ -70,6 +74,56 @@ aspect ToolSpecificsParser{
             return -1;
         }
 
+        public static String getServiceClientResponsePlaceId(JastAddList<ToolInfo> toolInfos, String requestPlaceId){
+
+            if(requestPlaceId.contains("INSTANCE")){
+                requestPlaceId = requestPlaceId.split("-INSTANCE")[0];
+            }
+
+            try {
+                Document doc = parseToolSpecifics(toolInfos);
+                org.w3c.dom.NodeList portDefList = doc.getElementsByTagName(PnmlConstants.CHANNEL_PORT_KEY);
+
+                for(int i = 0; i < portDefList.getLength(); i++){
+                    Element portElem = (Element) portDefList.item(i);
+                    if(portElem.getTextContent().equals(requestPlaceId)){
+                        return portElem.getAttribute(PnmlConstants.PORTS_CRES_KEY);
+
+                    }
+                }
+
+            } catch(ParserConfigurationException | SAXException | IOException e){
+                logger.error(e.getMessage());
+            }
+
+            return null;
+        }
+
+        public static String getPortNameByPlaceId(JastAddList<ToolInfo> toolInfos, String id){
+
+            if(id.contains("INSTANCE")){
+                id = id.split("-INSTANCE")[0];
+            }
+
+            try {
+                Document doc = parseToolSpecifics(toolInfos);
+                org.w3c.dom.NodeList portDefList = doc.getElementsByTagName(PnmlConstants.CHANNEL_PORT_KEY);
+
+                for(int i = 0; i < portDefList.getLength(); i++){
+                    Element portElem = (Element) portDefList.item(i);
+                    if(portElem.getTextContent().equals(id)){
+                        return portElem.getAttribute(PnmlConstants.CHANNEL_NAME_KEY);
+
+                    }
+                }
+
+            } catch(ParserConfigurationException | SAXException | IOException e){
+                logger.error(e.getMessage());
+            }
+
+            return null;
+        }
+
         public static HashMap<String, ArrayList<String>> getChannelElemensByKey(JastAddList<ToolInfo> toolInfos, String channelTypeKey){
 
             HashMap<String, ArrayList<String>> res =  new HashMap<String, ArrayList<String>>();