<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">mais</journal-id><journal-title-group><journal-title xml:lang="ru">Моделирование и анализ информационных систем</journal-title><trans-title-group xml:lang="en"><trans-title>Modeling and Analysis of Information Systems</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1818-1015</issn><issn pub-type="epub">2313-5417</issn><publisher><publisher-name>Yaroslavl State University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.18255/1818-1015-2018-5-465-480</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-752</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Материалы конференции</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>Conference Papers</subject></subj-group></article-categories><title-group><article-title>Упрощение процесса верификации кибер-физических систем с использованием подхода с графом потока управления в средстве KeYmae</article-title><trans-title-group xml:lang="en"><trans-title>A Control Flow Graph Based Approach to Make the Verification of Cyber-Physical Systems Using KeYmaera Easier</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-8443-1558</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Баар</surname><given-names>Томас</given-names></name><name name-style="western" xml:lang="en"><surname>Baar</surname><given-names>Thomas</given-names></name></name-alternatives><bio xml:lang="ru"><p>Профессор.</p><p>Wilhelminenhofstrasse 75 A, D-12459, Berlin, Germany.</p></bio><bio xml:lang="en"><p> PhD.</p><p> 75 A Wilhelminenhofstrasse, D-12459, Berlin.</p></bio><email xlink:type="simple">thomas.baar@htw-berlin.de</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-5183-9736</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Старолетов</surname><given-names>Сергей Михайлович</given-names></name><name name-style="western" xml:lang="en"><surname>Staroletov</surname><given-names>Sergey</given-names></name></name-alternatives><bio xml:lang="ru"><p>Канд. физ.-мат. наук, доцент. </p><p>проспект Ленина, 46, г. Барнаул, Алтайский край, 656038.</p></bio><bio xml:lang="en"><p> PhD.</p><p>46 Lenina avenue, Barnaul, Altai region, 656038. </p></bio><email xlink:type="simple">serg_soft@mail.ru</email><xref ref-type="aff" rid="aff-2"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Университет прикладных технических и экономических наук г. Берлина</institution><country>Германия</country></aff><aff xml:lang="en"><institution>Hochschule für Technik und Wirtschaft Berlin University of Applied Sciences</institution><country>Germany</country></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Алтайский государственный технический университет им. И.И. Ползунова</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Polzunov Altai State Technical University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2018</year></pub-date><pub-date pub-type="epub"><day>28</day><month>10</month><year>2018</year></pub-date><volume>25</volume><issue>5</issue><fpage>465</fpage><lpage>480</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Баар Т., Старолетов С.М., 2018</copyright-statement><copyright-year>2018</copyright-year><copyright-holder xml:lang="ru">Баар Т., Старолетов С.М.</copyright-holder><copyright-holder xml:lang="en">Baar T., Staroletov S.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.mais-journal.ru/jour/article/view/752">https://www.mais-journal.ru/jour/article/view/752</self-uri><abstract><p>KeYmaera является средством интерактивного доказательства теорем и используется для проверки свойств безопасности кибер-физических систем (CPS). Проверка таких свойств в интерактивном режиме может быть осложнена, поскольку доказательство осуществляется с использованием классического секвентного логического исчисления и успешное доказательство требует от пользователя глубоких знаний о доступных правилах, имеющихся в логике исчисления. Еще одним препятствием для широкого применения KeYmaera является представление текущих целей только в виде текста, что предполагает хорошую подготовку пользователя для построения успешных доказательств. В этой статье мы представляем альтернативный метод верификации для KeYmaera, который значительно повышает удобство использования и минимизирует работу пользователей. Основная идея заключается в том, чтобы позволить пользователю добавлять аннотации в виде инвариантов и контрактов к состояниям гибридной программы. В нашем подходе пользователь может использовать графический язык представления моделируемой системы, что позволяет ему не работать с чисто текстовым форматом гибридных программ, являющимся входным для средства KeYmaera. Исходя из предоставленных пользователем контрактов, можно получать доказательства, которые гораздо проще, чем исходная цель доказательств в KeYmaera, и которые могут быть обработаны в большинстве случаев полностью автоматически. Статья публикуется в авторской редакции.</p></abstract><trans-abstract xml:lang="en"><p>KeYmaera is an interactive theorem prover and is used to verify safety properties of cyber-physical systems (CPSs). It implements a Dynamic Logic for Hybrid Programs (HPs), while a HP models a CPS very precisely. Verifying properties of a given system in KeYmaera can become a challenge for a user since the proof is authored in a classical sequent calculus framework and a successful proof requires from the user intimate knowledge of the available calculus rules. Another barrier for widespread application of KeYmaera is the purely textual representation of current proof goals, what requires from the user very good training, experience, and patience. In this paper, we present an alternative verification approach based on KeYmaera, which drastically improves usability and minimizes user interaction. The main idea is to let the user annotate invariants and contracts to states of the hybrid automaton. Thus, the user can employ the graphical representation of the modelled system and is not bound to the purely textual form of hybrid programs as in KeYmaera. Based on the user-provided contracts, one can generate proof obligations, which are much simpler than the original proof goal in KeYmaera. The article is published in the authors’ wording.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>кибер-физические системы</kwd><kwd>KeYmaera</kwd><kwd>контракты</kwd><kwd>верификация</kwd><kwd>гибридные системы</kwd><kwd>интерактивные доказатели теорем</kwd></kwd-group><kwd-group xml:lang="en"><kwd>CPS</kwd><kwd>KeYmaera</kwd><kwd>proof contracts</kwd><kwd>verification</kwd><kwd>hybrid systems</kwd><kwd>usability</kwd><kwd>interactive provers</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Baudin P. et al., ACSL: ANSI/ISO C Specification Language. Version 1.12, https:// frama-c.com/download/acsl_1.12.pdf.</mixed-citation><mixed-citation xml:lang="en">Baudin P. et al., ACSL: ANSI/ISO C Specification Language. Version 1.12, https:// frama-c.com/download/acsl_1.12.pdf.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Spin: Promela reference. float - floating point numbers, http://spinroot.com/spin/Man/ float.html.</mixed-citation><mixed-citation xml:lang="en">Spin: Promela reference. float - floating point numbers, http://spinroot.com/spin/Man/ float.html.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Alur R. et al., Hybrid Automata: An Algorithmic Approach to the Specification and Verification of Hybrid Systems", Hybrid Systems, Lecture Notes in Computer Science, 736, 1993, 209-229, https://doi.org/10.1007/3-540-57318-6_30.</mixed-citation><mixed-citation xml:lang="en">Alur R. et al., \Hybrid Automata: An Algorithmic Approach to the Specification and Verification of Hybrid Systems", Hybrid Systems, Lecture Notes in Computer Science, 736, 1993, 209-229, https://doi.org/10.1007/3-540-57318-6_30.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Behrmann G. et al., "A tutorial on uppaal", Formal methods for the design of real-time systems, Springer, 2004, 200-236.</mixed-citation><mixed-citation xml:lang="en">Behrmann G. et al., "A tutorial on uppaal", Formal methods for the design of real-time systems, Springer, 2004, 200-236.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Booch G. et al., The unified modeling language user guide - covers UML 2.0, Second Edition, Addison Wesley object technology series, Addison-Wesley, 2005.</mixed-citation><mixed-citation xml:lang="en">Booch G. et al., The unified modeling language user guide - covers UML 2.0, Second Edition, Addison Wesley object technology series, Addison-Wesley, 2005.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">David A. et al., "Uppaal SMC tutorial", International Journal on Software Tools for Technology Transfer, 17:4 (2015), 397-415.</mixed-citation><mixed-citation xml:lang="en">David A. et al., "Uppaal SMC tutorial", International Journal on Software Tools for Technology Transfer, 17:4 (2015), 397-415.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Floyd R.W., "Assigning Meanings to Programs", Proceedings of Symposium on Applied Mathematics, 19 (1967), 19-32.</mixed-citation><mixed-citation xml:lang="en">Floyd R.W., "Assigning Meanings to Programs", Proceedings of Symposium on Applied Mathematics, 19 (1967), 19-32.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Hybrid Systems, Lecture Notes in Computer Science, 736, ed. Robert L. Grossman et al., 1993.</mixed-citation><mixed-citation xml:lang="en">Hybrid Systems, Lecture Notes in Computer Science, 736, ed. Robert L. Grossman et al., 1993.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Henzinger Thomas A., "The Theory of Hybrid Automata", Proceedings 11th Annual IEEE Symposium on Logic in Computer Science, 1996, 278-292.</mixed-citation><mixed-citation xml:lang="en">Henzinger Thomas A., "The Theory of Hybrid Automata", Proceedings 11th Annual IEEE Symposium on Logic in Computer Science, 1996, 278-292.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Kirchner F. et al., "Frama-C: A software analysis perspective", Formal Aspects of Computing, 27:3 (2015), 573-609.</mixed-citation><mixed-citation xml:lang="en">Kirchner F. et al., "Frama-C: A software analysis perspective", Formal Aspects of Computing, 27:3 (2015), 573-609.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Nuzzo P. et al., "A platform-based design methodology with contracts and related tools for the design of cyber-physical systems", Proceedings of the IEEE, 103:11 (2015), 2104-2132.</mixed-citation><mixed-citation xml:lang="en">Nuzzo P. et al., "A platform-based design methodology with contracts and related tools for the design of cyber-physical systems", Proceedings of the IEEE, 103:11 (2015), 2104-2132.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Platzer A., Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics, Springer, Heidelberg, 2010.</mixed-citation><mixed-citation xml:lang="en">Platzer A., Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics, Springer, Heidelberg, 2010.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Platzer A., "Logic and Compositional Verification of Hybrid Systems (Invited Tutorial)", Computer Aided Verification, 23rd International Conference, Lecture Notes in Computer Science, 6806, 2011, 28-43.</mixed-citation><mixed-citation xml:lang="en">Platzer A., "Logic and Compositional Verification of Hybrid Systems (Invited Tutorial)", Computer Aided Verification, 23rd International Conference, Lecture Notes in Computer Science, 6806, 2011, 28-43.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Quesel J.-D. et al., "How to Model and Prove Hybrid Systemswith KeYmaera:A Tutorial on Safety", STTT, 18:1 (2016), 67-91.</mixed-citation><mixed-citation xml:lang="en">Quesel J.-D. et al., "How to Model and Prove Hybrid Systemswith KeYmaera:A Tutorial on Safety", STTT, 18:1 (2016), 67-91.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Rümmer Ph., Princess Homepage, http://www.philipp.ruemmer.org/princess.shtml.</mixed-citation><mixed-citation xml:lang="en">Rümmer Ph., Princess Homepage, http://www.philipp.ruemmer.org/princess.shtml.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
