Exemple #1
0
        private void IndexingBtn_Click(object sender, EventArgs e) //INDEXING
        {
            string[] sFilePaths;
            string[] sFileNames;

            openFileDialog1.Title       = "Browse";
            openFileDialog1.Filter      = "Network Documents (*.net) | *.net";
            openFileDialog1.FileName    = "";
            openFileDialog1.Multiselect = true;
            openFileDialog1.ShowDialog();
            if (openFileDialog1.FileName == "")
            {
                return;
            }

            sFilePaths    = openFileDialog1.FileNames;
            sFileNames    = openFileDialog1.SafeFileNames;
            rp.repository = new GraphVariables.clsRepository.processModel[sFileNames.Length];
            rp.nModel     = sFileNames.Length;

            bool[] flag_Check = new bool[8];
            //get query request (what behavior relation need to check) =>> flag_Check[] = false => get this relation
            flag_Check[0] = true;  //totalConcurrency
            flag_Check[1] = true;  //existConcurrency
            flag_Check[2] = true;  //totalCausal
            flag_Check[3] = true;  //existCausal
            //====================
            flag_Check[4] = false; //canConflict
            flag_Check[5] = true;  //NOTcanConflict
            flag_Check[6] = true;  //canCoocur
            flag_Check[7] = true;  //NOTcanCoocur

            //flag_Check = new bool[8];

            DateTime totalTime = new DateTime(); totalTime = DateTime.Now; double Run_Times_total = 0;

            for (int run = 0; run < sFileNames.Length; run++)
            {
                //if (rp.repository[run].clsLoop.Loop[0].nLoop > 0) continue; //not consider loops
                DateTime stTime = new DateTime(); stTime = DateTime.Now; double Run_Times = 0;

                Initialize_Details_Model(ref rp, run);
                loadGraph.Load_Data(ref rp.repository[run].graph, rp.repository[run].graph.orgNet, sFilePaths[run], true);
                rp.repository[run].ID_model = sFileNames[run];
                gProAnalyzer.Functionalities.IndexingPM.start_Indexing_Acyclic(ref rp.repository[run].graph, ref rp.repository[run].clsHWLS, ref rp.repository[run].clsHWLS_Untangle, ref rp.repository[run].clsLoop, ref rp.repository[run].clsSESE, flag_Check);

                Run_Times = (DateTime.Now - stTime).TotalMilliseconds;
                rp.repository[run].Time_Index = Run_Times;
            }
            Run_Times_total = (DateTime.Now - totalTime).TotalSeconds;
            MessageBox.Show("Finish in " + Run_Times_total.ToString() + " seconds", "Message");
        }
Exemple #2
0
        private void indexingProcessesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            gProAnalyzer.GraphVariables.clsGraph            graph; // m_Network represent the class "clsAnalysisNetwork"
            gProAnalyzer.Preprocessing.clsLoadGraph         loadGraph;
            gProAnalyzer.GraphVariables.clsLoop             clsLoop;
            gProAnalyzer.GraphVariables.clsSESE             clsSESE;
            gProAnalyzer.GraphVariables.clsHWLS             clsHWLS;
            gProAnalyzer.GraphVariables.clsHWLS             clsHWLS_Untangle;
            gProAnalyzer.Functionalities.LoopIdentification loopNode;
            gProAnalyzer.Functionalities.IndexingPM         indexing;

            //Initialized All
            graph            = new gProAnalyzer.GraphVariables.clsGraph();
            clsLoop          = new GraphVariables.clsLoop();
            clsSESE          = new GraphVariables.clsSESE();
            loopNode         = new gProAnalyzer.Functionalities.LoopIdentification();
            loadGraph        = new gProAnalyzer.Preprocessing.clsLoadGraph();
            clsHWLS          = new gProAnalyzer.GraphVariables.clsHWLS();
            clsHWLS_Untangle = new gProAnalyzer.GraphVariables.clsHWLS();
            indexing         = new gProAnalyzer.Functionalities.IndexingPM();

            //load file
            openFileDialog.Title    = "Browse";
            openFileDialog.Filter   = "Network Documents (*.net) | *.net";
            openFileDialog.FileName = "";
            openFileDialog.ShowDialog();
            if (openFileDialog.FileName == "")
            {
                return;
            }

            string sFilePath = openFileDialog.FileName;

            //lblFileName.Text = openFileDialog.SafeFileName;

            loadGraph.Load_Data(ref graph, graph.orgNet, sFilePath, true);
            //Display information to tabInform
            this.Text = "AnalysisNetwork  --  " + openFileDialog.SafeFileName;

            //gProAnalyzer.Functionalities.IndexingPM.start_Indexing(ref graph, ref clsHWLS, ref clsHWLS_Untangle, ref clsLoop, ref clsSESE);
        }
        public void btnRun_Click(object sender, EventArgs e)
        {
            Initialized_All();
            int progress = 0;

            progressBar1.Minimum = 0;
            progressBar1.Maximum = sFileNames.Length;

            for (int run = 0; run < sFileNames.Length; run++)
            {
                row1    = dt.NewRow(); //new row for a single process model
                row1[0] = "abc";

                loadG.Load_Data(ref graph, graph.orgNet, sFilePaths[run], true);

                int NofRun = Convert.ToInt32(NumOfRun.Text);
                int retVal = 0;

                try {
                    retVal = runVerification.run_VerificationG(ref graph, ref clsHWLS, ref clsLoop, ref clsSESE, ref clsError, NofRun);
                }
                catch (Exception er)
                {
                    MessageBox.Show("Error at: " + sFilePaths[run] + " " + er.Message, "Code Errors");
                }


                Display_Basic(run);

                if (retVal > 0)
                {
                    string errorM = "";
                    if (retVal == 1)
                    {
                        errorM = "Irreducible Error";
                    }
                    else if (retVal == 2)
                    {
                        errorM = "Concurrency Error";
                    }
                    else if (retVal == 3)
                    {
                        errorM = "Syntex Error";
                    }
                    else if (retVal == 4)
                    {
                        errorM = "Syntex & Irreducible Error";
                    }
                    else if (retVal == 5)
                    {
                        errorM = "Syntex & Concurrency Error";
                    }
                    else if (retVal == 6)
                    {
                        errorM = runVerification.CCs.ToString("#,#0");
                    }

                    row1[2] = errorM;
                }

                if (retVal == 0 || retVal == 3 || retVal == 6)
                {
                    Display_Result(run, false);
                }
                else if (retVal == 2 || retVal == 5)
                {
                    Display_Result(run, false);
                }

                dt.Rows.Add(row1);
                progress++;
                progressBar1.Value = progress;
            }

            //mnuSaveResult.Visible = true;

            //Final to bind to GridView

            gridView.DataSource = dt;
        }
