Пример #1
0
 public PetriNetwork(Random rand, string name, string description, int width, int height, int sh_width, int sh_height, IdentityProvider identityProvider, string statePrefix, int defaultEdgeWeight, int stateGenNumber, string fileName, FireRule fireRule, int simulationTimeout, string certificateSubject, DateTime lastModificationDate)
     : base(rand, stateGenNumber, statePrefix, sh_width, sh_height)
 {
     this.name = name;
     this.description = description;
     this.fileName = fileName;
     this.width = width;
     this.height = height;
     this.identityProvider = identityProvider;
     this.defaultEdgeWeight = defaultEdgeWeight;
     this.fireRule = fireRule;
     this.simulationTimeout = simulationTimeout;
     this.activeSimulation = false;
     this.certificateSubject = certificateSubject;
     this.lastModificationDate = lastModificationDate;
 }
Пример #2
0
 protected override void dialogOK()
 {
     try
     {
         int width = Convert.ToInt32(this.nudWidth.Value);
         int height = Convert.ToInt32(this.nudHeight.Value);
         int sh_width = Convert.ToInt32(this.nudStateHierarchyWidth.Value);
         int sh_height = Convert.ToInt32(this.nudStateHierarchyHeight.Value);
         int defaultEdgeWeight = Convert.ToInt32(this.nudDefaultEdgeWeight.Value);
         int simulationTimeout = Convert.ToInt32(this.nudTimeout.Value);
         IdentityProvider identityProvider = new IdentityProvider(tbPositionPrefix.Text, tbTransitionPrefix.Text, tbTokenPrefix.Text, tbNotePrefix.Text, 0, 0, 0, 0);
         string certificateSubject = CryptoHelper.getInstance().Subject;
         this.petriNetwork = new PetriNetwork(this.rand, tbName.Text, "", width, height, sh_width, sh_height, identityProvider, tbStatePrefix.Text, defaultEdgeWeight, 0, null, FireRule.getDefault(), simulationTimeout, certificateSubject, DateTime.Now);
     }
     catch (OverflowException e)
     {
         throw new SimApplicationException("Conversion error.",e);
     }
 }
Пример #3
0
 public static PetriNetwork openSettingsFromXml(Random rand, XmlNodeList root, string fileName)
 {
     int tokenGenNumber = 0;
     int positionGenNumber = 0;
     int transitionGenNumber = 0;
     int noteGenNumber = 0;
     int stateGenNumber = 0;
     string tokenPrefix = "";
     string positionPrefix = "P";
     string transitionPrefix = "T";
     string notePrefix = "N";
     string statePrefix = "S";
     int defaultEdgeWeight = 1;
     string name = "new";
     string certificateSubject = "";
     DateTime lastModificationDate = DateTime.Now;
     string description = "";
     int width = 640;
     int height = 480;
     int sh_width = 320;
     int sh_height = 240;
     int simulationTimeout = PetriNetwork.DEF_TIMEOUT;
     FireRule fireRule = FireRule.getDefault();
     EventTrunk events = new EventTrunk();
     foreach (XmlNode node in root)
     {
         string namespaceUri = node.NamespaceURI;
         string localName = node.LocalName;
         switch (namespaceUri)
         {
             case PetriXmlHelper.XML_SETTINGS_NAMESPACE:
                 switch (localName)
                 {
                     case "Name":
                         name = PetriNetwork.openStringData(node);
                         break;
                     case "CertificateSubject":
                         certificateSubject = PetriNetwork.openStringData(node);
                         break;
                     case "LastModificationDate":
                         lastModificationDate = PetriNetwork.openDateTimeData(node);
                         break;
                     case "Description":
                         description = PetriNetwork.openStringData(node);
                         break;
                     case "Width":
                         width = PetriNetwork.openIntData(node);
                         break;
                     case "Height":
                         height = PetriNetwork.openIntData(node);
                         break;
                     case "StateHierarchyWidth":
                         sh_width = PetriNetwork.openIntData(node);
                         break;
                     case "StateHierarchyHeight":
                         sh_height = PetriNetwork.openIntData(node);
                         break;
                     case "TokenGenNumber":
                         tokenGenNumber = PetriNetwork.openIntData(node);
                         break;
                     case "PositionGenNumber":
                         positionGenNumber = PetriNetwork.openIntData(node);
                         break;
                     case "TransitionGenNumber":
                         transitionGenNumber = PetriNetwork.openIntData(node);
                         break;
                     case "NoteGenNumber":
                         noteGenNumber = PetriNetwork.openIntData(node);
                         break;
                     case "StateGenNumber":
                         stateGenNumber = PetriNetwork.openIntData(node);
                         break;
                     case "TokenPrefix":
                         tokenPrefix = PetriNetwork.openStringData(node);
                         break;
                     case "PositionPrefix":
                         positionPrefix = PetriNetwork.openStringData(node);
                         break;
                     case "TransitionPrefix":
                         transitionPrefix = PetriNetwork.openStringData(node);
                         break;
                     case "NotePrefix":
                         notePrefix = PetriNetwork.openStringData(node);
                         break;
                     case "StatePrefix":
                         statePrefix = PetriNetwork.openStringData(node);
                         break;
                     case "DefaultEdgeWeight":
                         defaultEdgeWeight = PetriNetwork.openIntData(node);
                         break;
                     case "FireRule":
                         fireRule = FireRule.getEnumByValue(PetriNetwork.openStringData(node));
                         break;
                     case "SimulationTimeout":
                         simulationTimeout = PetriNetwork.openIntData(node);
                         break;
                 }
                 break;
         }
     }
     IdentityProvider identityProvider = new IdentityProvider(positionPrefix, transitionPrefix, tokenPrefix, notePrefix,tokenGenNumber, positionGenNumber, transitionGenNumber, noteGenNumber);
     return new PetriNetwork(rand, name, description, width, height, sh_width, sh_height, identityProvider, statePrefix, defaultEdgeWeight, stateGenNumber, fileName, fireRule, simulationTimeout, certificateSubject, lastModificationDate);
 }