Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
C
CICM16-WiP
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
FrameIT
CICM16-WiP
Commits
907b543e
Commit
907b543e
authored
May 18, 2016
by
Michael Kohlhase
Browse files
Options
Downloads
Patches
Plain Diff
more
parent
8549d982
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
paper.tex
+133
-7
133 additions, 7 deletions
paper.tex
thesis-pushout.tex
+3
-6
3 additions, 6 deletions
thesis-pushout.tex
with
136 additions
and
13 deletions
paper.tex
+
133
−
7
View file @
907b543e
...
@@ -175,6 +175,25 @@ already understood. This practice gives our method the name \frameit as we are c
...
@@ -175,6 +175,25 @@ already understood. This practice gives our method the name \frameit as we are c
theory morphism from the framing theory which represents our knowledge into the framed
theory morphism from the framing theory which represents our knowledge into the framed
theory which represents our problem.
theory which represents our problem.
\begin{wrapfigure}
{
r
}{
3cm
}
\vspace*
{
-2em
}
\begin{tikzpicture}
[yscale=.7]
% Nodes
\node
[]
(p)
{$
P
$}
;
\node
[below left = 1cm of p]
(a)
{$
A
$}
;
\node
[below right = 1cm of p]
(b)
{$
B
$}
;
\node
[below right = 1cm of a]
(c)
{$
C
$}
;
\begin{pgfonlayer}
{
background
}
\draw
[->]
(a) -- (p) node [midway,fill=white]
{$
i
_
1
$}
;
\draw
[->]
(b) -- (p) node [midway,fill=white]
{$
i
_
2
$}
;
\draw
[->]
(c) -- (a) node [midway,fill=white]
{$
f
$}
;
\draw
[->]
(c) -- (b) node [midway,fill=white]
{$
g
$}
;
\node
[below = 0.25cm of p]
(pushout-node)
{}
;
\npushout
[0]
{
pushout-node
}{
pushout-node
}
;
\end{pgfonlayer}
\end{tikzpicture}
\vspace*
{
-1em
}
\caption
{
Pushout
}
\label
{
fig:pushout
}
\vspace*
{
-1em
}
\end
{
wrapfigure
}
As theories and theory morphisms form a category, MMT is able to derive a pushout from two
As theories and theory morphisms form a category, MMT is able to derive a pushout from two
theories
$
A
$
and
$
B
$
if such a pushout exists. A pushout takes two theory morphisms
theories
$
A
$
and
$
B
$
if such a pushout exists. A pushout takes two theory morphisms
$
f : C
\to
A
$
and
$
g : C
\to
B
$
and produces a theory
$
P
$
and two morphisms
$
f : C
\to
A
$
and
$
g : C
\to
B
$
and produces a theory
$
P
$
and two morphisms
...
@@ -182,8 +201,6 @@ $i_1 : A \to P$ and $i_2 : B \to P$ such that the square commutes. Intuitively,
...
@@ -182,8 +201,6 @@ $i_1 : A \to P$ and $i_2 : B \to P$ such that the square commutes. Intuitively,
pushout
$
P
$
is formed as the union of
$
A
$
and
$
B
$
so that they share exactly
pushout
$
P
$
is formed as the union of
$
A
$
and
$
B
$
so that they share exactly
$
C
$
.
\cite
{
Rabe:tes15
}
This concept is visualized in Figure
\ref
{
fig:pushout
}
.
$
C
$
.
\cite
{
Rabe:tes15
}
This concept is visualized in Figure
\ref
{
fig:pushout
}
.
\input
{
thesis-pushout
}
In the current version of MMT the result of a pushout is a new MMT theory that contains a
In the current version of MMT the result of a pushout is a new MMT theory that contains a
set of simplified declarations. Lastly, MMT provides us with several ways of developing
set of simplified declarations. Lastly, MMT provides us with several ways of developing
services and applications on top of it, we can either use the provided RESTful interface,
services and applications on top of it, we can either use the provided RESTful interface,
...
@@ -442,8 +459,99 @@ like to generate them from the predefined problem/solution pairs (Generate[0]).
...
@@ -442,8 +459,99 @@ like to generate them from the predefined problem/solution pairs (Generate[0]).
the generation of scrolls was not part of this research project, nevertheless I identified
the generation of scrolls was not part of this research project, nevertheless I identified
the necessary components of a scroll.
the necessary components of a scroll.
\input
{
thesis-scrolls.tex
}
\begin
{
wrapfigure
}
[]
{
r
}{
0.58
\textwidth
}
\vspace*
{
-2em
}
\begin{framed}
\resizebox
{
\columnwidth
}
{
!
}
{
\begin{tikzpicture}
[yscale=.7]
% nodes
\node
[draw, rectangle, style=thy]
(mmt-solution-node) at (0, 0)
{
\begin{tikzpicture}
[sharp corners]
% Title
\node
[minimum height = 0.5cm]
(mmt-solution-node-title) at (1,0)
{
Solution Theory
}
;
% Content
\node
[]
(result) at (1,-0.75)
{$
|
\overline
{
bc
}
|
=
|
\overline
{
ab
}
|
\cdot
\tan
(
\angle
_{
CAB
}
)
$}
;
\end{tikzpicture}
}
;
\node
[draw, rectangle, style=thy]
(mmt-problem-theory-node) at (0, -4.0)
{
\begin{tikzpicture}
[sharp corners]
% Title
\node
[minimum height = 0.5cm]
(mmt-problem-theory-node-title) at (0,0)
{
Problem Theory
}
;
% Content
\node
[text width=2.4cm]
at (0,-1.25) (mmt-problem-theory-node-content)
{
$
a
$
,
$
b
$
,
$
c
$
: point
\\
$
|
\overline
{
ab
}
|
$
:
$
\mathbb
{
R
}$
\\
$
\angle
_{
cab
}$
:
$
\mathbb
{
R
}$
\\
$
p
$
:
$
\vdash
\overline
{
ab
}
\perp
\overline
{
bc
}$
}
;
\end{tikzpicture}
}
;
\node
[draw, rectangle, style=thy]
(mmt-solution-vis-node) at (6, 0)
{
\begin{tikzpicture}
[sharp corners]
% Title
\node
[minimum height = 0.5cm]
(mmt-solution-node-title) at (1,0)
{
Solution Theory Visualization
}
;
% Content
\node
[]
at (1,-1) (mmt-solution-node-content)
{
\begin{tikzpicture}
[sharp corners]
\coordinate
(a) at (0,0);
\coordinate
(b) at (2,0);
\coordinate
(c) at (2,1);
\draw
(c)--(b)--(a)--cycle;
\tkzDrawPoints
(a,b,c);
\tkzLabelPoints
[left]
(a);
\tkzLabelPoints
[right]
(b,c);
\tkzLabelSegment
[below=2pt]
(a,b)
{}
;
\tkzLabelSegment
[left=2pt]
(a,c)
{}
;
\tkzMarkAngle
[fill= green,size=0.75cm, opacity=0.4]
(b,a,c);
\tkzLabelAngle
[pos=0.55]
(b,a,c)
{$
\alpha
$}
;
\tkzMarkRightAngle
[fill=green,size=0.2, opacity=0.4]
(a,b,c);
\tkzLabelAngle
[]
(a,b,c)
{}
;
\end{tikzpicture}
}
;
\end{tikzpicture}
}
;
\node
[draw, rectangle, style=thy]
(mmt-problem-theory-vis-node) at (6, -4.0)
{
\begin{tikzpicture}
[sharp corners]
% Title
\node
[minimum height = 0.5cm]
(mmt-problem-theory-node-title) at (1,0)
{
Problem Theory Visualization
}
;
% Content
\node
[]
at (1,-1) (mmt-problem-theory-node-content)
{
\begin{tikzpicture}
[sharp corners]
\coordinate
(a) at (0,0);
\coordinate
(b) at (2,0);
\coordinate
(c) at (2,1);
\tkzDrawPoints
(a,b,c);
\tkzLabelPoints
[left]
(a);
\tkzLabelPoints
[right]
(b,c);
\draw
(c)--(b)--(a);
%\draw[<->, thin] (tp2.south east) -- (tp1.north east)
%node[midway, right] {$h$};
\tkzMarkRightAngle
[fill=green,size=0.4, opacity=0.4]
(a,b,c)
\tkzLabelAngle
[]
(a,b,c)
{}
;
\end{tikzpicture}
}
;
\end{tikzpicture}
}
;
\begin{pgfonlayer}
{
background
}
% Scroll Edge
\draw
[->, black, thick, style=include]
(mmt-problem-theory-node) -- (mmt-solution-node);
\draw
[->, black, thick, style=include]
(mmt-problem-theory-vis-node) -- (mmt-solution-vis-node);
\draw
[->, black, thick, style=include]
(mmt-problem-theory-vis-node) -- (mmt-problem-theory-node);
\draw
[->, black, thick, style=include]
(mmt-solution-vis-node) -- (mmt-solution-node);
\end{pgfonlayer}
\end{tikzpicture}
}
\end{framed}
\caption
{
Problem Solution Pair Extension
}
\label
{
fig:FrameITProblemSolPairExt
}
\vspace*
{
-1em
}
\end
{
wrapfigure
}
While the current form of problem/solution pairs works perfectly for our present
While the current form of problem/solution pairs works perfectly for our present
implementation, for future implementations and for the generation of scrolls they need to
implementation, for future implementations and for the generation of scrolls they need to
be extended and refined. The goal behind this extension would be to include visualization
be extended and refined. The goal behind this extension would be to include visualization
...
@@ -462,6 +570,7 @@ output. The OMDoc format\cite{Kohlhase:OMDoc1.2} might be the ideal format here
...
@@ -462,6 +570,7 @@ output. The OMDoc format\cite{Kohlhase:OMDoc1.2} might be the ideal format here
allows us to store formal and informal information.
allows us to store formal and informal information.
\subsection
{
\frameit
as a Method for Learning
}
\label
{
sec:method:learning
}
\subsection
{
\frameit
as a Method for Learning
}
\label
{
sec:method:learning
}
The
\frameit
method facilitates learning by prompting the user to solve real world
The
\frameit
method facilitates learning by prompting the user to solve real world
problems, which he or she can only solve by using scrolls. In the process of solving these
problems, which he or she can only solve by using scrolls. In the process of solving these
problems the user starts to understand the theories and approaches presented in each
problems the user starts to understand the theories and approaches presented in each
...
@@ -478,8 +587,25 @@ of several problems as the user has to find out the height $h$, the height from
...
@@ -478,8 +587,25 @@ of several problems as the user has to find out the height $h$, the height from
up to his or her eyes and to reason that the absolute tree height is the sum of both.
up to his or her eyes and to reason that the absolute tree height is the sum of both.
\section
{
Design and Implementation
}
\label
{
sec:DesignAndImplementation
}
\section
{
Design and Implementation
}
\label
{
sec:DesignAndImplementation
}
\input
{
thesis-system-arch
}
\begin
{
wrapfigure
}
[]
{
r
}{
0.382
\textwidth
}
\vspace*
{
-2em
}
\begin{framed}
\resizebox
{
\columnwidth
}
{
!
}
{
\begin{tikzpicture}
[baseline=(user-node),yscale=.8]
% Nodes
\node
[draw, rectangle]
(user-node) at (0,0)
{
User
}
;
\node
[draw, rectangle]
(ue4-node) at (0,-2)
{
Game (Unreal Engine)
}
;
\node
[draw, rectangle]
(mmt-node) at (0,-4.5)
{
MMT
}
;
\draw
[<->, black, thick]
(user-node) -- (ue4-node) node [midway,fill=white]
{
\small
interact
}
;
\draw
[->, black, thick,out=270, in=180,bend angle=70,looseness=1.3]
(
$
(
ue
4
-
node.south
)+(-
1
,
0
)
$
) to node[pos = 0.375, fill=white](mid-edge-node-gen3)
{
\small
generate theories
}
(
$
(
mmt
-
node.west
)-(
0
,
0
.
0
)
$
);
\draw
[<-, black, thick,out=270, in=360,bend angle=70,looseness=1.3]
(
$
(
ue
4
-
node.south
)+(
1
,
0
)
$
) to node[pos = 0.375, fill=white](mid-edge-node-gen3)
{
\small
pushout
}
(
$
(
mmt
-
node.east
)-(
0
,
0
.
0
)
$
);
\end{tikzpicture}
}
\end{framed}
\caption
{
System Architecture
}
\label
{
fig:systemArch
}
\end
{
wrapfigure
}
Building up on the refined
\frameit
method, I designed and implemented a proof of concept
Building up on the refined
\frameit
method, I designed and implemented a proof of concept
serious math game that demonstrates our method. Moreover, this first implementation allows
serious math game that demonstrates our method. Moreover, this first implementation allows
us to critically assess the method and to discover any shortcomings.
us to critically assess the method and to discover any shortcomings.
...
...
This diff is collapsed.
Click to expand it.
thesis-pushout.tex
+
3
−
6
View file @
907b543e
\begin
{
wrapfigure
}{
r
}{
0.382
\textwidth
}
\begin{wrapfigure}
{
r
}{
3cm
}
\vspace*
{
-2em
}
\centering
\begin{tikzpicture}
[]
\begin{tikzpicture}
[]
% Nodes
% Nodes
\node
[]
(p)
{$
P
$}
;
\node
[]
(p)
{$
P
$}
;
...
@@ -15,8 +14,6 @@
...
@@ -15,8 +14,6 @@
\node
[below = 0.25cm of p]
(pushout-node)
{}
;
\node
[below = 0.25cm of p]
(pushout-node)
{}
;
\npushout
[0]
{
pushout-node
}{
pushout-node
}
;
\npushout
[0]
{
pushout-node
}{
pushout-node
}
;
\end{pgfonlayer}
\end{pgfonlayer}
\end{tikzpicture}
\end{tikzpicture}
\vspace*
{
-1em
}
\caption
{
Pushout
}
\label
{
fig:pushout
}
\vspace*
{
-1em
}
\caption
{
Pushout
}
\label
{
fig:pushout
}
\end
{
wrapfigure
}
\end
{
wrapfigure
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment