Behaviorally Typed State Machines in TypeScript for Heterogeneous Swarms
Wed 19 Jul 2023 15:30 - 17:00 at Microsoft Atrium (Allen Center) - Tool Demonstrations Chair(s): Jonathan Bell, Luís Pina
In heterogeneous swarm systems participants can come and go, the communication topology may change at any time, data replication is asynchronous and partial, and the behavior of local agents typically differs between nodes. These systems are notoriously hard to design and reason about, in particular concerning the observed system behavior that we desire to emerge from the programmed behavior of the individual agents. Nevertheless such systems are used in mission critical contexts, e.g. in factories for manufacturing process orchestration. The reason is that they offer uncompromising availability and resilience of computing services.
This paper presents a set of TypeScript libraries that allow the programmer to model peer-to-peer workflows as state machines, execute them using the Actyx middleware, and check the shape of these machines for conformance to a swarm protocol. The swarm protocol describes an idealized global view onto the cooperation of machines of different roles. It directly corresponds to a diagrammatic representation a product manager would sketch on a whiteboard, thus allowing to verify that the coded state machines correctly implement the product specification. A well-formed swarm protocol also guarantees that conforming machines will achieve eventual consensus on the overall state progression even in the absence of further coordination.
Tool repo: https://github.com/Actyx/machines
Tue 18 JulDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | Tool Demo PresentationsTool Demonstrations at Habib Classroom (Gates G01) Chair(s): Jonathan Bell Northeastern University, Luís Pina University of Illinois at Chicago | ||
13:30 6mTalk | DDLDroid: A Static Analyzer for Automatically Detecting Data Loss Issues in Android Applications Tool Demonstrations Yuhao Zhou Nanjing University of Science and Technology, Wei Song Nanjing University of Science and Technology Link to publication DOI Media Attached | ||
13:36 6mTalk | EvoSpex: A Search-based Tool for Postcondition Inference Tool Demonstrations Facundo Molina IMDEA Software Institute, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires Media Attached | ||
13:42 6mTalk | ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools Tool Demonstrations Austin Mordahl University of Texas at Dallas, Dakota Soles The University of Texas at Dallas, Miao Miao The University of Texas at Dallas, Zenong Zhang The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas | ||
13:49 6mTalk | KeenTune: Automated Tuning Tool for Cloud Application Performance Testing and Optimization Tool Demonstrations Qinglong Wang Alibaba Group, Runzhe Wang Alibaba Group, Yuxi Hu Alibaba Group, Xiaohai Shi Alibaba Group, Zheng Liu Alibaba Group; Zhejiang University, Tao Ma Alibaba Group, Houbing Song University of Maryland, Baltimore County, Heyuan Shi Central South University | ||
13:55 6mTalk | EDHOC-Fuzzer: An EDHOC Protocol State Fuzzer Tool Demonstrations Konstantinos (Kostis) Sagonas Uppsala University and Nat. Tech. Univ. of Athens, Thanasis Typaldos National Technical University of Athens DOI Pre-print | ||
14:02 6mTalk | KDAlloc: The KLEE Deterministic Allocator Tool Demonstrations Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London | ||
14:08 6mTalk | RustSmith: Random Differential Compiler Testing for Rust Tool Demonstrations Mayank Sharma Imperial College London, Pingshi Yu Imperial College London, Alastair F. Donaldson Imperial College London | ||
14:15 6mTalk | SymRustC: A Hybrid Fuzzer for Rust Tool Demonstrations Frédéric Tuong Simon Fraser University, Mohammad Omidvar Tehrani Simon Fraser University, Marco Gaboardi Boston University, Steve Ko Simon Fraser University | ||
14:21 6mTalk | TreeLine and SlackLine: Grammar-Based Performance Fuzzing on Coffee Break Tool Demonstrations | ||
14:27 6mTalk | MetaData262: Automatic Test Suite Selection for Partial JavaScript Implementations Tool Demonstrations Frederico Ramos Instituto Superior Técnico, Diogo Costa Reis Instituto Superior Técnico, Miguel Trigo Instituto Superior Técnico, António Morgado INESC-ID, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal | ||
14:34 6mTalk | PExReport-Maven: Creating Pruned Executable Cross-Project Failure Reports in Maven Build System Tool Demonstrations Media Attached | ||
14:40 6mTalk | RobotBT: Behavior-Tree-Based Test-Case Specification for the Robot Framework Tool Demonstrations Sven Peldszus Ruhr University Bochum, Noubar Akopian Ruhr University Bochum, Thorsten Berger Ruhr University Bochum DOI Media Attached | ||
14:47 6mTalk | Behaviorally Typed State Machines in TypeScript for Heterogeneous Swarms Tool Demonstrations | ||
14:53 6mTalk | Oven: Safe and Live Communication Protocols in Scala, using Synthetic Behavioural Type Analysis Tool Demonstrations Francisco Ferreira Royal Holloway, University of London, Sung-Shik Jongmans Open University of the Netherlands; CWI |
Wed 19 JulDisplayed time zone: Pacific Time (US & Canada) change
15:30 - 17:00 | Tool DemonstrationsTool Demonstrations at Microsoft Atrium (Allen Center) Chair(s): Jonathan Bell Northeastern University, Luís Pina University of Illinois at Chicago | ||
15:30 90mTalk | KeenTune: Automated Tuning Tool for Cloud Application Performance Testing and Optimization Tool Demonstrations Qinglong Wang Alibaba Group, Runzhe Wang Alibaba Group, Yuxi Hu Alibaba Group, Xiaohai Shi Alibaba Group, Zheng Liu Alibaba Group; Zhejiang University, Tao Ma Alibaba Group, Houbing Song University of Maryland, Baltimore County, Heyuan Shi Central South University | ||
15:30 90mTalk | RustSmith: Random Differential Compiler Testing for Rust Tool Demonstrations Mayank Sharma Imperial College London, Pingshi Yu Imperial College London, Alastair F. Donaldson Imperial College London | ||
15:30 90mTalk | PExReport-Maven: Creating Pruned Executable Cross-Project Failure Reports in Maven Build System Tool Demonstrations Media Attached | ||
15:30 90mTalk | EDHOC-Fuzzer: An EDHOC Protocol State Fuzzer Tool Demonstrations Konstantinos (Kostis) Sagonas Uppsala University and Nat. Tech. Univ. of Athens, Thanasis Typaldos National Technical University of Athens DOI Pre-print | ||
15:30 90mTalk | KDAlloc: The KLEE Deterministic Allocator Tool Demonstrations Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London | ||
15:30 90mTalk | TreeLine and SlackLine: Grammar-Based Performance Fuzzing on Coffee Break Tool Demonstrations | ||
15:30 90mTalk | SymRustC: A Hybrid Fuzzer for Rust Tool Demonstrations Frédéric Tuong Simon Fraser University, Mohammad Omidvar Tehrani Simon Fraser University, Marco Gaboardi Boston University, Steve Ko Simon Fraser University | ||
15:30 90mTalk | ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools Tool Demonstrations Austin Mordahl University of Texas at Dallas, Dakota Soles The University of Texas at Dallas, Miao Miao The University of Texas at Dallas, Zenong Zhang The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas | ||
15:30 90mTalk | EvoSpex: A Search-based Tool for Postcondition Inference Tool Demonstrations Facundo Molina IMDEA Software Institute, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires Media Attached | ||
15:30 90mTalk | Behaviorally Typed State Machines in TypeScript for Heterogeneous Swarms Tool Demonstrations | ||
15:30 90mTalk | DDLDroid: A Static Analyzer for Automatically Detecting Data Loss Issues in Android Applications Tool Demonstrations Yuhao Zhou Nanjing University of Science and Technology, Wei Song Nanjing University of Science and Technology Link to publication DOI Media Attached | ||
15:30 90mTalk | Oven: Safe and Live Communication Protocols in Scala, using Synthetic Behavioural Type Analysis Tool Demonstrations Francisco Ferreira Royal Holloway, University of London, Sung-Shik Jongmans Open University of the Netherlands; CWI | ||
15:30 90mTalk | MetaData262: Automatic Test Suite Selection for Partial JavaScript Implementations Tool Demonstrations Frederico Ramos Instituto Superior Técnico, Diogo Costa Reis Instituto Superior Técnico, Miguel Trigo Instituto Superior Técnico, António Morgado INESC-ID, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal | ||
15:30 90mTalk | RobotBT: Behavior-Tree-Based Test-Case Specification for the Robot Framework Tool Demonstrations Sven Peldszus Ruhr University Bochum, Noubar Akopian Ruhr University Bochum, Thorsten Berger Ruhr University Bochum DOI Media Attached |