diff --git a/src/ui/prosmd/util/CorrespondanceSMDElement.java b/src/ui/prosmd/util/CorrespondanceSMDElement.java
new file mode 100644
index 0000000000000000000000000000000000000000..08b46b4a37c3fa26885cc09153cf98bebb552c83
--- /dev/null
+++ b/src/ui/prosmd/util/CorrespondanceSMDElement.java
@@ -0,0 +1,49 @@
+package ui.prosmd.util;
+
+import translator.ADComponent;
+import ui.TGComponent;
+
+public class CorrespondanceSMDElement {
+
+	private ADComponent adComp;
+	private TGComponent tgComp;
+	private String panelName;
+	private String machineCode;
+
+	public CorrespondanceSMDElement(ADComponent adComp, TGComponent tgComp, String panelName, String machineCode) {
+		super();
+		// TODO Auto-generated constructor stub
+		this.adComp = adComp;
+		this.tgComp = tgComp;
+		this.panelName = panelName;
+		this.machineCode = machineCode;
+	}
+
+	public ADComponent getAdComp() {
+		return adComp;
+	}
+
+	public String getMachineCode() {
+		return machineCode;
+	}
+
+	public String getPanelName() {
+		return panelName;
+	}
+
+	public TGComponent getTgComp() {
+		return tgComp;
+	}
+	
+	
+	
+	
+	public String toString()
+	{
+		String out="";
+		out+="{"+adComp.toString()+" ; "+tgComp.toString()+" ; "+panelName+" ; "+machineCode+"}";
+		return out;
+	}
+	
+
+}
diff --git a/src/ui/prosmd/util/CorrespondanceSMDManager.java b/src/ui/prosmd/util/CorrespondanceSMDManager.java
new file mode 100644
index 0000000000000000000000000000000000000000..037fc30b449e92a635e1c0d4a7ad649303f1a736
--- /dev/null
+++ b/src/ui/prosmd/util/CorrespondanceSMDManager.java
@@ -0,0 +1,65 @@
+package ui.prosmd.util;
+
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import translator.ADComponent;
+import ui.TGComponent;
+import ui.prosmd.ProSMDState;
+
+public class CorrespondanceSMDManager {
+
+	List <CorrespondanceSMDElement> elements;
+
+	public CorrespondanceSMDManager() {
+		elements=new LinkedList<CorrespondanceSMDElement>();
+	}
+	
+	
+	public void addCorrespondance(ADComponent adComp, TGComponent tgComp, String panelName, String machineCode)
+	{
+		CorrespondanceSMDElement ce=new CorrespondanceSMDElement(adComp,tgComp,panelName,machineCode);
+		elements.add(ce);
+	}
+	
+
+	public ADComponent getADComp(TGComponent tgComp, String panelName, String machineCode)
+		{
+			Iterator<CorrespondanceSMDElement> i=elements.iterator();
+			ADComponent adComp=null;
+			
+		while (i.hasNext())
+		{
+			CorrespondanceSMDElement ce=i.next();
+			if ( (ce.getTgComp().equals(tgComp))&& (ce.getPanelName().equals(panelName))&&(ce.getMachineCode().equals(machineCode)))
+				adComp=ce.getAdComp();					
+		}					
+		return adComp;
+		}				
+	
+	/*
+	 * we just look for name
+	 * because we only have one junction for all the states with the same value
+	 */
+	public ADComponent getADComp(ProSMDState stateComp, String panelName, String machineCode)
+	{
+		Iterator<CorrespondanceSMDElement> i=elements.iterator();
+		ADComponent adComp=null;
+		String stateName=stateComp.getValue();
+		
+	while (i.hasNext())
+	{
+		CorrespondanceSMDElement ce=i.next();
+		String cState=ce.getTgComp().getValue();
+		String cMachineCode=ce.getMachineCode();
+		if ( (cState!=null) && (cMachineCode!=null) )
+		if ( (cState.equals(stateName))&& (ce.getPanelName().equals(panelName))&&(cMachineCode.equals(machineCode)))
+			adComp=ce.getAdComp();					
+	}					
+	return adComp;
+	}				
+
+	
+	
+}