PhD student: Alice Martin
PhD supervisors: Mathieu Magnaudet et Stéphane Conversy
Date: 2019 – 2022
Nowadays, computing systems at the heart of critical systems, especially air transport, are characterized by multiple interactions, or strong couplings, between human operators, physical devices, and software. The design of this type of system implies that we are interested in the causal relationships between the different processes involved. Therefore, it is no longer a question of designing input/output systems for which the algorithm must be created but of specifying networks of interacting heterogeneous processes. As a result, these computer systems can no longer be easily understood within the classical theoretical framework: computability theory, inherited from the work of Turing and Church. Asynchronous events, independent execution flows, or passive waiting processes pose specific difficulties in modeling and practice. The primary objective of this thesis is to examine the possibility of a new theoretical framework for interactive computing, to characterize it better. As this work focuses on the software aspects of interactive computer systems, it takes the existing theoretical computer science as a starting point. We are looking for an abstract machine for interaction and a dedicated expressiveness criterion. The consequence of this reflection is to motivate, relayed by a study with programmers, an approach to tool a language dedicated to interaction. Through a visualization tool, Causette, we propose shifting the usual focus on the notion of computation to that of causal orchestration to facilitate understanding the program. Indeed, rather than involving the writing of algorithms, programming interaction brings into the foreground the specification of causal relations between processes.
“Causette: User-Controlled Rearrangement of Causal Constructs in a Code Editor” (2022)
Abstract: Programming interaction usually involves specifying causal relationships such as input events triggering a state change or the propagation of values. Such code may reside in several locations and its execution is driven by multiple causal chains, which hinders the programmer’s ability to understand and fix it. We designed Causette, a set of four novel interaction techniques for a code editor. They consist in rearranging causal constructs on demand to make the code representation consistent with the causal chain being analyzed by the user.We ran an experiment showing that Causette may be more usable than a regular editor for some code understanding tasks. This work suggests that rearranging interaction code may help developers better understand and fix it.
Alice Martin, Mathieu Magnaudet, and Stéphane Conversy. 2022. Causette: User-Controlled Rearrangement of Causal Constructs in a Code Editor. In 30th International Conference on Program Comprehension (ICPC ’22), May 16–17, 2022, Virtual Event, USA. ACM, New York, NY, USA, 12 pages. https://doi.org/10.1145/3524610.3527885
“Toward Interactive Completeness: Requirements for an Interactive Abstract Machine” (2021)
Abstract: Turing’s work on computability served as the founding theoretical framework for computer science. It aimed at formalizing the intuitive notion of algorithm and gave birth to the concepts of logical automaton and abstract machine. The latter are used to evaluate the expressiveness of programming languages. However, current systems are difficult to model within an algorithmic framework and question the relevance of the classical model. The systems we know are indeed characterized by continuous interactions between human agents, physical and computational processes. Programming these interactive systems requires to specify causal relationships between processes, and not simply the execution of computation. In this paper, we propose to define an equivalent of the classical abstract machine, to model programmable interactive systems. Based on our distinction between computation programming and interaction programming and previous theoretical works that have questioned the classical framework, we elicit the minimal requirements of an abstract machine for interaction. This work is a first step toward an interactive model to evaluate the expressivity of interaction-oriented languages.
Alice Martin, Mathieu Magnaudet, and Stephane Conversy. 2021. Vers la complétude interactive: exigences pour une machine abstraite orientée interaction: Toward Interactive Completeness: Requirements for an Interactive Abstract Machine. In 32e Conférence Francophone sur l’Interaction Homme-Machine (IHM ’21). Association for Computing Machinery, New York, NY, USA, Article 9, 1–6. https://doi.org/10.1145/3451148.3458644