README.txt file for CGM-Tool Experimental version ————————————————————————————— How to create similar experiment as reported in the paper with CGM-Tool Experimental version: 1. Download the Experimental version of the tool from the website 2. Uncompress the tool. 3. Execute the tool 4. Create the Goal Model (or you can copy and paste the file “scheduleMeeting.cgm” into the Model directory of the project) 5. Create Scenario by Choosing the “Generate Scenario” option in the sub-menu bar 6. Open the newly generated scenario (in the “Scenarios > [goal model name] > Model > [scenario name]” directory of the project). 7. Create the experiment by Choosing the “Run Experiment” option in the sub-menu bar 8. Choose the Optimization Priorities (you can change the priority by clicking the Priority value) 9. Fill in the Replicate model form to generate the experiment: ⁃ Number of required replicas (the total replicas is this number + 1 (the original model) ⁃ in our experiments, we used: 1, 2, 3, 4, 5, 6, 8, 10, 12, 14, 15, 20, 25, 30, 35, 40, 45, 50, 100, 150, and 200 respectively. ⁃ Replica Refinement Type: it can be “AND” or “OR” ⁃ in our experiments, we used: “AND” for all experiment ⁃ Replica Connection (%): please input “100” ⁃ Number of random relations per replicas ⁃ in the first experiment we used: 2, 4, 5, and 8 respectively. ⁃ in the second experiment we used: 2 for all experiments ⁃ Select random relation types and their ratio: ⁃ in the first experiment we used: Contribution (NumberOfRandomRelations-1) and Conflict (1) ⁃ in the second experiment we used: Contribution (1) and Conflict (1) ⁃ Note that the sum of the ratio must always equal to the input of the number of random relations per replicas. ⁃ Number of Random preferences per replica: ⁃ in the first experiment we used: 0 for all experiments ⁃ in the second experiment we used: 6, 8, and 12 respectively. ⁃ Timeout: ⁃ in our experiments, we used: 1000 (seconds) for all experiments ⁃ Number of runs (the number of instances you want to generate): ⁃ in our experiments, we used: 100 for all experiments ⁃ Experiment choice: we use Experiment two: Random values for SMT-variables for all experiments 10. Click OK and wait for the tool to automatically generate, run, and record experimental data. 11. After finish the run, open the excel file: “cgmtoolexperimentresult.xlsx” in “[Tool directory]>ExperimentResult>”, you can see the result of the experimental there. ⁃ In the excel table: ⁃ Experiment column: indicate the number of total replicas (input number + 1 (original model)) ⁃ Run column: indicate the experimental instance index of the experiment ⁃ No of Replicas column: indicate the input number of replicas (you want to generate) ⁃ No of Nodes column: indicate the total number of nodes of the experimental instance ⁃ No of Random relation column: indicate the total number of random relations that were generated ⁃ No of non-zero SMT variables column: indicate the total number of “real” SMT-variables in the model (those which are zero by default are omitted). ⁃ Encoding Time column: indicate the time (in seconds) the tool took to encode the Constrained goal model into SMT ⁃ Reasoning Time column: indicate the time (in seconds) the OptMatSat solver took to solve the problem ⁃ Parsing Time column: indicate the time (in seconds) the tool took to decode the SMT output file ⁃ Displaying Time column: indicate the time (in seconds) the tool will need to display the realization of the Goal model to the user (which is not applied to the experiment version). ⁃ Remark column: indicate whether the model is satisfiable (SAT), unsatisfiable (UNSAT) or time-out (Timeout).