

{"id":409,"date":"2012-12-20T19:04:22","date_gmt":"2012-12-20T18:04:22","guid":{"rendered":"https:\/\/project.inria.fr\/plasma-lab\/?page_id=409"},"modified":"2015-03-19T13:46:28","modified_gmt":"2015-03-19T12:46:28","slug":"check-a-property","status":"publish","type":"page","link":"https:\/\/project.inria.fr\/plasma-lab\/documentation\/tutorial\/check-a-property\/","title":{"rendered":"Check a property"},"content":{"rendered":"<p><div class=\"alert alert-warning\" role=\"alert\"><p class=\"printonly\"><strong>Warning!<\/strong><\/p><strong>Prerequisite<\/strong><br \/>\nFor this tutorial we assume that you have a opened a model and a property. If you don&#8217;t know how to do that please refer to <a href=\"http:\/\/project.inria.fr\/plasma-lab\/open-and-edit-a-project\">step 1<\/a>.<\/div><\/p>\n<p>The <strong>experiment panel<\/strong> is made of 3 different areas which are<\/p>\n<ul>\n<li>A file selection panel<\/li>\n<\/ul>\n<ul>\n<li>An execution settings panel<\/li>\n<li>An experimentation results panel<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">In order to verify our property we choose the <strong>Monte-Carlo method<\/strong> with a <em>Total samples<\/em> parameter of 1000 simulations to run. Then we check that we have selected the right project and model in the project selection panel. After that we select one or more properties or contracts that we want to check.<\/p>\n<div style=\"width: 416px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/plasma-lab.gforge.inria.fr\/plasma_lab_images\/plasma_expe_montecarlo.png\"><img loading=\"lazy\" decoding=\"async\" class=\" \" alt=\"\" src=\"http:\/\/plasma-lab.gforge.inria.fr\/plasma_lab_images\/plasma_expe_montecarlo.png\" width=\"406\" height=\"269\" \/><\/a><p class=\"wp-caption-text\">Configuration of a Monte-Carlo experiment<\/p><\/div>\n<p>Finally we click on the <strong>start button<\/strong> at the bottom of the interface. Once the 1000 simulations have been computed, <strong>results show up in the result panel<\/strong>.<\/p>\n<div style=\"width: 421px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/plasma-lab.gforge.inria.fr\/plasma_lab_images\/plasma_results_montecarlo.png\"><img loading=\"lazy\" decoding=\"async\" class=\" \" alt=\"\" src=\"http:\/\/plasma-lab.gforge.inria.fr\/plasma_lab_images\/plasma_results_montecarlo.png\" width=\"411\" height=\"272\" \/><\/a><p class=\"wp-caption-text\">Results of the Monte-Carlo experiment<\/p><\/div>\n<p>We can then select the <strong>plot panel<\/strong> to have a better understanding of our results by drawing plots.<\/p>\n<p>Once here we can return to our project panel and modify our properties and models or make a new experiment with a different method.<\/p>\n<p>We could also run a bigger experiment in <strong>distributed mode<\/strong>. This is the <strong><a href=\"https:\/\/project.inria.fr\/plasma-lab\/using-the-distributed-mode\/\">next step<\/a><\/strong> of our tutorial.<\/p>\n<hr \/>\n<h3>Experimentation methods<\/h3>\n<p style=\"text-align: justify;\">To summarize, Statistical Model Checkers generate a large amount of execution traces and check the validity of a set of properties on each of these traces. Several algorithms can be used to determine the number of traces that are executed and how the resutls are computed. The basic algorithms are presented below. PLASMA Lab also implements some more specific algorithms described <a title=\"Algorithms\" href=\"https:\/\/project.inria.fr\/plasma-lab\/documentation\/algorithms\/\"><strong>here<\/strong><\/a>.<\/p>\n<h5>Monte-Carlo<\/h5>\n<p>Monte-Carlo method lets you set a fixed number of simulation to run. It computes an estimation of the probability to satisfy the property. The name of the parameter is:<strong><\/strong><\/p>\n<ul>\n<li><strong>Total samples<\/strong><em> the number of simulations to run.<\/em><\/li>\n<\/ul>\n<h5>Chernoff<\/h5>\n<p style=\"text-align: justify;\">Chernoff method also computes an estimation of the probability, but it determines the number of simulations to run based two parameters:<\/p>\n<ul>\n<li><strong>Epsilon<\/strong> <em>the error margin.<\/em><\/li>\n<li><strong>Delta<\/strong> <em>the confidence bound<\/em>.<\/li>\n<\/ul>\n<p>More details on the Chernoff method can be found in the Statistical Model Checking section <a href=\"https:\/\/project.inria.fr\/plasma-lab\/statistical-model-checking\/#quantitative\"><strong><em>(Quantitative question)<\/em><\/strong><\/a>.<\/p>\n<h5>Sequential<\/h5>\n<p>The Sequential Probability Ratio Test (SPRT) is used check if the probability to satisfy a property is above or below to a given threshold. It needs four parameters :<\/p>\n<ul>\n<li><strong>Alpha<\/strong> the <em>false positives probability.<\/em><\/li>\n<li><strong>Beta<\/strong> <em>the false negatives probability<\/em>.<\/li>\n<\/ul>\n<ul>\n<li><strong>Delta<\/strong> <em><em>the indifference region around proba.<\/em><\/em><\/li>\n<li><strong>Proba<\/strong> <em>the probability.<\/em><em><em><\/em><\/em><\/li>\n<\/ul>\n<p><strong> <\/strong>More details on the Sequential method can be found in the Statistical Model Checking section <a href=\"https:\/\/project.inria.fr\/plasma-lab\/statistical-model-checking\/#qualitative\"><em><strong>(Qualitative question)<\/strong><\/em><\/a>.<\/p>\n<p><strong><br \/>\n<\/strong><em><\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>The experiment panel is made of 3 different areas which are A file selection panel An execution settings panel An experimentation results panel In order to verify our property we choose the Monte-Carlo method with a Total samples parameter of 1000 simulations to run. Then we check that we have\u2026<\/p>\n<p> <a class=\"continue-reading-link\" href=\"https:\/\/project.inria.fr\/plasma-lab\/documentation\/tutorial\/check-a-property\/\"><span>Continue reading<\/span><i class=\"crycon-right-dir\"><\/i><\/a> <\/p>\n","protected":false},"author":234,"featured_media":0,"parent":135,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-409","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/pages\/409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/users\/234"}],"replies":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/comments?post=409"}],"version-history":[{"count":28,"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/pages\/409\/revisions"}],"predecessor-version":[{"id":1998,"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/pages\/409\/revisions\/1998"}],"up":[{"embeddable":true,"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/pages\/135"}],"wp:attachment":[{"href":"https:\/\/project.inria.fr\/plasma-lab\/wp-json\/wp\/v2\/media?parent=409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}