Exemple #4
0
        private void buttonRun_Click(object sender, EventArgs e)
        {
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"E:\WriteLines_Verification_01.txt", true))
            {
                for (int run = 0; run < sFileNames.Length; run++)
                {
                    //m_Network = new clsAnaysisNetwork();
                    //m_Network.Load_Data(m_Network.orgNet, sFilePaths[run], true);
                    //int retVal = m_Network.Run_Analysis(1);
                    //file.WriteLine(sFileNames[run].ToString() + ";" + m_Network.informList[13] + ";" + m_Network.informList[14]);

                    loadG.Load_Data(ref graph, graph.orgNet, sFilePaths[run], true);

                    int    rel       = runVerification.run_VerificationG(ref graph, ref clsHWLS, ref clsLoop, ref clsSESE, ref clsError, 1);
                    string SyntaxErr = "";
                    if (rel > 0)
                    {
                        string errorM = "";
                        if (rel == 1)
                        {
                            errorM = "Irreducible Error";
                        }
                        else if (rel == 2)
                        {
                            errorM = "Concurrency Error";
                        }
                        else if (rel == 3)
                        {
                            errorM = "Syntex Error";
                        }
                        else if (rel == 4)
                        {
                            errorM = "Syntex & Irreducible Error";
                        }
                        else if (rel == 5)
                        {
                            errorM = "Syntex & Concurrency Error";
                        }
                        else if (rel == 6)
                        {
                            errorM = runVerification.CCs.ToString("#,#0");
                        }

                        SyntaxErr = errorM;
                    }

                    //file.WriteLine(sFileNames[run].ToString() + ";" + clsSESE.SESE[clsSESE.finalSESE].nSESE + ";" + test.duration); //correct, but not count Type 3 SESE (NL unique exit)
                    //file.WriteLine(sFileNames[run].ToString() + ";" + runVerification.finalTime + ";" + runVerification.rig[0] + ";" + runVerification.rig[1] + ";" + runVerification.rig[2] + ";" + runVerification.rig[3] + ";"
                    //    + runVerification.rig[4] + ";" + runVerification.rig[5] + ";");

                    string newData_Loop = "";
                    newData_Loop = ";" + runVerification.AND_Loop[1] + ";" + runVerification.AND_Loop[3] + ";" + runVerification.AND_Loop[5] + ";" + runVerification.AND_Loop[7]
                                   + ";" + runVerification.OR_Loop[1] + ";" + runVerification.OR_Loop[3] + ";" + runVerification.OR_Loop[5] + ";" + runVerification.OR_Loop[7]
                                   + ";" + runVerification.XOR_Loop[1] + ";" + runVerification.XOR_Loop[3] + ";" + runVerification.XOR_Loop[5] + ";" + runVerification.XOR_Loop[7];

                    string newData_Loop_Type = ";";
                    for (int i = 1; i < 29; i++) //1-28
                    {
                        newData_Loop_Type = newData_Loop_Type + runVerification.ext_informlist_2[i] + ";";
                    }

                    string newCrossTable_EnEx_Bond = ";";
                    for (int i = 1; i < 13; i++)
                    {
                        newCrossTable_EnEx_Bond = newCrossTable_EnEx_Bond + runVerification.En_Ex_Type[i] + ";";
                    }

                    /*
                     * file.WriteLine(sFileNames[run].ToString() + ";" + SyntaxErr + ";" + graph.Network[graph.finalNet].nNode + ";" + runVerification.run_Time[0] + ";"
                     + runVerification.XOR_join_total[0] + ";" + runVerification.XOR_join_total[1] + ";" + runVerification.XOR_join_total[2] + ";"
                     + runVerification.XOR_join_err[0] + ";" + runVerification.XOR_join_err[1] + ";" + runVerification.XOR_join_err[2] + ";"
                     + runVerification.AND_join_total[0] + ";" + runVerification.AND_join_total[1] + ";" + runVerification.AND_join_total[2] + ";"
                     + runVerification.AND_join_err[0] + ";" + runVerification.AND_join_err[1] + ";" + runVerification.AND_join_err[2] + ";"
                     + runVerification.OR_join_total[0] + ";" + runVerification.OR_join_total[1] + ";" + runVerification.OR_join_total[2] + ";"
                     + runVerification.XOR_entry[0] + ";" + runVerification.XOR_entry[1] + ";" + runVerification.XOR_entry[2] + ";" + runVerification.XOR_entry[3] + ";"
                     + runVerification.AND_entry[0] + ";" + runVerification.AND_entry[1] + ";" + runVerification.AND_entry[2] + ";" + runVerification.AND_entry[3] + ";"
                     + runVerification.OR_entry[0] + ";" + runVerification.OR_entry[1] + ";" + runVerification.OR_entry[2] + ";" + runVerification.OR_entry[3] + ";"
                     + runVerification.informList[23] + ";" + runVerification.informList[24] + ";" + runVerification.bond_rigid_PdF[0] + ";" + runVerification.bond_rigid_PdF[1] + ";"
                     + "---" + newData_Loop + ";" + "---" + newData_Loop_Type);
                     */

                    file.WriteLine(sFileNames[run].ToString() + ";" + SyntaxErr + ";" + graph.Network[graph.finalNet].nNode + ";" + runVerification.run_Time[0] + ";"
                                   + runVerification.XOR_join_total[0] + ";" + runVerification.XOR_join_total[1] + ";" + runVerification.XOR_join_total[2] + ";"
                                   + runVerification.XOR_join_err[0] + ";" + runVerification.XOR_join_err[1] + ";" + runVerification.XOR_join_err[2] + ";"
                                   + runVerification.AND_join_total[0] + ";" + runVerification.AND_join_total[1] + ";" + runVerification.AND_join_total[2] + ";"
                                   + runVerification.AND_join_err[0] + ";" + runVerification.AND_join_err[1] + ";" + runVerification.AND_join_err[2] + ";"
                                   + runVerification.OR_join_total[0] + ";" + runVerification.OR_join_total[1] + ";" + runVerification.OR_join_total[2] + ";"
                                   + runVerification.OR_join_total[3] + ";" + runVerification.OR_join_total[4] + ";"
                                   + runVerification.XOR_entry[0] + ";" + runVerification.XOR_entry[1] + ";" + runVerification.XOR_entry[2] + ";" + runVerification.XOR_entry[3] + ";"
                                   + runVerification.AND_entry[0] + ";" + runVerification.AND_entry[1] + ";" + runVerification.AND_entry[2] + ";" + runVerification.AND_entry[3] + ";"
                                   + runVerification.OR_entry[0] + ";" + runVerification.OR_entry[1] + ";" + runVerification.OR_entry[2] + ";" + runVerification.OR_entry[3] + ";"
                                   + runVerification.informList[23] + ";" + runVerification.informList[24] + ";" + "bond_rigid_PdF_0" + ";" + "bond_rigid_PdF_1" + ";"
                                   + "---" + newData_Loop + ";" + "---" + newData_Loop_Type + ";" + "__New_En_Ex__" + newCrossTable_EnEx_Bond);



                    //file.WriteLine(sFileNames[run].ToString() + ";" + graph.Network[graph.finalNet].nNode + ";" + runVerification.run_Time[0] + ";"
                    //    + runVerification.XOR_err_efwd_ebwd[0] + ";" + runVerification.XOR_err_efwd_ebwd[1] + ";"
                    //    + runVerification.AND_err_efwd_ebwd[0] + ";" + runVerification.AND_err_efwd_ebwd[1] + ";");
                }
            }
            MessageBox.Show("Finish", "Finish");
        }