Skip to content
Snippets Groups Projects
Commit 5b1e7c35 authored by Michael Kohlhase's avatar Michael Kohlhase
Browse files

more and more cleanup

parent 2ee822f0
No related branches found
No related tags found
No related merge requests found
\section{A Joint Perspective and Generalization of Jupyther and Active
\section{A Joint Perspective and Generalization of Jupyter and Active
Documents}\label{sec:comparison}
We will now highlight the features of the ADP and Jupyther notebooks with a view towards a
We will now highlight the features of the ADP and Jupyter notebooks with a view towards a
possible unification of the systems.
\begin{figure}[ht]
\input{ActDocRepresentation}
\caption{Active Documents}\label{fig:graph2}
\end{figure}
\emph{Active Documents} need a Player process (e.g. the Planetary system) that makes them
executable, gives access to provenance and copyright/licensing information, and supports
various forms of validation. Figure~\ref{fig:graph2} shows the situation in analogy to
......@@ -13,18 +18,15 @@ interactive because they have been bound to semantic services, which are execute
player system -- in the middle -- that interprets the represented content structures --
the mathematical knowledge; here depicted by a theory graph on the right.
\begin{figure}[ht]
\input{ActDocRepresentation}
\caption{Active Documents}\label{fig:graph2}
\end{figure}
In \emph{Juypther the situation is similar}, the user interacts with a dynamic web page --
the Jupyther notebook -- in a browser that is a mathematical text interspersed with areas
of interactivity: the computation cells. These can generate mathematical content and righ
media output into the notebook upon user request. We see the notebook on the left of
Figure~\ref{fig:graph3}. Again, we have a ``player process'': the Jupyther kernel that
runs the code for that notebook. This is depicted as the ``machine'' on the right, which
relies on the mathematical knowledge enoded as mathematical program code.
the Jupyter notebook interface -- in a browser that is a mathematical text interspersed
with areas of interactivity: the computation cells. These can generate mathematical
content and righ media output into the notebook upon user request. We see the notebook
interface on the left of Figure~\ref{fig:graph3}. Again, we have a ``player process'' the
Jupyter system and displays the text from the notebook and the computational kernel that
runs the code for the notebook. Note that the notebook (source) is also a representation
of mathematical knowledge; we see it on the right of Figure~\ref{fig:graph3}.
\begin{figure}[ht]
\input{JupyterRepresentation}
......@@ -32,10 +34,34 @@ relies on the mathematical knowledge enoded as mathematical program code.
\end{figure}
This already hints at a synthesis of the two systems; we make this explicit in
Figure~\ref{fig:graph4}: We
Figure~\ref{fig:graph4}: We build a combined player system that combines the complementary
features of both systems.
On the \emph{user interface} side this combined player
\begin{compactenum}
\item allows free-form mathematical documents with interactivity regions like in active
documents, but also
\item provides computational cells with read-eval-print style interaction with dedicated
computational machines.
\end{compactenum}
We have tried to indicate this in the mixed user interface in Figure~\ref{fig:graph3}.
On \emph{the computational side}, it combines
\begin{compactenum}
\item the generic semantic services of the MMT Tool based with
\item dedicated computational machines running code in separate kernel processes.
\end{compactenum}
Note that all of these need to share a notion of ``mathematical state'' so that the user
interface can present a consistent view to the user.
The new player process relies on the availability of three ``declarative compondens'' that
also need to be in a consistent representation.
\begin{compactenum}
\item mathematical document text
\item theory-graph shaped content representations, and
\item engine-specific code
\end{compactenum}
These tri-partite representations
\begin{figure}[ht]
\input{Syntesis}
......@@ -43,6 +69,7 @@ Figure~\ref{fig:graph4}: We
\end{figure}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "report"
......
......@@ -35,8 +35,8 @@
(-6.25, 4) --
(-2.75, 4) --
(-3.25, 3.5) --
(-2.5, 3.5) --
(-2.5, -3.5) --
(-3, 3.5) --
(-3, -3.5) --
cycle;
\node at (-4.5, 3) {\Huge J};
......
......@@ -2,9 +2,6 @@
\usepackage[landscape]{geometry}
\usepackage{tikz}
\usetikzlibrary{mindmap}
\usepackage{metalogo}
%\usepackage{dtklogos}
\usetikzlibrary{shapes,snakes}
\begin{document}
\begin{tikzpicture}
......@@ -38,36 +35,32 @@
% First machine
\path[draw, fill=blue!10]
(-6.5, -3.5) --
(-6.5, 1.5) --
(-7, -3.5) --
(-7, 1.5) --
(-6.5, 1.75) --
(-6.5, 3.5) --
(-6.25, 3.5) --
(-6.75, 4) --
(-3.25, 4) --
(-3.75, 3.5) --
(-3, 3.5) --
(-3, -3.5) --
(-7.5, 1.5) --
(-7, 1.75) --
(-7, 3.5) --
(-6.75, 3.5) --
(-7.25, 4) --
(-3.75, 4) --
(-4.25, 3.5) --
(-4, 3.5) --
(-4, -3.5) --
cycle;
%% Jupyther Program
%% Jupyter Program
\node[circle,fill=cyan] (a) at (-2, 1) { };
\node[circle,fill=cyan] (b) at (0, 1) { };
\node[circle,fill=cyan] (c) at (0, 3) { };
\node[circle,fill=cyan] (d) at (-2, 3) { };
\node[circle,fill=cyan] (e) at (-1, 2) { };
\node[align=center, text width=4cm] at (-1,3.5) {\textbf{\begin{tabular}{c}\Large OpenDreamKit\\\LARGE Notebook\end{tabular}}};
\node[circle,fill=cyan] (a) at (-2, 0) { };
\node[circle,fill=cyan] (b) at (0, 0) { };
\node[circle,fill=cyan] (c) at (0, 2) { };
\node[circle,fill=cyan] (d) at (-2,2) { };
\node[circle,fill=cyan] (e) at (-1, 1) { };
\foreach \from/\to in {a/b, b/c, c/d, a/d, a/e, e/b, c/e, d/e}
\draw [-] (\from) -- (\to);
\node[align=center, text width=4cm] at (-1,3.5) {\huge Notebook};
%\draw [<->] (-8.5,0) -- (-7,0) node[pos=.5,sloped,above] {};
\node[align=center, text width=4cm] at (-1,-.3) {\huge Knowledge};
\node[draw, fill=cyan!30, thick] (a) at (-2, -3) {Thy};
\node[draw, fill=cyan!30, thick] (b) at (0, -3) {Thy};
\node[draw, fill=cyan!30, thick] (c) at (0, -1) {Thy};
......
File moved
......@@ -35,7 +35,7 @@
\newpage\tableofcontents\newpage
\input{intro}\newpage
\input{jupyther}\newpage
\input{jupyter}\newpage
\input{ActiveDocumentsOverview}\newpage
\input{Comparison}\newpage
\input{conclusion}\newpage
......
......@@ -52,7 +52,7 @@
\defcounter {refsection}{0}\relax
\contentsline {section}{\tocsection {}{4}{A Joint Perspective and Generalization of Jupyther and Active Documents}}{16}{section.4}
\defcounter {refsection}{0}\relax
\contentsline {section}{\tocsection {}{5}{Conclusion}}{17}{section.5}
\contentsline {section}{\tocsection {}{5}{Conclusion}}{18}{section.5}
\defcounter {refsection}{0}\relax
\contentsline {subsection}{\tocsubsection {}{}{Acknowledgements}}{18}{section*.2}
\defcounter {refsection}{0}\relax
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment