Blame view
circus/help/en_uk/development/development.html
7.85 KB
8d0dc533f
![]() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
<html> <head> <title>CRefine</title> <link rel="stylesheet" type="text/css" href="../../style.css" /> </head> <body> <table> <tr height="10"> <td> </td> </tr> <tr> <td class="tituloAzul"> Development </td> </tr> <tr> <td class="grande"> <div align="justify"> After loading the original specification, we start the development stage. So, we start from the abstract specification, which is generally centralised, and using successive refinement law applications, we reach the concrete specification, which is generally distributed. <br> <h5>Applying Refinement Laws</h5> In order to apply a refinement law, we must select a specific term. This selection is realised on the lines of the <a href="../gui/development.html" target="body"> development window</a>; hold the CTRL key and click on the first and last line of the term in order to select multiple lines. <br> <br> <img border = "0" src="../images/selection.jpg" align="center"> <br> <br> Once you have selected a term, the tool allows us to check, using a pop-up menu, which laws can be applied to the selected term. Using the right button, click on the selected term to visualise the pop-up menu. If there are any refinement law that can be applied to the selected term, the names of these laws will be displayed. <br> Go to "Apply Law" on the menu and select the desired law in the pop-up menu if you wish to apply the law. <br> <br> <img border = "0" src="../images/selectionlaw.jpg" align="center"> <br> <br> We can also selected a law to apply using the text field in the right-hand side of the toolbar in the main window. For that, click, using the left button, on it. <br> <br> <img border = "0" src="../images/selectionlaw2.jpg" align="center"> <br> <br> After clicking on it, a pop-up menu of laws will be displayed. This menu classifies the laws; this facilitates their selection, given the large number of existent laws. <br> <br> <img border = "0" src="../images/selectionlaw3.jpg" align="center"> <br> <br> After selecting the law, the text field will store the law name. If the law is applicable to the selected term, the button <img border = "0" src="../../../images/generate.gif" align="center"> will be enabled. Hence, the law may be applied. <br> <br> <img border = "0" src="../images/butaoapply.jpg" align="center"> <br> <br> The law application can be done either by clicking on the apply law button or by choosing the apply law option in the pop-up menu that can be activated from the text field. In order to visualise this pop-up menu, we must click, using the right button, on the text field. If the selected term pattern matches with the law, the lines of the term will be highlighted and the apply law option will be enabled. This pop-up menu has also a see <a href="../utils/law-details.html" target="body">Law details</a> option. <br> <br> <img border = "0" src="../images/applyLaw.jpg" align="center"> <br> <br> Some laws are parametrised and need that some arguments are given to them before their application. For each argument, a small window will be displayed and can be used to input the right argument. Initially, this window is set to receive arguments in the LaTeX format. <br> <br> <img border = "0" src="../images/param.jpg" align="center"> <br> <br> However, the argument can also be given in Unicode format, the user only need to set this option using the Combo box in the parameter window. The insertion of symbols in Unicode format can be done using the <a href= "../utils/virtual-keyboard.html" target="body"> Virtual Keyboard</a>. <br> After giving the arguments, the law application takes place. In this moment, the Development and <a href= "../gui/code.html" target="body"> Code </a> window are updated. The <a href="../gui/proofobligation.html" target="body">Proof Obligation</a> window may also be updated if the law application generates any new one. The development windows is updated with a new line that contains the name of the law that was applied and the type of refinement (simulation, refinement, or equivalence), and the resulting term. By selecting the line that contains the law name, and starting the pop-up menu, we may see the <a href="../utils/law-details.html" target="body"> Law Details</a>. <br> <br> <img border = "0" src="../images/lawapply.jpg" align="center"> <br> <br> <br> <h5>Collecting Code</h5> Eventually, the application of laws to terms whose sons have already been modified, requires the exhibition of a new instance of the whole term. This is called Term Collection. This collection is based on two kinds of terms: Actions and Processes. <br> In order to start a term collection, we first must select the type of term we want to collect: action or process. For that, we may use the combo box at the toolbar in section Collect. <br> <br> <img border = "0" src="../images/optionsCollect.jpg" align="center"> <br> <br> After selecting the type of term, the second combo box will be updated to contain the names of the terms that can be collected that are of the selected type. The simple selection of their names will trigger the term's collection. <br> <br> <img border = "0" src="../images/collectTerm.jpg" align="center"> <br> <br> In this case, only the development window is updated. It will indicated that a collection has taken place and, of course, the collected term will also be shown. <br> <br> <img border = "0" src="../images/collectedTermo.jpg" align="center"> <br> <br> Another way to make the term collection is using the pop-up menu in the development window. The "Collect Code" option of this pop-up menu give two options (one for each term type): Action and Process. From these option, we can select the desired term for collection. <br> <br> <img border = "0" src="../images/collectTerm2.jpg" align="center"> <br> <br> </td> </tr> </table> </body> </html> |