%\begin{circuitikz}[scale=0.8, transform shape]
\begin{circuitikz}[]
\ctikzset{amplifiers/fill=cellblue, resistors/scale=0.5, component text=left}
- \draw (0,0) node[above]{$v_i$} to[short, o-] ++(0.5,0)
+ \draw (0,0) node[above]{$v_i$} to[short, o-] ++(1,0)
node[op amp, noinv input up, anchor=+, scale=0.7](OA){}
(OA.-) -- ++(0,-0.8) coordinate(outnode)
- to[R=$R_1$] ++(0,-1.0) node[tlground]{}
+ to[R, l_=$R_1$] ++(-1.0,0) -- ++(0,-0.5) node[tlground]{}
(outnode) to[R=$R_2$, *-] (outnode -| OA.out) -- (OA.out)
to [short, *-o] ++(1,0) node[above]{$v_o$}
;
- \draw (7,0) node[above]{$v_i$} to[short,o-] ++(0.5,0)
- to[R=$R_1$] ++(1.5,0) coordinate(outnode2)
+ \draw (7,0) node[above]{$v_i$} to[short,o-] ++(0.2,0)
+ to[R=$R_1$] ++(1.2,0) coordinate(outnode2)
to[R=$R_2$] ++(2.0,0) -- ++(0,-1.0)
node[op amp, anchor=out, scale=0.7](OB){} to [short, *-o] ++(1,0) node[above]{$v_o$}
- (OB.+) -- ++(0,-0.5) node[ground]{}
+ (OB.+) -- ++(0,-0.5) node[tlground]{}
(OB.-) -- (OB.- -| outnode2) to[short, -*] (outnode2)
;
\end{circuitikz}%
\tikzexternaldisable
\caption[Non-inverting amplifier and inverting amplifier.]{Non-inverting amplifier and inverting amplifier. They both use their inputs and their own output to compute their output.}
- \label{fig:actuatorcircuit}
+ \label{fig:amplifiers}
\end{figure}
}
\newcommand{\etal}{\emph{et al.}\xspace}
+\newcommand{\eg}{\emph{e.g.}\xspace}
\newcommand{\fixme}[1]{\textcolor{red}{#1}\xspace}
We observe here that each iteration of the co-fixpoint can be inductive, as it is the case in the example.
It shows that interaction is a general process that connects entities in the environment to enable them exchanging information.
-Algorithms only process information to transform input into outputs without knowledge of the overall scheme.
+Algorithms only process information to transform known input into outputs without knowledge of the overall scheme, and no external event can change their behavior during their execution.
+Interactive systems we use everyday react to unpredictable inputs in real time.
+Therefore they are not just built with algorithms.
+%The input streams are unpredictable, and their behavior adapts to
+They have separated input and output loops at different levels that communicate through streams.
+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}.
+%\defwords{Neural networks}{neural network} are other examples of interaction machines: they also get input streams and produce output streams~\cite{mcculloch43}.
+
+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.
+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.
+This kind of mechanism is used in many applications such as robots or drones control.
+%Human-in-the-loop
\input{figures/amplifiers.tex}
PAC \cite{coutaz87}
Arch \cite{arch92}
-MVC \cite{reenskaug79a}
+MVC \cite{reenskaug79,reenskaug79a}
Seeheim \cite{green85}
Différent ? Ou pas ?
Curiosity~\cite{laversannefinot18}
-Arch~\cite{arch92}, MVC~\cite{reenskaug79,reenskaug79a}, PAC~\cite{coutaz87}
-
Implementation depends on ethnographic background of programmers \cite{rode04}
Software architecture reproduce the organization structure\cite{conway68}