From 23131d44788a9111dc9623e6524e8d197899b93a Mon Sep 17 00:00:00 2001 From: Letitia Li <leli@enst.fr> Date: Thu, 19 May 2016 12:26:21 +0000 Subject: [PATCH] To AvatarDP translation --- src/tmltranslator/TMLActivityElement.java | 8 +++++++- src/tmltranslator/toavatar/TML2Avatar.java | 7 +++---- src/ui/GTMLModeling.java | 4 ++++ src/ui/GTURTLEModeling.java | 3 +++ src/ui/avatarbd/AvatarBDBlock.java | 2 +- src/ui/avatarbd/AvatarBDPragma.java | 4 ++++ 6 files changed, 22 insertions(+), 6 deletions(-) diff --git a/src/tmltranslator/TMLActivityElement.java b/src/tmltranslator/TMLActivityElement.java index ff9af0a8d8..8ae3fbdd6d 100755 --- a/src/tmltranslator/TMLActivityElement.java +++ b/src/tmltranslator/TMLActivityElement.java @@ -51,6 +51,7 @@ import java.util.*; public class TMLActivityElement extends TMLElement{ protected Vector<TMLActivityElement> nexts; public SecurityPattern securityPattern; + private String value=""; public TMLActivityElement(String _name, Object _referenceObject) { super(_name, _referenceObject); nexts = new Vector(); @@ -60,7 +61,12 @@ public class TMLActivityElement extends TMLElement{ public int getNbNext() { return nexts.size(); } - + public void setValue(String val){ + value=val; + } + public String getValue(){ + return value; + } public TMLActivityElement getNextElement(int _i) { if (_i < getNbNext() ) { return (TMLActivityElement)(nexts.elementAt(_i)); diff --git a/src/tmltranslator/toavatar/TML2Avatar.java b/src/tmltranslator/toavatar/TML2Avatar.java index 4357c797eb..25be499f94 100644 --- a/src/tmltranslator/toavatar/TML2Avatar.java +++ b/src/tmltranslator/toavatar/TML2Avatar.java @@ -647,7 +647,7 @@ public class TML2Avatar { } else if (ae instanceof TMLActivityElementWithAction){ //Might be encrypt or decrypt - AvatarState as = new AvatarState(ae.getName(), ae.getReferenceObject()); + AvatarState as = new AvatarState(ae.getValue(), ae.getReferenceObject()); tran = new AvatarTransition(block, "__after_"+ae.getName(), ae.getReferenceObject()); //For now, get rid of the action. It won't translate anyway //tran.addAction(((TMLActivityElementWithAction) ae).getAction()); @@ -1194,14 +1194,13 @@ public class TML2Avatar { asm.setStartState((AvatarStartState) elementList.get(0)); } for (SecurityPattern secPattern: secPatterns){ - System.out.println("secpattern "+ secPattern.name); AvatarAttribute sec = new AvatarAttribute(secPattern.name, AvatarType.INTEGER, block, null); AvatarAttribute enc = new AvatarAttribute(secPattern.name+"_encrypted", AvatarType.INTEGER, block, null); LinkedList<AvatarAttribute> attrs = new LinkedList<AvatarAttribute>(); block.addAttribute(sec); block.addAttribute(enc); attrs.add(sec); - avspec.addPragma(new AvatarPragmaSecret("#Confidentiality "+block.getName() + "."+ "securitypattern", null, attrs)); + avspec.addPragma(new AvatarPragmaSecret("#Confidentiality "+block.getName() + "."+ secPattern.name, null, attrs)); } avspec.addBlock(block); } @@ -1212,7 +1211,7 @@ public class TML2Avatar { //Add authenticity pragmas for (String s: signalAuthOriginMap.keySet()){ if (signalAuthDestMap.containsKey(s)){ - AvatarPragmaAuthenticity pragma = new AvatarPragmaAuthenticity(s, signalAuthOriginMap.get(s).getReferenceObject(), signalAuthOriginMap.get(s), signalAuthDestMap.get(s)); + AvatarPragmaAuthenticity pragma = new AvatarPragmaAuthenticity("#Authenticity ", signalAuthOriginMap.get(s).getReferenceObject(), signalAuthOriginMap.get(s), signalAuthDestMap.get(s)); avspec.addPragma(pragma); } } diff --git a/src/ui/GTMLModeling.java b/src/ui/GTMLModeling.java index 41d3742abb..b01ffd77b4 100755 --- a/src/ui/GTMLModeling.java +++ b/src/ui/GTMLModeling.java @@ -1483,12 +1483,14 @@ public class GTMLModeling { } else if (tgc instanceof TMLADExecI) { tmlexeci = new TMLExecI("execi", tgc); tmlexeci.setAction(modifyString(((TMLADExecI)tgc).getDelayValue())); + tmlexeci.setValue(((TMLADExecC)tgc).getDelayValue()); activity.addElement(tmlexeci); ((BasicErrorHighlight)tgc).setStateAction(ErrorHighlight.OK); listE.addCor(tmlexeci, tgc); } else if (tgc instanceof TMLADExecIInterval) { tmlexecii = new TMLExecIInterval("execi", tgc); + tmlexecii.setValue(tgc.getValue()); tmlexecii.setMinDelay(modifyString(((TMLADExecIInterval)tgc).getMinDelayValue())); tmlexecii.setMaxDelay(modifyString(((TMLADExecIInterval)tgc).getMaxDelayValue())); activity.addElement(tmlexecii); @@ -1516,6 +1518,8 @@ public class GTMLModeling { } else if (tgc instanceof TMLADExecC) { tmlexecc = new TMLExecC("execc", tgc); + tmlexecc.setValue(((TMLADExecC)tgc).getDelayValue()); + System.out.println("val " + tgc.getValue()); tmlexecc.setAction(modifyString(((TMLADExecC)tgc).getDelayValue())); activity.addElement(tmlexecc); ((BasicErrorHighlight)tgc).setStateAction(ErrorHighlight.OK); diff --git a/src/ui/GTURTLEModeling.java b/src/ui/GTURTLEModeling.java index 3459b80094..f963bef878 100755 --- a/src/ui/GTURTLEModeling.java +++ b/src/ui/GTURTLEModeling.java @@ -639,6 +639,9 @@ public class GTURTLEModeling { public boolean generateProVerifFromAVATAR(String _path, int _stateReachability, boolean _typed, String loopLimit) { if (tmap!=null){ t2a = new TML2Avatar(tmap); + TML2AvatarDP tml2avatardp = new TML2AvatarDP(tmap); + tml2avatardp.adp = mgui.getFirstAvatarDesignPanelFound(); + tml2avatardp.translate(); avatarspec = t2a.generateAvatarSpec(loopLimit); } else if (tmlm!=null){ diff --git a/src/ui/avatarbd/AvatarBDBlock.java b/src/ui/avatarbd/AvatarBDBlock.java index 6f677c64a6..0beba05139 100644 --- a/src/ui/avatarbd/AvatarBDBlock.java +++ b/src/ui/avatarbd/AvatarBDBlock.java @@ -519,7 +519,7 @@ public class AvatarBDBlock extends TGCScalableWithInternalComponent implements S return true; } else { JOptionPane.showMessageDialog(frame, - "Could not change the name of the Block: this name is already in use", + "Could not change the name of the Block: frame error", "Error", JOptionPane.INFORMATION_MESSAGE); setValue(oldValue); diff --git a/src/ui/avatarbd/AvatarBDPragma.java b/src/ui/avatarbd/AvatarBDPragma.java index 6404f815ea..6ec8090bc1 100755 --- a/src/ui/avatarbd/AvatarBDPragma.java +++ b/src/ui/avatarbd/AvatarBDPragma.java @@ -130,6 +130,10 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent { public String[] getValues() { return values; } + public void setValues(String[] v){ + values=v; + makeValue(); + } public LinkedList<String> getProperties() { return properties; } -- GitLab