<?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-2017-6-704-717</article-id><article-id custom-type="elpub" pub-id-type="custom">mais-608</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>Articles</subject></subj-group></article-categories><title-group><article-title>Прототип статического тайп-чекера для языка программирования Jolie</article-title><trans-title-group xml:lang="en"><trans-title>Jolie Static Type Checker: a Prototype</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-0003-1473-8551</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>De Carvalho</surname><given-names>Daniel</given-names></name></name-alternatives><bio xml:lang="ru"><p>доцент</p></bio><bio xml:lang="en"><p>PhD</p></bio><email xlink:type="simple">d.carvalho@innopolis.ru</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-0002-3860-4948</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>Mazzara</surname><given-names>Manuel</given-names></name></name-alternatives><bio xml:lang="ru"><p>руководитель лаборатории архитектуры и моделей ПО</p></bio><bio xml:lang="en"><p>PhD</p></bio><email xlink:type="simple">m.mazzara@innopolis.ru</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-0003-1384-7078</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>Mingela</surname><given-names>Bogdan</given-names></name></name-alternatives><bio xml:lang="ru"><p>студент</p></bio><bio xml:lang="en"><p>student</p></bio><email xlink:type="simple">b.mingela@innopolis.ru</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-0002-4490-7451</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>Safina</surname><given-names>Larisa</given-names></name></name-alternatives><bio xml:lang="ru"><p>младший научный сотрудник лаборатории архитектуры и моделей ПО</p></bio><bio xml:lang="en"><p>researcher</p></bio><email xlink:type="simple">l.safina@innopolis.ru</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-9286-6116</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>Tchitchigin</surname><given-names>Alexander</given-names></name></name-alternatives><bio xml:lang="ru"><p>ООО Тайпэбл</p></bio><email xlink:type="simple">sad.ronin@gmail.com</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-5151-9940</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>Troshkov</surname><given-names>Nikolay</given-names></name></name-alternatives><bio xml:lang="ru"><p>студент</p></bio><bio xml:lang="en"><p>student</p></bio><email xlink:type="simple">n.trshkv@gmail.com</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Университет Иннополис</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Innopolis University</institution><country>Russian Federation</country></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Университет Иннополис</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Typeable.io LLC</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2017</year></pub-date><pub-date pub-type="epub"><day>18</day><month>12</month><year>2017</year></pub-date><volume>24</volume><issue>6</issue><fpage>704</fpage><lpage>717</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; де Карвальо Д., Маццара М., Мингела Б., Сафина Л., Чичигин А., Трошков Н., 2017</copyright-statement><copyright-year>2017</copyright-year><copyright-holder xml:lang="ru">де Карвальо Д., Маццара М., Мингела Б., Сафина Л., Чичигин А., Трошков Н.</copyright-holder><copyright-holder xml:lang="en">de Carvalho D., Mazzara M., Mingela B., Safina L., Tchitchigin A., Troshkov N.</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/608">https://www.mais-journal.ru/jour/article/view/608</self-uri><abstract><p>Статическая верификация исходного кода программы является важным элементом надежности программного обеспечения. Под верификацией предполагается доказательство соответствия поведения программы ее спецификации. Во многих языках программирования используется как статическая, так и динамическая проверка типов. Таким образом, статический тайп-чекер старается проверить все возможное во время компиляции, а динамический проверяет оставшееся. На данный момент язык программирования Jolie имеет динамическую систему типов, что позволяет обнаруживать ошибки только во время выполнения программы. Статическая система типов для языка была формально определена на бумаге, но пока не реализована. В этой статье мы представим прототип статического тайп-чекера для языка программирования Jolie (JolieStaticTypeChecker или JSTC), основанный на SMT-решателе. Мы опишем базовую теорию, необходимую для реализации тайп-чекера, саму реализацию, а также процесс статического анализа программы. Статья публикуется в авторской редакции.</p></abstract><trans-abstract xml:lang="en"><p>Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many languages use both static and dynamic type checking. With such approach, the static type checker verifies everything possible at compile time, and the dynamic one checks the remaining. The current state of the Jolie programming language includes a dynamic type system. Consequently, it allows avoidable run-time errors. A static type system for the language has been formally defined on paper but lacks an implementation yet. In this paper, we describe a prototype of Jolie Static Type Checker (JSTC), which employs a technique based on a SMT solver. We describe the theory behind and the implementation, and the process of static analysis. The article is published in the authors’ wording.</p><p> </p></trans-abstract><kwd-group xml:lang="ru"><kwd>микросервисы</kwd><kwd>статический анализ кода</kwd><kwd>язык программирования Jolie</kwd></kwd-group><kwd-group xml:lang="en"><kwd>microservice</kwd><kwd>static analysis</kwd><kwd>Jolie programming language</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">Akentev E., Tchitchigin A., Saﬁna L., Mazzara M., “Veriﬁed type checker for Jolie programming language”, https://arxiv.org/pdf/1703.05186.pdf.</mixed-citation><mixed-citation xml:lang="en">Akentev E., Tchitchigin A., Saﬁna L., Mazzara M., “Veriﬁed type checker for Jolie programming language”, https://arxiv.org/pdf/1703.05186.pdf.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Bandura A., Kurilenko N., Mazzara M., Rivera V., Saﬁna L., Tchitchigin A., “Jolie Community on the Rise”, 9th IEEE International Conference on Service-Oriented Computing and Applications, SOCA, 2016.</mixed-citation><mixed-citation xml:lang="en">Bandura A., Kurilenko N., Mazzara M., Rivera V., Saﬁna L., Tchitchigin A., “Jolie Community on the Rise”, 9th IEEE International Conference on Service-Oriented Computing and Applications, SOCA, 2016.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Barrett C., Stump A., Tinelli C., “The SMT-LIB Standard. Version 2.0”, Proceedings of the 8th international workshop on satisﬁability modulo theories, Edinburgh, England, 2010.</mixed-citation><mixed-citation xml:lang="en">Barrett C., Stump A., Tinelli C., “The SMT-LIB Standard. Version 2.0”, Proceedings of the 8th international workshop on satisﬁability modulo theories, Edinburgh, England, 2010.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Cardelli L., “Type Systems”, ACM Computing Surveys, 28 (1996), 263–264.</mixed-citation><mixed-citation xml:lang="en">Cardelli L., “Type Systems”, ACM Computing Surveys, 28 (1996), 263–264.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Dragoni N., Dustdar S., Larsen S. T., Mazzara M., “Microservices: Migration of a Mission Critical System”, https://arxiv.org/abs/1704.04173.</mixed-citation><mixed-citation xml:lang="en">Dragoni N., Dustdar S., Larsen S. T., Mazzara M., “Microservices: Migration of a Mission Critical System”, https://arxiv.org/abs/1704.04173.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Dragoni N., Giallorenzo S., Lluch-Lafuente A., Mazzara M., Montesi F., Mustaﬁn R., Saﬁna L., “Microservices: yesterday, today, and tomorrow”, Present and Ulterior Software Engineering, ed. Bertrand Meyer, Manuel Mazzara, Springer, 2017, 195–216.</mixed-citation><mixed-citation xml:lang="en">Dragoni N., Giallorenzo S., Lluch-Lafuente A., Mazzara M., Montesi F., Mustaﬁn R., Saﬁna L., “Microservices: yesterday, today, and tomorrow”, Present and Ulterior Software Engineering, ed. Bertrand Meyer, Manuel Mazzara, Springer, 2017, 195–216.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Dragoni N., Lanese I., Larsen S. T., Mazzara M., Mustaﬁn R., Saﬁna L., “Microservices: How To Make Your Application Scale”, A.P. Ershov Informatics Conference (the PSI Conference Series, 11th edition), Lecture Notes in Computer Science, Springer, 2017.</mixed-citation><mixed-citation xml:lang="en">Dragoni N., Lanese I., Larsen S. T., Mazzara M., Mustaﬁn R., Saﬁna L., “Microservices: How To Make Your Application Scale”, A.P. Ershov Informatics Conference (the PSI Conference Series, 11th edition), Lecture Notes in Computer Science, Springer, 2017.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Gmehlich R., Grau K., Loesch F., Iliasov A., Jackson M., Mazzara M., “Towards a formalism-based toolkit for automotive applications”, 1st FME Workshop on Formal Methods in Software Engineering (FormaliSE 2013), IEEE Computer Society, 2013, 36–42.</mixed-citation><mixed-citation xml:lang="en">Gmehlich R., Grau K., Loesch F., Iliasov A., Jackson M., Mazzara M., “Towards a formalism-based toolkit for automotive applications”, 1st FME Workshop on Formal Methods in Software Engineering (FormaliSE 2013), IEEE Computer Society, 2013, 36–42.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Guidi C., Lanese I., Mazzara M., Montesi F., “Microservices: a Language-based Approach”, Present and Ulterior Software Engineering, ed. Bertrand Meyer, Manuel Mazzara, Springer, 2017, 217–225.</mixed-citation><mixed-citation xml:lang="en">Guidi C., Lanese I., Mazzara M., Montesi F., “Microservices: a Language-based Approach”, Present and Ulterior Software Engineering, ed. Bertrand Meyer, Manuel Mazzara, Springer, 2017, 217–225.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Hoare C. A. R., “An Axiomatic Basis for Computer Programming”, Communications of the ACM, 12 (1969), 576–583.</mixed-citation><mixed-citation xml:lang="en">Hoare C. A. R., “An Axiomatic Basis for Computer Programming”, Communications of the ACM, 12 (1969), 576–583.</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Jhala R., “Liquid Haskell”, https://ucsd-progsys.github.io/liquidhaskell-blog/.</mixed-citation><mixed-citation xml:lang="en">Jhala R., “Liquid Haskell”, https://ucsd-progsys.github.io/liquidhaskell-blog/.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">MacKenzie M. C., Laskey K., McCabe F., Brown P. F., Metz R., “Reference model for service oriented architecture 1.0”, OASIS Standard, 12 (2006).</mixed-citation><mixed-citation xml:lang="en">MacKenzie M. C., Laskey K., McCabe F., Brown P. F., Metz R., “Reference model for service oriented architecture 1.0”, OASIS Standard, 12 (2006).</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Mazzara M., Towards Abstractions for Web Services Composition, Ph.D. Thesis, University of Bologna, 2006, http://www.informatica.unibo.it/it/ricerca/technical-report/ 2006/UBLCS-2006-08.</mixed-citation><mixed-citation xml:lang="en">Mazzara M., Towards Abstractions for Web Services Composition, Ph.D. Thesis, University of Bologna, 2006, http://www.informatica.unibo.it/it/ricerca/technical-report/ 2006/UBLCS-2006-08.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Mazzara M., Abouzaid F., Dragoni N., Bhattacharyya A., “Toward Design, Modelling and Analysis of Dynamic Workﬂow Reconﬁgurations – A Process Algebra Perspective”, Web Services and Formal Methods, 8th International Workshop, WS-FM 2011, Lecture Notes in Computer Science, 7176, 2011, 64–78.</mixed-citation><mixed-citation xml:lang="en">Mazzara M., Abouzaid F., Dragoni N., Bhattacharyya A., “Toward Design, Modelling and Analysis of Dynamic Workﬂow Reconﬁgurations – A Process Algebra Perspective”, Web Services and Formal Methods, 8th International Workshop, WS-FM 2011, Lecture Notes in Computer Science, 7176, 2011, 64–78.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Mazzara M., Abouzaid F., Dragoni N., Bhattacharyya A., “Design, Modelling and Analysis of a Workﬂow Reconﬁguration”, Proceedings of the International Workshop on Petri Nets and Software Engineering, Newcastle upon Tyne, UK, June 20–21, 2011, 10–24.</mixed-citation><mixed-citation xml:lang="en">Mazzara M., Abouzaid F., Dragoni N., Bhattacharyya A., “Design, Modelling and Analysis of a Workﬂow Reconﬁguration”, Proceedings of the International Workshop on Petri Nets and Software Engineering, Newcastle upon Tyne, UK, June 20–21, 2011, 10–24.</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Mazzara M., Biselli L., Greco P. P., Dragoni N., Marra˙a A., Qamar N., Simona de Nicola, “Social networks and collective intelligence: a return to the agora”, Social Network Engineering for Secure Web Data and Services, IGI Global, 2013.</mixed-citation><mixed-citation xml:lang="en">Mazzara M., Biselli L., Greco P. P., Dragoni N., Marra˙a A., Qamar N., Simona de Nicola, “Social networks and collective intelligence: a return to the agora”, Social Network Engineering for Secure Web Data and Services, IGI Global, 2013.</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Mazzara M., Mustaﬁn R., Saﬁna L., Lanese I., “Towards Microservices and Beyond: An incoming Paradigm Shift in Distributed Computing”, https://arxiv.org/pdf/1610. 01778.pdf.</mixed-citation><mixed-citation xml:lang="en">Mazzara M., Mustaﬁn R., Saﬁna L., Lanese I., “Towards Microservices and Beyond: An incoming Paradigm Shift in Distributed Computing”, https://arxiv.org/pdf/1610. 01778.pdf.</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">Milner R., Communication and concurrency, Prentice Hall International (UK) Ltd., 1995.</mixed-citation><mixed-citation xml:lang="en">Milner R., Communication and concurrency, Prentice Hall International (UK) Ltd., 1995.</mixed-citation></citation-alternatives></ref><ref id="cit19"><label>19</label><citation-alternatives><mixed-citation xml:lang="ru">Milner R., Communicating and Mobile Systems: The ˇ-calculus, Cambridge University Press, 1999.</mixed-citation><mixed-citation xml:lang="en">Milner R., Communicating and Mobile Systems: The ˇ-calculus, Cambridge University Press, 1999.</mixed-citation></citation-alternatives></ref><ref id="cit20"><label>20</label><citation-alternatives><mixed-citation xml:lang="ru">Montesi F., Guidi C., Zavattaro G., “Service-Oriented Programming with Jolie”, Web Services Foundations, Springer, 2014, 81–107.</mixed-citation><mixed-citation xml:lang="en">Montesi F., Guidi C., Zavattaro G., “Service-Oriented Programming with Jolie”, Web Services Foundations, Springer, 2014, 81–107.</mixed-citation></citation-alternatives></ref><ref id="cit21"><label>21</label><citation-alternatives><mixed-citation xml:lang="ru">Moura de L., Bjørner N., “Z3: An E˚cient SMT Solver”, Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008 (Budapest, Hungary, March 29–April 6, 2008), Lecture Notes in Computer Science, 4963, Springer, 2008, 337–340.</mixed-citation><mixed-citation xml:lang="en">Moura de L., Bjørner N., “Z3: An E˚cient SMT Solver”, Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008 (Budapest, Hungary, March 29–April 6, 2008), Lecture Notes in Computer Science, 4963, Springer, 2008, 337–340.</mixed-citation></citation-alternatives></ref><ref id="cit22"><label>22</label><citation-alternatives><mixed-citation xml:lang="ru">Moura de L., Bjørner N., “Satisﬁability modulo theories: An appetizer”, Formal Methods: Foundations and Applications, 12th Brazilian Symposium on Formal Methods, SBMF 2009, Lecture Notes in Computer Science, 5902, Springer, 2009, 23–36.</mixed-citation><mixed-citation xml:lang="en">Moura de L., Bjørner N., “Satisﬁability modulo theories: An appetizer”, Formal Methods: Foundations and Applications, 12th Brazilian Symposium on Formal Methods, SBMF 2009, Lecture Notes in Computer Science, 5902, Springer, 2009, 23–36.</mixed-citation></citation-alternatives></ref><ref id="cit23"><label>23</label><citation-alternatives><mixed-citation xml:lang="ru">Nalin M., Baroni I., Mazzara M., “A Holistic Infrastructure to Support Elderlies’ Independent Living”, Encyclopedia of E-Health and Telemedicine, IGI-Global, 2016, 591–605.</mixed-citation><mixed-citation xml:lang="en">Nalin M., Baroni I., Mazzara M., “A Holistic Infrastructure to Support Elderlies’ Independent Living”, Encyclopedia of E-Health and Telemedicine, IGI-Global, 2016, 591–605.</mixed-citation></citation-alternatives></ref><ref id="cit24"><label>24</label><citation-alternatives><mixed-citation xml:lang="ru">Newman S., Building microservices, O’Reilly Media, Inc., 2015.</mixed-citation><mixed-citation xml:lang="en">Newman S., Building microservices, O’Reilly Media, Inc., 2015.</mixed-citation></citation-alternatives></ref><ref id="cit25"><label>25</label><citation-alternatives><mixed-citation xml:lang="ru">Nielsen J. M., A Type System for the Jolie Language, Master thesis, Technical University of Denmark, 2013.</mixed-citation><mixed-citation xml:lang="en">Nielsen J. M., A Type System for the Jolie Language, Master thesis, Technical University of Denmark, 2013.</mixed-citation></citation-alternatives></ref><ref id="cit26"><label>26</label><citation-alternatives><mixed-citation xml:lang="ru">Rice H. G., “Classes of Recursively Enumerable Sets and Their Decision Problems”, Trans. Amer. Math. Soc., 74 (1953), 358–366.</mixed-citation><mixed-citation xml:lang="en">Rice H. G., “Classes of Recursively Enumerable Sets and Their Decision Problems”, Trans. Amer. Math. Soc., 74 (1953), 358–366.</mixed-citation></citation-alternatives></ref><ref id="cit27"><label>27</label><citation-alternatives><mixed-citation xml:lang="ru">Rondon P. M., Kawaguci M., Jhala R., “Liquid Types”, SIGPLAN Not., 43:6 (2008), 159– 169.</mixed-citation><mixed-citation xml:lang="en">Rondon P. M., Kawaguci M., Jhala R., “Liquid Types”, SIGPLAN Not., 43:6 (2008), 159– 169.</mixed-citation></citation-alternatives></ref><ref id="cit28"><label>28</label><citation-alternatives><mixed-citation xml:lang="ru">Saﬁna L., Mazzara M., Montesi F., Rivera V., “Data-driven Workﬂows for Microservices (genericity in Jolie)”, Proc. of the 30th IEEE International Conference on Advanced Information Networking and Applications (AINA 2016), 2016.</mixed-citation><mixed-citation xml:lang="en">Saﬁna L., Mazzara M., Montesi F., Rivera V., “Data-driven Workﬂows for Microservices (genericity in Jolie)”, Proc. of the 30th IEEE International Conference on Advanced Information Networking and Applications (AINA 2016), 2016.</mixed-citation></citation-alternatives></ref><ref id="cit29"><label>29</label><citation-alternatives><mixed-citation xml:lang="ru">Salikhov D., Khanda K., Gusmanov K., Mazzara M., Mavridis N., “Microservice-based IoT for Smart Buildings”, Proceedings of the 31st International Conference on Advanced Information Networking and Applications Workshops (WAINA), 2017.</mixed-citation><mixed-citation xml:lang="en">Salikhov D., Khanda K., Gusmanov K., Mazzara M., Mavridis N., “Microservice-based IoT for Smart Buildings”, Proceedings of the 31st International Conference on Advanced Information Networking and Applications Workshops (WAINA), 2017.</mixed-citation></citation-alternatives></ref><ref id="cit30"><label>30</label><citation-alternatives><mixed-citation xml:lang="ru">Salikhov D., Khanda K., Gusmanov K., Mazzara M., Mavridis N., “Jolie Good Buildings: Internet of things for smart building infrastructure supporting concurrent apps utilizing distributed microservices”, Proceedings of the 1st International conference on Convergent Cognitive Information Technologies, 2016.</mixed-citation><mixed-citation xml:lang="en">Salikhov D., Khanda K., Gusmanov K., Mazzara M., Mavridis N., “Jolie Good Buildings: Internet of things for smart building infrastructure supporting concurrent apps utilizing distributed microservices”, Proceedings of the 1st International conference on Convergent Cognitive Information Technologies, 2016.</mixed-citation></citation-alternatives></ref><ref id="cit31"><label>31</label><citation-alternatives><mixed-citation xml:lang="ru">Tchitchigin A., Saﬁna L., Mazzara M., Elwakil M., Montesi F., Rivera V., “Reﬁnement types in Jolie”, Spring/Summer Young Researchers Colloquium on Software Engineering, SYRCoSE, 2016.</mixed-citation><mixed-citation xml:lang="en">Tchitchigin A., Saﬁna L., Mazzara M., Elwakil M., Montesi F., Rivera V., “Reﬁnement types in Jolie”, Spring/Summer Young Researchers Colloquium on Software Engineering, SYRCoSE, 2016.</mixed-citation></citation-alternatives></ref><ref id="cit32"><label>32</label><citation-alternatives><mixed-citation xml:lang="ru">Vallverdú J., Talanov M., Distefano S., Mazzara M., Tchitchigin A., Nurgaliev I., “A cognitive architecture for the implementation of emotions in computing systems”, Biologically Inspired Cognitive Architectures, 15 (2016), 34 – 40.</mixed-citation><mixed-citation xml:lang="en">Vallverdú J., Talanov M., Distefano S., Mazzara M., Tchitchigin A., Nurgaliev I., “A cognitive architecture for the implementation of emotions in computing systems”, Biologically Inspired Cognitive Architectures, 15 (2016), 34 – 40.</mixed-citation></citation-alternatives></ref><ref id="cit33"><label>33</label><citation-alternatives><mixed-citation xml:lang="ru">“Z3”, https://github.com/Z3Prover/z3.</mixed-citation><mixed-citation xml:lang="en">“Z3”, https://github.com/Z3Prover/z3.</mixed-citation></citation-alternatives></ref><ref id="cit34"><label>34</label><citation-alternatives><mixed-citation xml:lang="ru">“OASIS. Web Services Business Process Execution Language”, http://docs.oasis-open. org/wsbpel/2.0/wsbpel-specification-draft.html.</mixed-citation><mixed-citation xml:lang="en">“OASIS. Web Services Business Process Execution Language”, http://docs.oasis-open. org/wsbpel/2.0/wsbpel-specification-draft.html.</mixed-citation></citation-alternatives></ref><ref id="cit35"><label>35</label><citation-alternatives><mixed-citation xml:lang="ru">“Agda”, http://wiki.portal.chalmers.se/agda/pmwiki.php.</mixed-citation><mixed-citation xml:lang="en">“Agda”, http://wiki.portal.chalmers.se/agda/pmwiki.php.</mixed-citation></citation-alternatives></ref><ref id="cit36"><label>36</label><citation-alternatives><mixed-citation xml:lang="ru">“F*”, https://www.fstar-lang.org/.</mixed-citation><mixed-citation xml:lang="en">“F*”, https://www.fstar-lang.org/.</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>
