\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.}
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.
\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.
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 :=
%\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.
\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