Software architectures and interaction paradigms
authorThomas Pietrzak <thomas.pietrzak@gmail.com>
Fri, 1 Apr 2022 15:25:37 +0000 (17:25 +0200)
committerThomas Pietrzak <thomas.pietrzak@gmail.com>
Fri, 1 Apr 2022 15:25:37 +0000 (17:25 +0200)
mystyle.sty
tex/4-loop.tex

index d522dab7a0fc0a8efdbad98952c830f0716abf7f..21069ecffca43bb877b10c8ee9d1dd1d3081b684 100644 (file)
 \definecolor{mainheader}{gray}{0.9}
 \definecolor{chapterback}{gray}{0.7}
 
+\definecolor{myred}{rgb}    {0.98,0.17,0.15}
+\definecolor{myblue}{rgb}    {0.17,0.60,0.99}
+
 \newcommand\brectangles{%
 \begin{tikzpicture}[overlay, remember picture]
 \fill[chapterback]
   \emph{#1}%
   \lindex{#2}%
 }
+\newcommand{\defacronym}[1]{%
+  \emph{#1}%
+  \index{#1}%
+}
 
 \newcommand{\etal}{\emph{et al.}\xspace}
 \newcommand{\eg}{\emph{e.g.}\xspace}
index 5daf5d105e17cb0a7d35b49cd58ca96c48f91f73..3010adeedc692407265637db7d07b56107a03a96 100644 (file)
@@ -443,7 +443,7 @@ In my opinion thus is a limitation for the generative aspect of these models, an
 Studying human behavior is useful for the design of machines for several reasons.
 The first reason is to reproduce the strengths of humans.
 For example in the previous section we discussed the fundamental coupling between humans' perception and action.
-Systems called \defword{closed-loop systems}\footurl{https://en.wikipedia.org/wiki/Control_system} also leverage such a mechanism.
+Systems called \defwords{closed-loop systems}{closed-loop system}\footurl{https://en.wikipedia.org/wiki/Control_system} also leverage such a mechanism.
 For example the non-inverting and inverting amplifiers circuit depicted on \reffig{fig:amplifiers} have the output of their operational amplifier connected to one of its input through a resistor.
 The output voltage is proportional to the input voltage whose value depends on $R_1$ and $R_2$.
 But most importantly, the feedback loop stabilizes the output voltage to the desired value.
@@ -459,6 +459,7 @@ The second reason to study human behavior is to improve interaction between huma
 Humans and interactive systems are distinct entities that need each other and must communicate to achieve their objective.
 Hence we will discuss below the architecture of interactive systems, the similarities and differences with humans, and how this is critical for improving interactions between them.
 
+\paragraph{Computation models}
 Initially, computers and programs were essentially based on theoretical models such as $\lambda$-calculus~\cite{church32} or Turing machines~\cite{turing38}.
 These are computing models, and they focus on solving numerical problem rather than contributing to everyday activities.
 A Turing machine has an infinite tape with symbols written in advance, and a pre-defined transition table that describes the behavior of the machine.
@@ -466,6 +467,7 @@ Therefore these machines ignore their environment, in which anything can change
 All these models are equivalent (or Turing-equivalent), and the Church-Turing thesis says that everything these models can compute can be implemented with an algorithm.
 Wegner and Goldin explain that both this universality and this limitation are due to their inductive nature~\cite{wegner99}.
 
+%\paragraph{Induction and co-induction}
 Induction require structures to be finite, and computation to end.
 For example the Listing~\ref{lst:induction} shows the inductive definition of a list of numbers, and a function that computes the length of a list.
 A list is buit with two constructors: either a \verb+Nil+ value for an empty list, or a \verb+Cons+ function that create a list with a number (the head) and another list (the tail).
@@ -517,20 +519,53 @@ They have separated input and output loops at different levels that communicate
 For example, on the system level an input loop gets input streams of input data (\eg mouse displacements), produce output streams of input events (\eg mouse move event).
 On the application level, an input loops gets output streams of input events and combine the information they convey with interaction techniques to produce an output stream of actions to be executed.
 On the application level, a graphics loop gets an input stream of graphic commands and produces an output stream of objects to be displayed.
-Therefore, applications are what Wegner calls \defwords{interaction machines}{interaction machine}~\cite{wegner97}.
+Therefore, applications are therefore what Wegner calls \defwords{interaction machines}{interaction machine}~\cite{wegner97}.
 %\defwords{Neural networks}{neural network} are other examples of interaction machines: they also get input streams and produce output streams~\cite{mcculloch43}.
 
-Software architectures step away from algorithms to describe a higher-level structure that connects users to a functional \emph{model}.
+\paragraph{Software architectures and interaction paradigms}
+Software architectures leverage this interaction machinne to describe a higher-level structure that connects users to a functional \emph{model}.
 This model, also called an \emph{abstraction}, defines the objects of the system, their properties and the operations on them.
-For example, the MVC architecture distinguishes the model with \emph{views} that describe how objects are presented to users and \emph{controllers} that define the way users can manipulate them~\cite{reenskaug79,reenskaug79a}.
+For example, the original MVC architectures distinguishes the model with \emph{views} that describe how objects are presented to users and \emph{controllers} that define the way users can manipulate them~\cite{reenskaug79,reenskaug79a}.
 Arch~\cite{arch92} and PAC~\cite{coutaz87} rather combine input and outputs as a \emph{presentation} component, and add a \emph{controler} component that manages transitions between abstract inputs/outputs and domain-specific properties of the model/abstraction.
-The modern MVC architectures follow this structure as well.
+%The modern MVC architectures follow this structure as well.
 The advantage of these architectures is to separate the objects of interest from the interaction with them.
 It is therefore easy to display several synchronized representations of the same object, and provide multiple ways to manipulate them.
 These interactive properties contribute to leveraging human capacities and flexibility through multimodality \cite{nigay95,nigay04}.
 
 %Seeheim \cite{green85}
 
+In the previous section, we discussed the critical role of the sensorimotor cycle on human's perception.
+% and Gibson's ecological approach of perception.
+The software architectures above create connections between humans and interactive systems with input and output streams.
+However, leveraging the full potential of the sensorimotor loop requires an additional layer of interaction paradigm such as \defword{direct manipulation}~\cite{schneiderman83}.
+The direct manipulation paradigm defines several properties: objects have to be visible and directly manipulable, and actions have to be fast, reversible, and incremental.
+Implementing these properties into the design of graphical user interfaces (\defacronym{GUI}) favors their usability.
+For example it contributes to some of Nielsen's heuristics~\cite{nielsen90,nielsen94}: \emph{visibility of system status}, \emph{user control and freedom}, \emph{recognition rather than recall}, and \emph{Flexibility and efficiency of use}.
+The \defword{instrumental interaction} paradigm extends direct manipulation and makes the connection with software achitectures~\cite{mbl00}.
+Similarly to software architectures, it defines domain objects.
+Users can interact with them through \emph{interaction instruments}, which are reifications of commands.
+When users perform actions on the instruments, they receive immediate feedback and the instrument performs operations on the domain objects.
+The domain object returns a response to this operation.
+The combination of the action and both the feedback and response forms a sensorimotor cycle that enables direct manipulation and leverages the users' perceptual skills.
+
+
+\section{Ecological approach to computing}
+
+Pb: it reacts always the same way to the same entries. Humans tend to evolve. => ML?
+Flexibility? Adaptability?
+
+Curiosity~\cite{laversannefinot18}
+
+Différent ? Ou pas ?
+(Not only machines behavior is different than human behavior), but most importantly the purpose of their behavior is different.
+
+Computers are human inventions, and they are build to follow human-made specifications.
+Their behavior
+
+=> Towards computing affordance, a generalized notion of computability
+
+Control and automation: Moravec's paradox
+
 adaptations of Norman's theory
 
 Communication: humans and system both have a perceptual model of the other.
@@ -540,19 +575,11 @@ On the system side, the conceptual model of humans is unknown, studied by psycho
 
 \input{figures/sevenstages2.tex}
 
+\input{figures/interactingloops.tex}
 
-\todo{Maybe move stuff below to the discussion…}
-Wegner describe several kinds of what he calls \defwords{interaction machines}{interaction machine}.
-He gives the a machine that simply echoes an input stream to an output stream~\cite{wegner97} to demonstrate the power of the interaction phenomenon.
-Such a basic machine connected to two humans can pass the Turing test without being particularly intelligent.
-It can win half of chess games between these two people.
-When I discussed this with \fixme{Gérard Berry}, he said this was cheating.
-\todo{Should I remove the name?}
-But it is no different from AlphaZero which processes human knowledge to beat chess world champions~\cite{silver18}.
-When the machine wins the game the reward is for the machine designer not for the machine.
-%In fact in this latter case we often cite it as a superiority of machines.
-Further, machines are crystallized human knowledge and behavior at a given time.
-They process data and perform operations with this knowledge and behavior state until humans update them to a newer knowledge and behavior state.
+Abowd \& Beale's interaction framework\cite{abowd91}
+
+\input{figures/wholeschema.tex}
 
 
 % \begin{algorithm}[htb]
@@ -585,38 +612,10 @@ They process data and perform operations with this knowledge and behavior state
 % It potentially runs forever on an infinite input stream.
 % This is a necessary mechanism to model and implement interaction with external agents.
 
-Pb: it reacts always the same way to the same entries. Humans tend to evolve. => ML?
-Flexibility? Adaptability?
-
-Différent ? Ou pas ?
-(Not only machines behavior is behavior is different than human behavior), but most importantly the purpose of their behavior is different.
 
-Computers are human inventions, and they are build to follow human-made specifications.
-Their behavior
 
 
 
-
-Curiosity~\cite{laversannefinot18}
-
-Implementation depends on ethnographic background of programmers \cite{rode04}
-
-Software architecture reproduce the organization structure\cite{conway68}
-
-\subsection{Human/System combination}
-
-Abowd \& Beale's interaction framework\cite{abowd91}
-
-Direct manipulation~\cite{schneiderman83}
-
-Instrumental interaction~\cite{mbl00}
-
-
-=> Towards computing affordance, a generalized notion of computability
-
-Control and automation: Moravec's paradox
-
-
 \section{Case studies}
 
 \subsection{Haptic interaction paradigms}
@@ -648,8 +647,24 @@ In this project, we explained how to adapt the concept of direct manipulation to
 
 \cite{richard20,richard22}
 
-\section{Ecological approach to computing}
+\section{Conclusion}
 
-\input{figures/interactingloops.tex}
 
-\input{figures/wholeschema.tex}
+
+\todo{Maybe move stuff below to the discussion…}
+Wegner describe several kinds of what he calls \defwords{interaction machines}{interaction machine}.
+He gives the a machine that simply echoes an input stream to an output stream~\cite{wegner97} to demonstrate the power of the interaction phenomenon.
+Such a basic machine connected to two humans can pass the Turing test without being particularly intelligent.
+It can win half of chess games between these two people.
+When I discussed this with \fixme{Gérard Berry}, he said this was cheating.
+\todo{Should I remove the name?}
+But it is no different from AlphaZero which processes human knowledge to beat chess world champions~\cite{silver18}.
+When the machine wins the game the reward is for the machine designer not for the machine.
+%In fact in this latter case we often cite it as a superiority of machines.
+Further, machines are crystallized human knowledge and behavior at a given time.
+They process data and perform operations with this knowledge and behavior state until humans update them to a newer knowledge and behavior state.
+
+
+Implementation depends on ethnographic background of programmers \cite{rode04}
+
+Software architecture reproduce the organization structure\cite{conway68}