From 97386925eabea073eae08ade248a85cbab67c185 Mon Sep 17 00:00:00 2001 From: Thomas Pietrzak Date: Mon, 4 Apr 2022 18:00:00 +0200 Subject: [PATCH] Ecological approach --- figures/interactingloops.tex | 2 +- figures/wholeschema.tex | 8 ++--- tex/4-loop.tex | 64 +++++++++++++++++++++++------------- 3 files changed, 47 insertions(+), 27 deletions(-) diff --git a/figures/interactingloops.tex b/figures/interactingloops.tex index c04c2f4..a39d776 100644 --- a/figures/interactingloops.tex +++ b/figures/interactingloops.tex @@ -33,6 +33,6 @@ \draw [->, -stealth', line width=1mm, draw=myblue!50!black, shorten <= -1.5mm] (system.north west) to[out=135,in=90] (execution.west); \end{tikzpicture} \tikzexternaldisable - \caption{The similarity of a user and a system interacting with each other.} + \caption{The similarity of a user and a system interacting with their environment, and through which they can interact together.} \label{fig:loops} \end{figure} diff --git a/figures/wholeschema.tex b/figures/wholeschema.tex index 8db7855..2bd0ff8 100644 --- a/figures/wholeschema.tex +++ b/figures/wholeschema.tex @@ -34,13 +34,13 @@ \draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=myblue, line width=\thickness] (180:\levelone) arc[start angle=180, end angle=360, radius=\levelone]; \path[decorate, decoration={text along path, text={|\color{white}|System},text align=center, raise=-0.5ex}] (180:\levelone) arc[start angle=180, end angle=360, radius=\levelone]; - %Input pipeline + %Output pipeline \draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=black!40, line width=\thickness] (90:\levelthree) arc[start angle=90, end angle=-90, radius=\levelthree]; - \path[decorate, decoration={text along path, text={|\color{white}|Input pipeline},text align=center, raise=-0.5ex}] (90:\levelthree) arc[start angle=90, end angle=-90, radius=\levelthree]; + \path[decorate, decoration={text along path, text={|\color{white}|Output pipeline},text align=center, raise=-0.5ex}] (90:\levelthree) arc[start angle=90, end angle=-90, radius=\levelthree]; - %Output pipeline + %Innput pipeline \draw[{Triangle Cap[bend]}-{Triangle Cap[bend]}, color=black!60, line width=\thickness] (270:\levelthree) arc[start angle=270, end angle=90, radius=\levelthree]; - \path[decorate, decoration={text along path, text={|\color{white}|Output pipeline},text align=center, raise=-0.5ex}] (270:\levelthree) arc[start angle=270, end angle=90, radius=\levelthree]; + \path[decorate, decoration={text along path, text={|\color{white}|Input pipeline},text align=center, raise=-0.5ex}] (270:\levelthree) arc[start angle=270, end angle=90, radius=\levelthree]; \end{tikzpicture} \tikzexternaldisable \caption[Full pipeline.]{Full pipeline.} diff --git a/tex/4-loop.tex b/tex/4-loop.tex index 3010ade..1921116 100644 --- a/tex/4-loop.tex +++ b/tex/4-loop.tex @@ -444,7 +444,7 @@ 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 \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. +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 their 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. This kind of control mechanism is used in many applications such as robots, domestic appliances, or drones. @@ -461,7 +461,7 @@ Hence we will discuss below the architecture of interactive systems, the similar \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. +These are computing models, and they focus on solving numerical problem rather than helping people with their 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. Therefore these machines ignore their environment, in which anything can change at anytime. 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. @@ -472,7 +472,7 @@ 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). The \verb+Nil+ value ensures that the list is finite. -It ensures in turn that the \verb+length+ function ends, because there is no recursive call on the base case (\verb+Nil+). +It ensures in turn that the \verb+length+ function ends, because there is no recursive call on the base case (\verb+Nil+) and every list ends with Nil. \begin{code}[language=Coq, label=lst:induction, caption=Inductive list and example of inductive function on a list.] Inductive list : Set := @@ -523,7 +523,7 @@ Therefore, applications are therefore what Wegner calls \defwords{interaction ma %\defwords{Neural networks}{neural network} are other examples of interaction machines: they also get input streams and produce output streams~\cite{mcculloch43}. \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}. +Software architectures leverage this interaction machine 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 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. @@ -551,36 +551,56 @@ The combination of the action and both the feedback and response forms a sensori \section{Ecological approach to computing} -Pb: it reacts always the same way to the same entries. Humans tend to evolve. => ML? -Flexibility? Adaptability? +% humans and systems as autonomous entities +Humans and interactive systems share the same overall schema in the sense that they are both autonomous entities that interact with their environment through input and output streams (\reffig{fig:loops}). +People perceive and act on their environment thanks to their sensorimotor loop. +We discussed above the critical role of the perception/action coupling. -Curiosity~\cite{laversannefinot18} +Enaction\cite{varela92,thompson10} +Similar overall schema + => entities connected to the outside world with input/output streams + => we perceive what our senses and motions enable us to perceive: type, range, precision… + + \input{figures/interactingloops.tex} + +% humans and systems communicate +% thei know their interpretation of the other entities, not what they actually are + adaptations of Norman's theory + + => we perceive indirect properties of the environment => perceptual/conceptual model -Différent ? Ou pas ? -(Not only machines behavior is different than human behavior), but most importantly the purpose of their behavior is different. + Communication: humans and system both have a perceptual model of the other. + It does not necessarily match their conceptual model. + On the human side, the conceptual model of systems is known by the designer, and the perceptual model comes from experience, and software part evolves. + On the system side, the conceptual model of humans is unknown, studied by psychologists. The perceptual model depends on sensors and algorithms that + +=> Towards computing affordance, a generalized notion of computability -Computers are human inventions, and they are build to follow human-made specifications. -Their behavior + \input{figures/sevenstages2.tex} -=> Towards computing affordance, a generalized notion of computability +% something… + Abowd \& Beale's interaction framework\cite{abowd91} -Control and automation: Moravec's paradox + \input{figures/wholeschema.tex} + -adaptations of Norman's theory -Communication: humans and system both have a perceptual model of the other. -It does not necessarily match their conceptual model. -On the human side, the conceptual model of systems is known by the designer, and the perceptual model comes from experience, and software part evolves. -On the system side, the conceptual model of humans is unknown, studied by psychologists. The perceptual model depends on sensors and algorithms that -\input{figures/sevenstages2.tex} -\input{figures/interactingloops.tex} +\begin{idee} +Pb: it reacts always the same way to the same entries. Humans tend to evolve. => ML? +Flexibility? Adaptability? + +Curiosity~\cite{laversannefinot18} -Abowd \& Beale's interaction framework\cite{abowd91} +Différent ? Ou pas ? +(Not only machines behavior is different than human behavior), but most importantly the purpose of their behavior is different. -\input{figures/wholeschema.tex} +Computers are human inventions, and they are build to follow human-made specifications. +Their behavior +Control and automation: Moravec's paradox +\end{idee} % \begin{algorithm}[htb] % \SetAlgoLined -- 2.30.2