{"id":51917,"date":"2023-07-03T09:18:40","date_gmt":"2023-07-03T07:18:40","guid":{"rendered":"https:\/\/www.um.edu.mt\/projects\/behapi\/?p=51917"},"modified":"2023-07-06T08:15:14","modified_gmt":"2023-07-06T06:15:14","slug":"tutorial-day-at-discotec-2023","status":"publish","type":"post","link":"https:\/\/www.um.edu.mt\/projects\/behapi\/tutorial-day-at-discotec-2023\/","title":{"rendered":"Tutorial Day at DisCoTec 2023"},"content":{"rendered":"\n<p>This year&#8217;s BehAPI Tutorial Day, which was held on Friday 23rd June, took place in Lisbon, Portugal, in conjunction with DisCoTec 2023. Three researchers from GSSI and NOVA delivered tutorials on their respective areas of expertise. It was attended by a good number of researchers from varying universities and institutes, both from within and outside of the BehAPI consortium.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tutorials<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Christian Bartolo Burl\u00f2 (GSSI, Italy) &#8211; SeTTS: Session Type Test Synthesis for Web-based APIs <\/h3>\n\n\n\n<p>This tutorial presented an approach for testing REST APIs, utilizing session types and an OpenAPI-based DSL to specify correct message exchanges\/API usages. A tool called SeTTS was created, which is able to generate randomized test executions to detect specification violations on open-source applications, requiring less code than handwritten tests.<\/p>\n\n\n\n<p><strong>Tool here:<\/strong> <a href=\"https:\/\/chrisbartoloburlo.github.io\/cots\/\">https:\/\/chrisbartoloburlo.github.io\/cots\/<\/a><br><strong>Slides here:<\/strong> [<a href=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/presentation.pdf\">x<\/a>]<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"51923\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-1-1024x768.jpg\" alt=\"\" class=\"wp-image-51923\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-1-1024x768.jpg 1024w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-1-300x225.jpg 300w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-1-768x576.jpg 768w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-1-1536x1152.jpg 1536w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-1-750x562.jpg 750w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-1.jpg 1670w\" sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"51922\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-2-1024x768.jpg\" alt=\"\" class=\"wp-image-51922\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-2-1024x768.jpg 1024w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-2-300x225.jpg 300w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-2-768x576.jpg 768w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-2-1536x1152.jpg 1536w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-2-750x562.jpg 750w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/christian-2.jpg 1670w\" sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n<\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Emilio Tuosto (GSSI, Italy) &#8211; Local-First Principles: a Behavioural Typing Approach<\/h3>\n\n\n\n<p>This tutorial covered distributed coordination using local-first principles, including a formal model of the Actyx platform and an approach utilizing behavioural types to analyze systems with distributed components. A prototype implementation of this formal framework was showcased, which was developed in collaboration with Roland Kuhn from Actyx AG, Germany, and Hern\u00e1n Melgratti from UBA &amp; CONICET, Argentina.<\/p>\n\n\n\n<p>Slides here: [<a href=\"https:\/\/emwww.github.io\/home\/slides\/discotec23.pdf\">x<\/a>] (solutions found on last slide)<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" data-id=\"51925\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-1-1024x768.jpg\" alt=\"\" class=\"wp-image-51925\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-1-1024x768.jpg 1024w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-1-300x225.jpg 300w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-1-768x576.jpg 768w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-1-1536x1152.jpg 1536w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-1-750x562.jpg 750w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-1.jpg 1670w\" sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"686\" data-id=\"51926\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-2-1-1024x686.jpg\" alt=\"\" class=\"wp-image-51926\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-2-1-1024x686.jpg 1024w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-2-1-300x201.jpg 300w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-2-1-768x514.jpg 768w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-2-1-1536x1028.jpg 1536w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-2-1-750x502.jpg 750w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/emilio-2-1.jpg 1870w\" sizes=\"(max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n<\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Jo\u00e3o Mota (NOVA, Portugal) &#8211; JaTyC &#8211; Java Typestate Checker<\/h3>\n\n\n\n<p>JaTyC, a tool that verifies JAVA code, was presented in this tutorial. In particular, the tool statically verifies that when a Java program runs: sequences of method calls obey to object\u2019s protocols; objects\u2019 protocols are completed; null-pointer exceptions are not raised; subclasses\u2019 instances respect the protocol of their superclasses.<br><br><strong>Java Typestate Checker: <\/strong><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/jdmota\/java-typestate-checker\" target=\"_blank\">https:\/\/github.com\/jdmota\/java-typestate-checker<\/a><br><strong>Typestate Editor:<\/strong> <a rel=\"noreferrer noopener\" href=\"https:\/\/typestate-editor.github.io\/\" target=\"_blank\">https:\/\/typestate-editor.github.io\/<\/a><br><strong>Session Subtyping Tool:<\/strong> <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/LBacchiani\/session-subtyping-tool\" target=\"_blank\">https:\/\/github.com\/LBacchiani\/session-subtyping-tool<\/a><br><strong>Slides<\/strong>: <a href=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/JaTyC-DisCoTec-2023.pdf\">[x]<\/a><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"1024\" data-id=\"51929\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-3-512x1024.jpg\" alt=\"\" class=\"wp-image-51929\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-3-512x1024.jpg 512w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-3-150x300.jpg 150w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-3-375x750.jpg 375w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-3.jpg 626w\" sizes=\"(max-width: 512px) 100vw, 512px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"484\" height=\"1024\" data-id=\"51930\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-2-1-484x1024.jpg\" alt=\"\" class=\"wp-image-51930\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-2-1-484x1024.jpg 484w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-2-1-142x300.jpg 142w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-2-1-355x750.jpg 355w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/06\/nova-2-1.jpg 592w\" sizes=\"(max-width: 484px) 100vw, 484px\" \/><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Attendance<\/h2>\n\n\n\n<p>The tutorial day was well attended by researches both from within and outside of the BehAPI consortium. The majority of attendees were Early Stage Researchers, that is, PhD students and post-doc researchers. <br><\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"287\" data-id=\"51937\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/Country-of-Origin-1.png\" alt=\"\" class=\"wp-image-51937\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/Country-of-Origin-1.png 463w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/Country-of-Origin-1-300x186.png 300w\" sizes=\"(max-width: 463px) 100vw, 463px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"287\" data-id=\"51936\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/BehAPI-Sites-1.png\" alt=\"\" class=\"wp-image-51936\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/BehAPI-Sites-1.png 463w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/BehAPI-Sites-1-300x186.png 300w\" sizes=\"(max-width: 463px) 100vw, 463px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"287\" data-id=\"51938\" src=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/Researcher-Type-1.png\" alt=\"\" class=\"wp-image-51938\" srcset=\"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/Researcher-Type-1.png 463w, https:\/\/www.um.edu.mt\/projects\/behapi\/wp-content\/uploads\/2023\/07\/Researcher-Type-1-300x186.png 300w\" sizes=\"(max-width: 463px) 100vw, 463px\" \/><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Looking Ahead<\/h2>\n\n\n\n<p>The tutorial day for the BehAPI project was a resounding success, thanks to the continued support and funding from&nbsp;EU H2020 RISE programme, as well as the sustained dedication of project members. Attendees had the opportunity to gain insights into the work currently being produced within and alongside the project. This event marked another milestone in the BehAPI project&#8217;s journey, fostering collaboration, knowledge sharing, and paving the way for future advancements in the field.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This year&#8217;s BehAPI Tutorial Day, which was held on Friday 23rd June, took place in Lisbon, Portugal, in conjunction with DisCoTec 2023. Three researchers from GSSI and NOVA delivered tutorials<\/p>\n<div class=\"read-more\"><a class=\"btn read-more-link\" href=\"https:\/\/www.um.edu.mt\/projects\/behapi\/tutorial-day-at-discotec-2023\/\">Read More<\/a><\/div>\n","protected":false},"author":1,"featured_media":51946,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[36],"tags":[],"acf":[],"_links":{"self":[{"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/posts\/51917"}],"collection":[{"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/comments?post=51917"}],"version-history":[{"count":9,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/posts\/51917\/revisions"}],"predecessor-version":[{"id":51962,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/posts\/51917\/revisions\/51962"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/media\/51946"}],"wp:attachment":[{"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/media?parent=51917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/categories?post=51917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.um.edu.mt\/projects\/behapi\/wp-json\/wp\/v2\/tags?post=51917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}