소스 검색

Move techreports to their own repository, as they aren't linked to the
Modelverse

Yentl Van Tendeloo 9 년 전
부모
커밋
a8381298f9
100개의 변경된 파일0개의 추가작업 그리고 39173개의 파일을 삭제
  1. 0 70
      techreport/conformance_bottom/1-introduction.tex
  2. 0 87
      techreport/conformance_bottom/2-background.tex
  3. 0 103
      techreport/conformance_bottom/3-conformance.tex
  4. 0 115
      techreport/conformance_bottom/3.5-conformancebottom.tex
  5. 0 81
      techreport/conformance_bottom/4-example.tex
  6. 0 38
      techreport/conformance_bottom/5-relatedwork.tex
  7. 0 31
      techreport/conformance_bottom/6-conclusion.tex
  8. 0 9
      techreport/conformance_bottom/abstract.tex
  9. 0 447
      techreport/conformance_bottom/bibliography.bib
  10. BIN
      techreport/conformance_bottom/figures/LTM_bottom.pdf
  11. 0 338
      techreport/conformance_bottom/figures/LTM_bottom.svg
  12. BIN
      techreport/conformance_bottom/figures/change_physical.pdf
  13. 0 848
      techreport/conformance_bottom/figures/change_physical.svg
  14. 0 604
      techreport/conformance_bottom/figures/different_hierarchies.svg
  15. BIN
      techreport/conformance_bottom/figures/different_hierarchies_A.pdf
  16. BIN
      techreport/conformance_bottom/figures/different_hierarchies_B.pdf
  17. BIN
      techreport/conformance_bottom/figures/example_problem.pdf
  18. 0 2570
      techreport/conformance_bottom/figures/example_problem.svg
  19. BIN
      techreport/conformance_bottom/figures/example_solution.pdf
  20. 0 2812
      techreport/conformance_bottom/figures/example_solution.svg
  21. BIN
      techreport/conformance_bottom/figures/moving_ltm.pdf
  22. 0 1073
      techreport/conformance_bottom/figures/moving_ltm.svg
  23. BIN
      techreport/conformance_bottom/figures/overview.pdf
  24. 0 1141
      techreport/conformance_bottom/figures/overview.svg
  25. BIN
      techreport/conformance_bottom/figures/pn_linguistic.pdf
  26. 0 222
      techreport/conformance_bottom/figures/pn_linguistic.svg
  27. BIN
      techreport/conformance_bottom/figures/pn_multi_conformance.pdf
  28. 0 1302
      techreport/conformance_bottom/figures/pn_multi_conformance.svg
  29. BIN
      techreport/conformance_bottom/figures/pn_ontological.pdf
  30. 0 148
      techreport/conformance_bottom/figures/pn_ontological.svg
  31. BIN
      techreport/conformance_bottom/figures/pn_physical.pdf
  32. 0 170
      techreport/conformance_bottom/figures/pn_physical.svg
  33. BIN
      techreport/conformance_bottom/figures/rule.pdf
  34. 0 437
      techreport/conformance_bottom/figures/rule.svg
  35. BIN
      techreport/conformance_bottom/figures/spanning_algorithm.pdf
  36. 0 673
      techreport/conformance_bottom/figures/spanning_algorithm.svg
  37. BIN
      techreport/conformance_bottom/figures/tmp.png
  38. BIN
      techreport/conformance_bottom/main.pdf
  39. 0 103
      techreport/conformance_bottom/main.tex
  40. 0 1434
      techreport/conformance_bottom/sigplanconf.cls
  41. 0 8
      techreport/general/abstract.tex
  42. 0 108
      techreport/general/algorithm.sty
  43. 0 160
      techreport/general/axioms.tex
  44. 0 489
      techreport/general/bibliography.bib
  45. 0 37
      techreport/general/conclusion.tex
  46. 0 261
      techreport/general/conformance.tex
  47. 0 215
      techreport/general/epsf.sty
  48. BIN
      techreport/general/images/Modelverse.pdf
  49. 0 425
      techreport/general/images/Modelverse.svg
  50. BIN
      techreport/general/images/RelationLingPhys.pdf
  51. 0 839
      techreport/general/images/RelationLingPhys.svg
  52. 0 13
      techreport/general/images/api_input.dot
  53. 0 358
      techreport/general/images/api_input.eps
  54. 0 13
      techreport/general/images/api_output.dot
  55. 0 361
      techreport/general/images/api_output.eps
  56. 0 35
      techreport/general/images/axioms_overview.dot
  57. 0 465
      techreport/general/images/axioms_overview.eps
  58. BIN
      techreport/general/images/conformance_petrinet.pdf
  59. 0 2783
      techreport/general/images/conformance_petrinet.svg
  60. 0 22
      techreport/general/images/example_mvk.dot
  61. 0 587
      techreport/general/images/example_mvk.eps
  62. BIN
      techreport/general/images/example_mvk.pdf
  63. 0 22
      techreport/general/images/example_mvs.dot
  64. 0 589
      techreport/general/images/example_mvs.eps
  65. BIN
      techreport/general/images/example_mvs.pdf
  66. 0 11
      techreport/general/images/example_transformation.dot
  67. 0 362
      techreport/general/images/example_transformation.eps
  68. 0 15
      techreport/general/images/execution_context.dot
  69. 0 565
      techreport/general/images/execution_context.eps
  70. BIN
      techreport/general/images/mvk_server.pdf
  71. 0 5017
      techreport/general/images/mvk_server.svg
  72. BIN
      techreport/general/images/mvs_server.pdf
  73. 0 1719
      techreport/general/images/mvs_server.svg
  74. 0 7
      techreport/general/images/render_all.sh
  75. 0 15
      techreport/general/images/rule_access__eval.dot
  76. 0 458
      techreport/general/images/rule_access__eval.eps
  77. 0 19
      techreport/general/images/rule_access__init.dot
  78. 0 537
      techreport/general/images/rule_access__init.eps
  79. 0 16
      techreport/general/images/rule_assign__assign.dot
  80. 0 491
      techreport/general/images/rule_assign__assign.eps
  81. 0 19
      techreport/general/images/rule_assign__init.dot
  82. 0 537
      techreport/general/images/rule_assign__init.eps
  83. 0 23
      techreport/general/images/rule_assign__value.dot
  84. 0 631
      techreport/general/images/rule_assign__value.eps
  85. 0 18
      techreport/general/images/rule_break.dot
  86. 0 427
      techreport/general/images/rule_break.eps
  87. 0 30
      techreport/general/images/rule_call__call-no-params.dot
  88. 0 706
      techreport/general/images/rule_call__call-no-params.eps
  89. 0 34
      techreport/general/images/rule_call__call-params.dot
  90. 0 808
      techreport/general/images/rule_call__call-params.eps
  91. 0 37
      techreport/general/images/rule_call__params-first-multi.dot
  92. 0 936
      techreport/general/images/rule_call__params-first-multi.eps
  93. 0 38
      techreport/general/images/rule_call__params-first-single.dot
  94. 0 936
      techreport/general/images/rule_call__params-first-single.eps
  95. 0 40
      techreport/general/images/rule_call__params-last.dot
  96. 0 1010
      techreport/general/images/rule_call__params-last.eps
  97. 0 39
      techreport/general/images/rule_call__params-next.dot
  98. 0 1005
      techreport/general/images/rule_call__params-next.eps
  99. 0 21
      techreport/general/images/rule_call__resolve-no-params.dot
  100. 0 0
      techreport/general/images/rule_call__resolve-no-params.eps

+ 0 - 70
techreport/conformance_bottom/1-introduction.tex

@@ -1,70 +0,0 @@
-\section{Introduction}
-One of the shortcomings of current (meta-)modelling tools is their strong reliance on their implementation level.
-This reliance ranges from exposing the general purpose implementation language used (\textit{e.g.}, Java), to requiring some operations to operate directly on the internal data representation of the models (\textit{e.g.}, XMI).
-Such strong reliance on the implementation level offers some benefits though, such as higher efficiency both in execution (as it is likely compiled) and development (tool developers are familiar with the programming language).
-
-The disadvantages, however, are significant: models and algorithms become highly specific to the current state of the implementation, making it impossible, or at least difficult, to port models and algorithms from one tool to the other.
-These disadvantages not only prevent porting models between tools, but models can also become incompatible with newer versions of the tool.
-Should, for example, the internal data representation be changed ever so slightly, all previously created models become incompatible.
-Similarly, if the tool is ported from one implementation language to the other (\textit{e.g.}, from Python to C, for efficiency), all fragments of Python code in all models would have to be updated to C code too.
-Even more importantly for the scientific community, is the portability of algorithms.
-Every year, new algorithms are introduced to further the state of the art in model management operations.
-These algorithms, however, often strongly rely on the internal representation of models, such as XMI or graphs.
-Implementing these algorithms on a tool with a different internal representation could prove challenging due to the different assumptions that can be made.
-Similarly, these algorithms are implemented in the implementation language of the tool, making a reimplementation of these algorithms in a tool with a different implementation language a non-trivial task as it is.
-Yet another disadvantage relates to tool semantics: each tool has its own interpretation of what it means to instantiate a model and check its conformance.
-While the semantics is obvious to experienced users, switching between tools will frequently necessitate lookups in tool documentation to understand the semantics.
-Related to this, porting a model between tools also requires adaptation to this changed semantics, making it even more difficult than it already is.
-Tool semantics are therefore non-obvious and, more problematicly, hardcoded inside of the tool.
-So in order to completely understand the semantics, it becomes necessary to read the source code of the tool, which is a completely seperate entity from the tool itself (\textit{i.e.}, requires a different viewer/editor, is in a different language, and is at a completely different level of abstraction).
-
-To counter these disadvantages, we intend to break the strong reliance on the implementation level of tools.
-First, we observe why tools voluntarily chose for this strong reliance.
-One of the main reasons is undoubtedly purely pragmatic: tool developers are (very) familiar with specific programming languages, and thus use it wherever they can.
-As general purpose programming languages are a well-developed field, advanced tools are available, such as, efficient compilers, debuggers, and code analyzers.
-Additionally, many libraries are available for use, such as graphical libraries, parsers, data structures, and so on.
-This results, at least at first, in efficient code and fast development of new tools.
-
-But even adventurous tool developers, who want to model as much as possible, quickly hit a wall:
-the complete system, thus including the model management algorithms, needs to become independent of the implementation language, and should thus be explicitly modelled.
-It is these algorithms, however, that impose constraints such as conformance and strict metamodelling.
-And while it is possible to bootstrap these algorithms, the model of these algorithms will, by definition, violate strict metamodelling requirements.
-A simple example is the conformance algorithm: to determine whether a model conforms to another, information is required from both the metamodel and the model, thus combining two modelling layers.
-This is the exact thing that strict metamodelling prevents, as it prevents models from spanning multiple levels.
-
-This problem is shown in Figure~\ref{fig:spanning_algorithm}, where a petri net model linguistically conforms to a simple petri net metamodel.
-A conformance algorithm, however, has to access parts of the metamodel (\textit{e.g.}, \textit{Place}) and parts of the model (\textit{e.g.}, \textit{a place}), to check whether they conform.
-This makes it difficult to state on which level the algorithm itself has to reside: at the model or metamodel level.
-In the figure, this is shown through the use of a gradient: it sits somewhere in between the levels.
-Note, however, that each element does indeed conform to the physical level in a strict way.
-The physical level is part of the implementation and is therefore not (meant to be) user-accessible.
-
-The natural solution to this problem, as followed by most tools, and in particular deep metamodelling tools, is to shift these strict metamodelling violating operations to the physical conformance dimension.
-In that dimension, all models, even metamodels, become part of a single level: the implementation level.
-As the implementation level is implemented in the implementation language, no restrictions are imposed whatsoever, as models and metamodels are both just elements in the data structure.
-
-\begin{figure}
-    \includegraphics[width=\columnwidth]{figures/spanning_algorithm.pdf}
-    \caption{Illustration of the problem: the algorithm spans both the metamodel (M2) and model (M1) layer in the linguistic dimension, thus violating strict metamodelling.}
-    \label{fig:spanning_algorithm}
-\end{figure}
-
-While this approach has served current (meta-)modelling tools well, it prevents the explicit modelling of the complete system, resulting in the strong reliance on the implementation level, with all previously associated problems.
-This problem is aggrevated in deep metamodelling, as there can be absolutely no assumptions in the linguistic dimension: users can create an arbitrary number of layers.
-Deep metamodelling further raises problems related to strict metamodelling, such as how to specify deep constraints~\cite{DCL}, which also span multiple levels.
-While we would prefer to model these explicitly, this becomes impossible due to the explicit level-crossing nature of the algorithms.
-
-In this paper, therefore, we plan to tackle this problem of strict metamodelling, allowing models of model management operations, while still keeping strict metamodelling in its original meaning.
-We do this by shifting parts of the physical conformance level, normally hardcoded in the tool, to the linguistic conformance level, where users can access it just like any other model.
-Not only does this allow for linguistic modelling of tool algorithms, but it decouples these algorithms from implementation details.
-
-Apart from explicitly modelling the tool itself, we believe that this approach serves well in combination with megamodelling~\cite{megamodelling}, where we start reasoning about inter-model relations.
-Currently, most megamodel management operations are still implemented in implementation languages, such as Java~\cite{MegamodelManagement}.
-Certainly the combination with runtime models~\cite{MegamodelsRuntime} has the potential to highly profit from our approach.
-
-The remainder of this paper is organized as follows.
-Section~\ref{sec:background} summarizes the required background in supporting explicitly modelled type/instance relations, and how multiple conformance relations are enabled through the application of this technique.
-Section~\ref{sec:conformance} touches upon the three main dimensions in terms of conformance, and presents how we encode each of these relations.
-Section~\ref{sec:conformancebottom} presents our approach to merging the physical conformance level into the linguistic conformance level through the use of $\mathit{conformance}_\perp$.
-Related work is explored in Section~\ref{sec:relatedwork}.
-Section~\ref{sec:conclusion} concludes the paper and gives future work.

+ 0 - 87
techreport/conformance_bottom/2-background.tex

@@ -1,87 +0,0 @@
-\section{Background}
-\label{sec:background}
-In this section, we briefly introduce the required concepts for the remainder of the paper.
-As our contribution is focussed on moving away from the implementation layer, we present our previous work in doing so.
-First, we discuss our explicitly modelled, neutral action language.
-It is a simple procedural action language, but its constructs are explicitly stored as a model themself (\textit{i.e.}, an abstract syntax graph).
-Second, we use this action language to explicitly model the type/instance relations, showing the benefits we gain from doing so.
-This explicit type/instance relation offers us multiple possible typings for a single model, which sits at the core of our approach.
-
-Each part will already briefly encounter the problems mentioned earlier in this paper.
-Solutions to this were always rather ad-hoc, as our primary intention was on bootstrapping our tool: the Modelverse~\cite{MULTI_Modelverse}.
-After the implementation of the enabling technology, presented in this section, we have come to an elegant solution, presented in this paper, to a recurring problem.
-
-\subsection{Explicitly Modelled Action Language}
-A first step in breaking free from the implementation layer, is by removing all code snippets in the implementation language that are scattered throughout the model.
-Since we don't want to depend on a single implementation language, a neutral action language was defined.
-
-While our action language serves a similar purpose as other neutral languages, like the OCL, its major difference is that it is explicitly modelled.
-Whereas an OCL interpreter follows the OCL standard, a 262-page specification, issued by the OMG~\cite{OCL}, our action language is formalized at a much lower level.
-Only a handful of low-level operations are supported, which are very similar to the primitive operations in any procedural language.
-As we store models as graphs internally, action language models are also represented as a graph.
-Semantics are formally defined through the use of graph transformations, defining a translation from one graph pattern (before execution of the instruction) to another (after execution of the instruction).
-Our interpreter itself is therefore only a few hundred lines of code, to which a set of graph transformation rules are passed.
-Only these few hundred lines of code are dependent on the underlying platform, and should be ported when porting the complete application.
-
-Apart from explicitly modelling the semantics, this also makes sure that the execution state is explicitly modelled, as that too is modified by the graph transformation.
-The major disadvantage, however, is performance, which is very low at the moment.
-
-An example rule is shown in Figure~\ref{fig:rule}, where the graph transformation rule is shown for when a \texttt{while} element is to be executed with a condition that evaluates to \texttt{True}.
-Note that not only the action language constructs are explicitly modelled, but also the complete execution context (\textit{i.e.}, execution stack) is explicitly represented in the Modelverse and is transformed according to these rules.
-
-\begin{figure}
-    \includegraphics[width=\columnwidth]{figures/rule.pdf}
-    \caption{Rule to execute when a \texttt{while} is executed with a condition evaluating to \texttt{True}.}
-    \label{fig:rule}
-\end{figure}
-
-It is our intention to create a library of operations, containing, for example, the operations defined by OCL, which is modeled using this minimal action language.
-But while this is a noble plan, we quickly encounter the same problems that were raised in the beginning of this paper: strict metamodelling does not allow for models that span multiple levels.
-An explicit model of, let's say, a conformance relation, needs access to both the type and instance level, as shown in Figure~\ref{fig:spanning_algorithm}.
-We temporarily solved this problem by ignoring strict metamodelling requirements, such that we can bootstrap the tool anyhow.
-
-The contribution of a new action language itself, is therefore not sufficient to address the problems raised at the start of this paper.
-While some code snippets in models can be replaced with implementation-independent action code, such as OCL or even our own action language, this action language is not sufficient to model low-level operations that need to work across multiple levels in the modelling hierarchy.
-Model management operations, in particular, frequently require cross-level access to the model.
-
-\subsection{Explicitly Modelled Type/Instance Relations}
-A next step in allowing for our contribution, is to explicitly model the type/instance relation between models.
-By explicitly modelling the type/instance relation, we have shown that users gain more insight in tool semantics and can alter the semantics if desired.
-This resulted in the possibility for multiple types of type/instance relations.
-For example, a single model can be typed by multiple metamodels, possibly simply because they are different, but similar, metamodels, but maybe also because a less restrictive conformance check is being used.
-As there is no common agreement on how restricted a conformance relation should be (\textit{e.g.}, should it take into account all of potency, cardinality, or multiplicity, and how should it behave if these are violated?)
-
-We achieved this explicit semantics through explicit modelling of the type/instance relation, which constisted of several steps.
-
-First, the metamodel was stripped to only contain structural restrictions.
-As such, there were no longer any additional attributes that were undefined at the level above, such as potency, multiplicity, cardinalities, and so on.
-Attributes with that name could be present though, if they were allowed by the metamodel, but they have no associated semantics, thus not restricting instances.
-
-Second, type information from the model was split of into a seperate model.
-A model was thus reduced to a mere graph, which structurally conformed to another graph (the metamodel).
-The type information contained links between both graphs, indicating the type of each element in the model.
-Due to this seperation, a model could possibly have multiple type mappings, together with multiple metamodels.
-To determine whether a model was typed by another model, both models were required, but additionaly a mapping also needed to be present.
-
-Third, all semantics was shifted to the instantiation and conformance checking algorithms, which make up the type/instance relation.
-The instantiation algorithm checks all necessary constraints during instantiation, and, for example, prevents further instantiation if the potency has already reached zero.
-Similarly, the conformance check checks both the structure, as defined by the graphs, the types, as defined by the type mapping, and the additional constraints imposed by giving semantics to special attributes like potency and cardinalities.
-It is thus now the conformance algorithm which gives the semantics to these attributes, and no longer the tool internals, which are hidden from the user and non-modifiable.
-To make the algorithms independent of the implementation, they are implemented using the previously defined neutral action language, which is explicitly modelled.
-
-The most important aspect, in the context of this paper, is that it allows a single model to conform to multiple metamodels simultaneously, possibly even through different conformance checking algorithms.
-This is shown in Figure~\ref{fig:multi_conformance}, where a single petri net model is shown (as a graph; in the middle) which conforms to two different metamodels: an ordinary place/transition net metamodel (top), and one extended with an inhibitor arc (bottom).
-Additionally, minor differences exist between the two metamodels, such as different naming for the \textit{weight} of the transition.
-When a users uses the model, it is thus required to pass the corresponding type mapping, of which there are now two.
-
-\begin{figure}
-    \centering
-    \includegraphics[width=0.8\columnwidth]{figures/pn_multi_conformance.pdf}
-    \caption{A single petri net model with multiple conforming metamodels, each through a different type mapping (excerpt).}
-    \label{fig:multi_conformance}
-\end{figure}
-
-Note again that we encounter the problem of strict metamodelling here.
-The conformance checking algorithm needs access to both the model and metamodel, thus crossing over multiple levels in the modelling hierarchy.
-This problem was again alleviated by not caring too much about strict metamodelling, thus again moving away from normal modelling, and into a realm between the tool implementation and the actual models in the tool.
-In this paper, we finally shift all parts from the implementation to the models in the tool.

+ 0 - 103
techreport/conformance_bottom/3-conformance.tex

@@ -1,103 +0,0 @@
-\section{Types of Conformance}
-\label{sec:conformance}
-It was found out that there is not a single kind of type/instance relation, but actually multiple, to cope with the different kinds of relations~\cite{OCA}.
-A distinction was made between conformance to the physical implementation, and to the linguistic metamodel.
-This classification architecture was termed the Orthogonal Classification Architecture (OCA).
-Other work~\cite{Bruno,Ken} has shown the presence of yet another type/instance relation, which links back to the semantics of the model.
-Depending on which dimension is used, different type/instance hierarchies emerge, changing the implications of strict metamodelling.
-Sadly, terminology is rather inconsistent in the literature, making it difficult to clearly communicate about the different dimensions.
-This section serves to clear up the terminology we will use throughout this paper.
-
-A concise example is shown of a simple petri net model, which conforms to three different metamodels with respect to these different conformance relations.
-
-\subsection{Physical Conformance}
-The low-level view on conformance is what we call \textit{physical conformance}.
-This is the kind of conformance used by tool-developers and model management operations, as it does not impose many constraints.
-It sits at the physical level, where it is responsible for how data is represented physically in memory.
-Physical representation is unrelated to language engineering, and is completely managed by the implementation language of the tool.
-Physical conformance, therefore, is checked by their respective compilers (\textit{e.g.}, GCC and Java compiler).
-
-But since it is checked only by the compiler, no restrictions are placed upon the crossing of modelling levels.
-Indeed, all models, metamodels, metametamodels, and so on, are similar at this level: they are data created by the user that can be manipulated by the tool.
-Tool internals, as well as model management operations, are mostly implemented at this level, as it allows all possible modifications to the model.
-Additionally, this level is efficient due to its close relation to the implementation, and use of advanced tools such as efficient compilers.
-Since this is the lowest level of conformance, to which every model conforms by definition, all operations need to be applicable to all models.
-Most of the time, the only common representation of all models is the data structure used to store them.
-These operations thus alter the internal data structure directly, without any kind of domain-specific algorithm in between.
-
-While these modifications are again efficient, and furthermore easy to implement for the tool developer, the strong link to the implementation is made obvious.
-Porting all tool internals to a different tool doesn't only require porting between programming languages, but also between different internal data representations.
-Changing implementation details, which should be transparent to the user, will have significant implications on these algorithms as well.
-
-In our petri net example, this relates to how the petri net is stored in memory: with all elements being instances of a generic \textit{Class} defined by the implementation language.
-This is shown in Figure~\ref{fig:pn_physical}: the model conforms to a simple graph representation, where places and transitions are represented as nodes, and the edge between them is mapped to the edge of a graph.
-Depending on the implementation, a different physical metamodel can be used, for example that of an SQL database.
-The metamodel is the same for every model, be it petri nets, class diagrams, object diagrams, statecharts, or even a domain-specific language.
-The reason for this is simple: if the model doesn't conform to this metamodel, the tool has no way of representing it in memory.
-
-\begin{figure}
-    \centering
-    \includegraphics[width=0.5\columnwidth]{figures/pn_physical.pdf}
-    \caption{Physical conformance of a petri net model.}
-    \label{fig:pn_physical}
-\end{figure}
-
-\subsection{Linguistic Conformance}
-\textit{Linguistic conformance} is the traditional view on conformance, which is heavily used for domain specific modelling.
-It is also the view offered to users: if a user creates a metamodel, and subsequently instantiates it, this is through linguistic conformance.
-The relation defines whether or not a user-defined model is a valid instance of another user-defined (possibly by another user) metamodel.
-Checks mostly have a structural notion (\textit{e.g.}, is a link between these entities allowed and are all required attributes present), though minor semantical constraints are also possible.
-These semantical constraints are for example range checks on attributes (\textit{e.g.}, integer must be larger than 5), global restrictions on values of attributes (\textit{e.g.}, the sum of these two attributes needs to be greater than 10), or global restrictions on the structure (\textit{e.g.}, no loop possible for a certain association).
-Whereas structural checks are easily implemented through the use of a metamodel, the additional semantic constraints are often implemented using some kind of executable language.
-Constraints are written in constraint languages, such as OCL, but are sometimes already shifted to the implementation language (\textit{e.g.}, implemented in Python as in AToM$^3$~\cite{AToM3} and AToMPM~\cite{AToMPM}).
-
-Contrary to the physical conformance dimension, users can extend the linguistic conformance dimension by adding, modifying, or deleting metamodels.
-As such, a model is not, by definition, always conforming to its provided metamodel.
-This conformance relation is also not checked by the implementation language, but by the tool itself.
-But whereas most programming languages are standardized and have a clear definition on what it means to conform, this is not always the case in the linguistic dimension.
-Each tool has its own interpretation of what it means for models to conform to another model.
-Making this relation explicit, and thus offering the user the choice, was the primary effort of our previous work~\cite{MultiConformance}.
-
-It is also at this level that strict metamodelling comes into play: no links, except for the \textit{instanceOf} link, is allowed to cross the levels defined by this relation.
-Tool users should ideally only be concerned with this dimension, as it offers support for domain-specific languages and makes use of all the features implemented by the tool (\textit{e.g.}, strict metamodelling, type checking, model transformations, and consistency management).
-
-In our petri net example, this relates to the metamodel of petri nets which constrains the structure of the net.
-Example constraints are that no direct link between places is possible (specified by the omission of an association from \textit{Place} to itself), and the number of tokens in a place needs to be positive (specified by a static semantics constraint).
-This is shown in Figure~\ref{fig:pn_linguistic}, where each element conforms to a metamodel that is specific to the model.
-Contrary to physical conformance, this metamodel is only valid for petri net instances.
-At this level, it is impossible to create, for example, a link from the place instance to the place type, due to strict metamodelling.
-There is also no mention of the implementation: this relation does not imply anything on how a place is represented in memory (\textit{e.g.}, as a node in a graph or as an ID in a SQL database).
-It does, however, constrain the structure of the model.
-The metamodel contains an association from \textit{Place} to \textit{Transition}, and vice versa, but no transition from \textit{Place} or \textit{Transition} to itself.
-This constrains the instances more than was the case with physical conformance.
-Furthermore, it is often this dimension of conformance that is used to specify concrete syntax.
-Strictly speaking, the representation of the model in physical conformance would have to be the actual graph that is stored in memory.
-We did not do this to prevent confusion.
-
-\begin{figure}
-    \centering
-    \includegraphics[width=0.5\columnwidth]{figures/pn_linguistic.pdf}
-    \caption{Linguistic conformance of a petri net model.}
-    \label{fig:pn_linguistic}
-\end{figure}
-
-\subsection{Ontological Conformance}
-The final conformance dimension is \textit{ontological conformance}, which relates purely to the semantics of the model.
-It is also one of the views offered to users, but is not related to the structure of the model, only to the properties the model satisfies.
-As it relates to semantics, execution of the model is required.
-Depending on the property of interest, the algorithm executed varies from, for example, simulation (\textit{e.g.}, trace satisfies some property) to state space analysis (\textit{e.g.}, deadlocking system).
-
-The algorithm to be executed often again relates back to the physical dimension, as this is where the implementation is defined in case the implementation language is used.
-
-In our petri net example, this relates to the properties satisfied by the petri net, such as deadlocking, safety, or reachability.
-Figure~\ref{fig:pn_ontological} represents a petri net without any tokens and not generators, so the petri net is clearly deadlocking and not live.
-Ontologically speaking, the petri net thus conforms to the \textit{deadlocking} property and not to the \textit{live} property.
-This concept is again broader than petri nets only, and might also be applicable to formalisms that have similar sementics or properties.
-But while previous conformance relations focussed purely on static aspects of the model (\textit{i.e.}, structure and static semantics), this conformance dimension focusses exclusively on the semantics through execution.
-
-\begin{figure}
-    \centering
-    \includegraphics[width=0.5\columnwidth]{figures/pn_ontological.pdf}
-    \caption{Ontological conformance of a petri net model.}
-    \label{fig:pn_ontological}
-\end{figure}

+ 0 - 115
techreport/conformance_bottom/3.5-conformancebottom.tex

@@ -1,115 +0,0 @@
-\section{Explicit Modelling of Physical Conformance}
-\label{sec:conformancebottom}
-Recall that relying on the physical conformance relation was the cause of the problems we have previously observed.
-The theoretical limitation, preventing explicit modelling of these algorithms, were the limitations imposed by strict metamodelling: a model cannot span multiple levels.
-These problems let to the obfuscation of tool semantics, and the strong reliance on implementation details for all algorithms.
-
-\subsection{Moving Away from Physical Conformance}
-As all problems seem to be situated in the physical conformance dimension, the most direct solution would be to do away with this dimension completely.
-This is, however, not possible, as each model still requires a physical representation in memory, as well as model management operations defined over it.
-
-The closest we can get, is shifting away many responsibilities of the (hidden) physical conformance dimension, into the (explicitly modelled) linguistic conformance dimension.
-There is a natural relation between both physical and linguistic conformance, as both are related to the structure of the model.
-
-To do this, we define a new metamodel, which is identical to the (implicit) metamodel of the implementation layer.
-This metamodel, however, is defined in the linguistic dimension, thus making it explicit.
-For clarity in our discussion, we call this metamodel $\mathit{LTM}_\perp$, shown in Figure~\ref{fig:LTM_bottom}.
-It can be seen that it is a metamodel for basic graphs, where nodes might have values.
-These possible values are \textit{Type} (the type of any value type, including itself), \textit{Action} (the type for all action language constructs, such as \textit{While}, \textit{If}, and \textit{FunctionCall}.), \textit{Integer}, \textit{Float}, \textit{Boolean}, and \textit{String}.
-Additionaly, edges are a subclass of nodes, meaning that they can have incoming and outgoing edges themself.
-Since every element is a subclass of \textit{Node}, an edge can start and end at any element, including itself.
-As this is only at the conceptual level, it was done to make reasoning about edges from edges conceptually clearer.
-The leftmost association from \textit{Node} to itself represents the type of inheritance relations: since inheritance relations are also explicitly modelled~\cite{MultiConformance}, they require their own metamodel.
-And since the $\mathit{LTM}_\perp$ should be self-describing, it contains this type too.
-
-Since any model conforms to the (often implicit) physical metamodel in the physical dimension, they should also, by definition, conform linguistically to $\mathit{LTM}_\perp$.
-We call this new linguistic conformance to $\mathit{LTM}_\perp$ $\mathit{conformance}_\perp$.
-While it is actually the same as conformance in the physical dimension, we shift this to the linguistic dimension to offer it to the users.
-Thanks to the possibility for multiple metamodels for a single metamodel~\cite{MultiConformance}, it is possible for the model to be typed by multiple linguistic metamodels: $\mathit{LTM}_\perp$, and the original linguistic metamodel(s).
-Figure~\ref{fig:moving_ltm} shows the 1-to-1 mapping of the Physical Type Model (PTM) to the linguistic dimension.
-As each element necessarily conforms to the PTM, it will also, by definition, conform to the new $\mathit{LTM}_\perp$.
-
-\begin{figure}
-    \centering
-    \includegraphics[width=0.8\columnwidth]{figures/LTM_bottom.pdf}
-    \caption{$LTM_\perp$, allowing for any element to connect to any other element.}
-    \label{fig:LTM_bottom}
-\end{figure}
-
-\begin{figure}
-    \centering
-    \includegraphics[width=\columnwidth]{figures/moving_ltm.pdf}
-    \caption{$LTM_\perp$ added in the linguistic dimension, which is identical to the one in the physical dimension.}
-    \label{fig:moving_ltm}
-\end{figure}
-
-\subsection{Coping with Strict Metamodelling}
-By lifting the physical conformance relation up to the linguistic conformance dimension, we achieve a way of explicitly modelling, albeit indirectly, in the physical dimension.
-Users are therefore able to, using their normal linguistic modelling tools, alter the physical dimension.
-The physical representation of the model is thus seen as an instance a linguistic metamodel.
-
-While the tool still complies to strict metamodelling in the linguistic dimension, $\mathit{LTM}_\perp$ is taken so general, that the complete metamodelling hierarchy can be expressed as a direct instance of it.
-This effectively flattens the original metamodelling hierarchy into a single level: $\mathit{LTM}_\perp$ at the metamodelling level, and everything else at the modelling level.
-In this single model level, which is only a different view on the same model, strict metamodelling does not restrict anything, even links between different levels (of the original hierarchy).
-Figure~\ref{fig:different_hierarchies} represents the two possible views on the modelling hierarchy: either through the usual conformance relation (Figure~\ref{fig:different_hierarchies_A}), or the new $\mathit{conformance}_\perp$ relation (Figure~\ref{fig:different_hierarchies_B}).
-
-Depending on the used metamodel and conformance relation, strict metamodelling can thus be interpreted differently.
-Note that this is still distinct from dropping strict metamodelling completely: strict metamodelling is still used throughout the complete environment, and still imposed on instances, even with the $\mathit{conformance}_\perp$ relation.
-But the implications of strict metamodelling depend entirely on the metamodel: for normal linguistic metamodels, strict metamodelling is as it was originally designed, but for the special metamodel $\mathit{LTM}_\perp$, strict metamodelling does not constrain anything because every element is at the same level.
-
-Coping with strict metamodelling alone does not solve all problems.
-While the limitation of not being able to model executable models across levels was removed, these executable models still directly interact with the underlying data structure.
-This is still a lingering aspect of the physical dimension, which we tackle next.
-
-\begin{figure*}
-    \centering
-    \begin{subfigure}{0.3\textwidth}
-        \centering
-        \includegraphics[width=\textwidth]{figures/different_hierarchies_A.pdf}
-        \caption{Petri nets metamodel}
-        \label{fig:different_hierarchies_A}
-    \end{subfigure}
-    \begin{subfigure}{0.6\textwidth}
-        \centering
-        \includegraphics[width=\textwidth]{figures/different_hierarchies_B.pdf}
-        \caption{$LTM_\perp$}
-        \label{fig:different_hierarchies_B}
-    \end{subfigure}
-    \caption{Different modelling hierarchies for the model \textit{my\_PN}, as seen through two different linguistic views.}
-    \label{fig:different_hierarchies}
-\end{figure*}
-
-\subsection{Abstracting Implementation Details}
-The 1-to-1 mapping between the physical metamodel and $\mathit{LTM}_\perp$ made it possible to linguistically access the physical dimension.
-But the physical dimension is still part of the implementation, and could therefore change in subsequent versions.
-This would bring us to language evolution, as $\mathit{LTM}_\perp$, and possibly $\mathit{conformance}_\perp$, would also have to be updated, together with all saved models.
-While some advances are made to language evolution in order to do these changes automatically, we don't want to expose users to these problems.
-
-Users should therefore not be bothered with the internals of the tool, not even the physical data representation.
-And while users do need access to a physical-like representation, it can certainly be a different one than that which was implemented, as long as there exists a mapping between them.
-$\mathit{LTM}_\perp$ is thus merely a wrapper, or an abstraction of the actual data structure being used.
-Modifications on instances of $\mathit{LTM}_\perp$ are mapped over to changes in the physical dimension, and vice versa.
-This can be done by having the actually implemented data structure implement an interface as if it were conforming to $\mathit{LTM}_\perp$.
-This requires a mapper between $LTM_\perp$ and the physical metamodel, which is similar to physical mappers~\cite{MULTI_Modelverse}.
-Now, however, the mapping is only defined for a single metamodel, instead of for each metametamodel individually, greatly relieving users.
-This is the mapping shown in Figure~\ref{fig:change_physical}.
-
-Decoupling the implementation of algorithms from the actual internal data structure makes it possible to perform drastic changes internally (\textit{e.g.}, switching between database technologies), without any change whatsoever to the explicit models of model management operations, nor to $\mathit{LTM}_\perp$ or $\mathit{conformance}_\perp$.
-Related to this, different tools can implement exactly the same algorithms, which were explicitly modelled, even if their implementation language and internal data structure is completely different.
-They only need to agree on $\mathit{LTM}_\perp$ and the corresponding $\mathit{conformance}_\perp$, and an explicitly modelled action language to go along with it.
-All other implementation choices become truely that: choices made in the implementation that don't affect functionality at all.
-
-\begin{figure}
-    \includegraphics[width=\columnwidth]{figures/change_physical.pdf}
-    \caption{Changing the physical metamodel with something else, as long as there is still a mapping to $LTM_\perp$. SQL metamodel not expanded due to space constraints.}
-    \label{fig:change_physical}
-\end{figure}
-
-\subsection{Overview}
-%TODO elaborate
-We now relate back to the problems we initially observed.
-The strong reliance on the physical dimension were caused by both pragmatic reasons (\textit{i.e.}, developers are more familiar with programming languages) and theoretical limitations (\textit{i.e.}, strict metamodelling prevents a model from referencing two different levels).
-While we can't do much about the pragmatic reasons, we have used multi-conformance to offer a different view on the model: instead of being an instance of a user-defined metamodel, it becomes an instance of $\mathit{LTM}_\perp$.
-Using the $\mathit{conformance}_\perp$ relation, strict metamodelling does not constrain the user anymore because all model elements reside at the same level.
-
-Similarly, the physical implementation and mapping to $\mathit{LTM}_\perp$ were decoupled from the linguistic metamodel, making it possible to alter the implementation without affecting $\mathit{LTM}_\perp$ or its instances at all.

+ 0 - 81
techreport/conformance_bottom/4-example.tex

@@ -1,81 +0,0 @@
-\section{Example}
-\label{sec:example}
-As a simple example of our approach, we present here the implementation of an instantiation model management operation.
-The operation is invoked on an element in a metamodel that has to be instantiated, using the existing model to which the instantiation should be added.
-
-Current tools implement this using code written in the implementation language and hardcoded in the tool, even though their tool supports a neutral language (\textit{e.g.}, OCL).
-A normal neutral language is unfit for this purpose for several reasons:
-\begin{enumerate}
-\item Any representable model in the tool might become subject to instantiation, so we don't want to define the operation over the linguistic metamodel defined by the user.
-      If we were to do this, only instances of that exact metamodel could ever be instantiated.
-      Creating a new metamodel would also require users to reimplement all instantiation operations over and over again, to make them applicable to the model used.
-      Most of the time, instantiation is very similar, so a default should be provided.
-      By implementing this operation at the physical level, tools avoid this problem as they now work on the internal representation, which is identical for all models.
-\item Instantiating a model element is an invasive operation, which can greatly disturb the linguistic dimension by, for example, breaking conformance to the linguistic metamodel.
-      Implementing instantiation based on the linguistic metamodel, defined by the user, would therefore also be unwise, as conformance might break halfway through the operation, making the function not applicable anymore.
-\item Strict metamodelling prevents users from crossing between levels.
-      Even if the previous two problems were to be solved, a single model (the instantiation algorithm) cannot have links to both the model (to add the instantiated element), the metamodel (to read out the element to instantiate), and even the metametamodel (to find subtyping information).
-\end{enumerate}
-
-With our approach, each of these reasons is solved as follows:
-\begin{enumerate}
-\item Instead of shifting the algorithm to the physical dimension to get access to the physical representation, we shift the physical representation to the linguistic dimension as $\mathit{LTM}_\perp$.
-      This way, the low-level representation of the model is also an explicit instance, for which each possible model conforms to one and the same metamodel: $\mathit{LTM}_\perp$.
-      If the retyping operation is defined using $\mathit{conformance}_\perp$, it will be applicable to every possible model.
-\item The type of a model is not visible in normal circumstances, as it is part of the conformance check.
-      It is indeed even dangerous to change the type of a model, while operating on that specific type.
-      By operating on a different type, however, of which it is known that the model will always conform to it, there are no risks involved at all.
-      While it might be possible that some of the other previous conformance relations are broken (\textit{e.g.}, to a user-defined metamodel), $\mathit{conformance}_\perp$ is not invalidated by the operation as it holds by definition.
-\item As previously shown, our approach just changes views to $\mathit{conformance}_\perp$, in which strict metamodelling is still valid, but it doesn't actually restrict anything, since every element is at the same level.
-\end{enumerate}
-
-The algorithm is related to how models are represented internally: all models are subgraphs of a single coherent graph.
-This format of model representation is itself already level-crossing, as there are edges for both navigation and instantiation.
-As it contains level-crossing links, it is an invalid model when viewed through an ordinary linguistic typing relation.
-It is, however, viewable and even modifiable using $\mathit{conformance}_\perp$, as the model completely complies to $LTM_\perp$.
-
-During the execution of the algorithm, the model is viewed not through the usual conformance relation, but through the $\mathit{conformance}_\perp$ relation.
-As such, the model can be modified as if it were merely a graph, without any additional semantics or imposed restrictions.
-Apart from just allowing any kind of structural change, inconsistencies in the usual conformance relation are also possible: cardinalities, multiplicities, potencies, and so on, can all be invalidated as their semantics is not checked at this level.
-Operations defined by the user, using the normal linguistic conformance relation, will just reinterpret the graph to the usual linguistic dimension, thus again checking all additional constraints such as cardinalities.
-
-We use this code to instantiate a new petri net place, as specified by the petri nets metamodel.
-The example is visualized in Figure~\ref{fig:example}.
-Figure~\ref{fig:example_A} indicates the problem with the instantiation algorithm: it accesses itself and three different modelling levels:
-the model level to write out the instantiated model,
-the metamodel level to read out the allowed attributes and all constraints,
-and the metametamodel level to know about inheritance links and how to handle them.
-Accessed elements are highlighted in the figure, indicating that the algorithm requires access (and thus, links) to all these levels.
-It is therefore impossible to add it at either of these levels: adding it to one level would cause violations for the other levels.
-By taking the $\mathit{conformance}_\perp$ view, the modelling hierarchy changes from Figure~\ref{fig:example_A} to Figure~\ref{fig:example_B}, in which there are no level-crossing links anymore.
-In Figure~\ref{fig:example_B}, all access are again highlighted, but are now within the same level in the modelling hierarchy.
-There is therefore no longer any violation of strict metamodelling.
-
-\begin{figure*}
-    \centering
-    \begin{subfigure}{0.4\textwidth}
-        \centering
-        \includegraphics[width=\columnwidth]{figures/example_problem.pdf}
-        \caption{Using normal conformance.}
-        \label{fig:example_A}
-    \end{subfigure}
-    \begin{subfigure}{0.4\textwidth}
-        \centering
-        \includegraphics[width=\columnwidth]{figures/example_solution.pdf}
-        \caption{Using $\mathit{conformance}_\perp$.}
-        \label{fig:example_B}
-    \end{subfigure}
-    \caption{Two different ontological views on the same model. The elements accessed by the algorithm are shown in light blue. Only $\mathit{conformance}_\perp$ complies with strict metamodelling.}
-    \label{fig:example}
-\end{figure*}
-
-The complete procedure is shown in Figure~\ref{fig:overview}:
-first the $\mathit{conformance}_\perp$ view is taken on the model, where it is shown as a graph instead of a petri net model and metamodel.
-Second, this graph is traversed and the requested changes are performed.
-Finally, the modified graph model is again interpreted using the original conformance relation, where users use their own metamodel and corresponding type mapping to interpret the graph.
-
-\begin{figure}
-    \includegraphics[width=\columnwidth]{figures/overview.pdf}
-    \caption{Overview of the complete procedure: (1) reinterpret the model as instance of $\mathit{LTM}_\perp$, (2) execute the algorithm on the graph representation, (3) reinterpret the model again using the initial metamodel. All steps happen on the background and the user only sees the composite operation.}
-    \label{fig:overview}
-\end{figure}

+ 0 - 38
techreport/conformance_bottom/5-relatedwork.tex

@@ -1,38 +0,0 @@
-\section{Related Work}
-%TODO elaborate
-\label{sec:relatedwork}
-Three main dimensions of related work exist.
-
-First, our approach builds upon the support for multiple linguistic types.
-While we have used our approach~\cite{MultiConformance}, another possible direction is through by a-posteriori typing~\cite{aposteriori}.
-In a-posteriori typing, a model is constructed with a single \textit{constructive} type~\cite{constructiveType}, which cannot be changed.
-When a model is used in a different context, however, multiple additional types can be added afterwards (\textit{a posteriori}) through the use of concepts~\cite{concepts}.
-These additional types don't influence the original constructive type, but can make the model applicable for use in other algorithms.
-Supporting our $\mathit{conformance}_\perp$ relation through the use of a-posteriori typing should be similar.
-The constructive type could simply be part of $\mathit{LTM}_\perp$, with all ``real'' linguistic types specified as a posteriori types.
-Our approach varies a bit though, since we don't make the constructive type a special kind of type: the $\mathit{conformance}_\perp$ is just another relation like any other.
-The OCA~\cite{OCA} is rather similar to our approach, as it identified the distinction between two conformance relations.
-But whereas the OCA shifts one of these relations to the implementation level, we merge the physical type model into the linguistic dimension.
-We therefore still completely comply to the OCA: we have both a linguistic dimension (used for user modelling), and a physical dimension (used during tool building).
-Parts of our physical dimension are, however, exposed to the linguistic dimension, such that all operations from the physical dimension also become available in the linguistic dimension.
-With the OCA it is not necessary to support multiple linguistic types for a single model, which is a necessary requirement when shifting more parts to the linguistic dimension.
-
-Second, strict metamodelling has been the subject of several debates, both in favor~\cite{StrictProfilesWhyAndHow,ConceptsForComparing}, and against~\cite{LevelAgnostic,XMF-Mosaic}.
-People against strict metamodelling argue that strict metamodelling makes specific models impossible, as we have also shown in this paper.
-Their solutions, however, often completely throw away all notions of strict metamodelling.
-And while we agree that strict metamodelling can be overly restrictive, it certainly has its advantages in protecting ordinary users and simplifying algorithms.
-So in contrast to tools like XMF-Mosaic~\cite{XMF-Mosaic}, who completely flatten the modelling hierarchy, we still enforce strict metamodelling, though users can switch to the ``unrestricted mode'' by taking on a different linguistic type model.
-Since the unrestricted mode is at a much lower level of abstraction than the usual linguistic metamodels, users will now have more powerful tools at their disposal, and are able to circumvent strict metamodelling in a controlled way.
-
-Third, many tools rely explicitly on the implementation level.
-For example, MMINT~\cite{MMINT}, MetaDepth~\cite{MetaDepth}, DISTIL~\cite{DISTIL}, AToM$^3$~\cite{AToM3}, and AToMPM~\cite{AToMPM} all explicitly allow users to inject code, for example as parts of models, or to extend the capabilities of the tool.
-This code is not explicitly modelled, and is simply injected in the actual application code that is being executed.
-There is thus no checking as to what is happening and if the inserted application code is actually valid code, since it is only treated as mere text by the tool.
-This code is subsequently only checked by the compiler or parser of the language that is being used, further delaying user feedback.
-And since this code is dependent on both the application interface (API), and the implementation language, and the internal data structures, the code is not portable at all.
-Furthermore, it does away with the notion of ``model everything explicitly'', as it introduces unmodeled aspects in the models and even in the tool.
-The importance of the physical dimension was previously highlighted~\cite{TechnologicalSpaces,TechnologicalSpaces2}, where the physical storage was mentioned as a technological space.
-Different ways of representing this data were presented, though each of these can, with our approach, be abstracted away as an implementation detail.
-
-Similarly, megamodel management~\cite{MegamodelManagement} is often implemented purely at the implementation level instead of explicitly modelled.
-And while there is some work on making generic model management possible~\cite{TypingModelManagement,GenericityForModelManagement}, these approaches often remain specific to the problem under study.

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 31
techreport/conformance_bottom/6-conclusion.tex


+ 0 - 9
techreport/conformance_bottom/abstract.tex

@@ -1,9 +0,0 @@
-One of the shortcoming of current (meta-)modelling tools is their strong reliance on their implementation level.
-While it does offer its benefits, certainly for tool developers, it seriously impedes portability of models.
-Model management operations are handcoded in the implementation language of the tool, making it difficult for users to grasp their semantics.
-Furthermore, model management operations themselves have strong reliance on the internal data structures used by the tool, making comparison of algorithms, even at a conceptual level, difficult.
-In this paper, we analyze the reasons and effects for this strong reliance on the implementation level.
-We offer a solution which allows the explicit modelling of model management operations in a strict metamodelling framework.
-Even those operations that require access to multiple levels in the modelling hierarchy are supported.
-To aid in this effort, we furthermore break the strong link between model management operations and the data structures in use by the (meta-)modelling tool.
-Our technique is illustrated through the explicit modelling of a retyping operation on a petri net.

+ 0 - 447
techreport/conformance_bottom/bibliography.bib

@@ -1,447 +0,0 @@
-@inproceedings{MMINT,
-    author      = { Di Sandro, Alessio and
-                    Salay, Rick and
-                    Famelis, Michalis and
-                    Kokaly, Sahar and
-                    Chechik, Marsha},
-    title       = {{MMINT}: A Graphical Tool for Interactive Model Management},
-    booktitle   = {Proceedings of MoDELS},
-    year        = {2015},
-}
-
-@inproceedings{GenericModelTransformations,
-    author      = { S{\'a}nchez Cuadrado, Jes{\'u}s and
-                    Guerra, Esther and
-                    Lara, Juan},
-    title       = {Generic Model Transformations: Write Once, Reuse Everywhere},
-    booktitle   = {Proceedings of ICMT},
-    year        = {2011},
-    pages       = {62--77},
-}
-
-@article{FromTypesToTypeRequirements,
-    author      = { de Lara, Jaun and
-                    Guerra, Esther},
-    title       = {From types to type requirements: genericity for model-driven engineering},
-    year        = {2011},
-    journal     = {Software \& Systems Modeling},
-    volume      = {12},
-    number      = {3},
-    pages       = {453--474},
-}
-
-@inproceedings{GenericAndMetaTransformations,
-    author      = { Varr\'{o}, D\'{a}niel and
-                    Pataricza, Andr\'{a}s},
-    title       = {Generic and Meta-transformations for Model Transformation Engineering},
-    year        = {2004},
-    booktitle   = {Proceedings of UML},
-    pages       = {290--304},
-}
-
-@inproceedings{Papyrus,
-    author      = {Bordeleau, Francis},
-    title       = {Model-Based Engineering: A New Era Based on {Papyrus} and Open Source Tooling},
-    year        = {2015},
-    booktitle   = {Proceedings of OSS4MDE},
-}
-
-@inproceedings{MMTF,
-    author      = { Salay, Rick and 
-                    Chechik, Marsha and
-                    Easterbrook, Steve and
-                    Diskin, Zinovy and
-                    McCormick, Pete and
-                    Nejati, Shiva and
-                    Sabetzadeh, Mehrdad and
-                    Viriyakattiyaporn, Petcharat},
-    title       = {An {Eclipse}-based Tool Framework for Software Model Management},
-    booktitle   = {Proceedings of OOPSLA},
-    year        = {2007},
-    pages       = {55--59},
-}
-
-@article{GenericityForModelManagement,
-    author      = { Rose, Louis and
-                    Guerra, Esther and
-                    de Lara, Juan and
-                    Etien, Anne and
-                    Kolovos, Dimitris and
-                    Paige, Richard},
-    title       = {Genericity for model management operations},
-    journal     = {Software and Systems Modeling},
-    year        = {2011},
-    volume      = {12},
-    number      = {1},
-    pages       = {201--219},
-}
-
-@inproceedings{ModelBasedDSLFrameworks,
-    author      = { Kurtev, Ivan and
-                    B\'{e}zivin, Jean and
-                    Jouault, Fr\'{e}d\'{e}ric and
-                    Valduriez, Patrick},
-    title       = {Model-based {DSL} Frameworks},
-    year        = {2006},
-    booktitle   = {Proceedings of OOPSLA},
-    pages       = {602--615},
-}
-
-@article{potency,
-    title       = {Matters of (Meta-)Modeling},
-    author      = {K\"{u}hne, Thomas},
-    journal     = {Software and System Modeling},
-    year        = {2006},
-    pages       = {369--385},
-    volume      = {5},
-}
-
-@inproceedings{AToMPM,
-    author      = { Syriani, Eugene and
-                    Vangheluwe, Hans and
-                    Mannadiar, Raphael and
-                    Hansen, Conner and
-                    Van Mierlo, Simon and
-                    Ergin, Huseyin},
-    title       = {{AToMPM}: A Web-based Modeling Environment},
-    booktitle   = {MODELS'13 Demonstrations},
-    year        = {2013},
-}
-
-@inproceedings{AgilityInMDE,
-    author      = { Salay, Rick and
-                    Chechik, Marsha},
-    title       = {Supporting Agility in {MDE} Through Modeling Language Relaxation},
-    booktitle   = {Proceedings of the Workshop on Extreme Modelling},
-    pages       = {20--27},
-    year        = {2013},
-}
-
-@inproceedings{ACMSRC,
-    author      = {Van Tendeloo, Yentl},
-    title       = {Foundations of a Multi-Paradigm Modelling Tool},
-    booktitle   = {MoDELS ACM Student Research Competition},
-    year        = {2015},
-    pages       = {52--57},
-}
-
-@inproceedings{ConstraintBasedModelTypes,
-    author      = {Zschaler, Steffen},
-    title       = {Towards Constraint-Based Model Types: A Generalised Formal Foundation for Model Genericity},
-    booktitle   = {Proceedings of VAO},
-    year        = {2014},
-    pages       = {11--18},
-}
-
-@inproceedings{UnifyingApproach,
-    author      = { Atkinson, Colin and
-                    Gerbig, Ralph and
-                    K\"{u}hne, Thomas},
-    title       = {A Unifying Approach to Connections for Multi-Level Modeling},
-    booktitle   = {Proceedings of MoDELS},
-    year        = {2015},
-}
-
-@inproceedings{VMTS,
-    author      = { Levendovszky, Tiham\'{e}r and
-                    Lengyel, L\'{a}szl\'{o} and
-                    Mezei, Gergely and
-                    Charaf, Hassan},
-    title       = {A Systematic Approach to Metamodeling Environments and Model Transformation Systems in {VMTS}},
-    year        = {2004},
-    booktitle   = {Proceedings of GraBaTs},
-    pages       = {65--75},
-}
-
-@inproceedings{OnModelSubtyping,
-    author      = { Guy, Cl\'{e}ment and
-                    Combemale, Benoit and
-                    Derrien, Steven and
-                    Steel, Jim and
-                    J\'{e}z\'{e}quel, Jean-Marc},
-    title       = {On Model Subtyping},
-    booktitle   = {Proceedings of ECMFA},
-    year        = {2012},
-    pages       = {400--415},
-}
-
-@inproceedings{aposteriori,
-    author      = { de Lara, Juan and
-                    Guerra, Esther and
-                    S\'{a}nchez Cuadrado, Jes\'{u}s},
-    title       = {A-posteriori Typing for Model-Driven Engineering},
-    year        = {2015},
-    booktitle   = {Proceedings of MoDELS},
-}
-
-@article{Nivel,
-    author      = { Asikainen, Timo and
-                    M\"{a}nnist\"{o}, Tomi},
-    title       = {Nivel: a metamodelling language with a formal semantics},
-    year        = {2008},
-    volume      = {8},
-    pages       = {521--549},
-    journal     = {Software and System Modeling},
-}
-
-@inproceedings{constructiveType,
-    author      = { Atkinson, Colin and
-                    Kennel, Bastian and
-                    Go{\ss}, Bj\"{o}rn},
-    title       = {Supporting Constructive and Exploratory Modes of Modeling in Multi-Level Ontologies},
-    year        = {2011},
-    booktitle   = {Proceedings of Semantic Web Enabled Software Engineering},
-    pages       = {1--15},
-}
-
-@inproceedings{Squeak,
-    author      = { Ingalls, Dan and
-                    Kaehler, Ted and
-                    Maloney, John and
-                    Wallace, Scott and
-                    Kay, Alan},
-    title       = {Back to the Future: The Story of {Squeak}, a Practical {Smalltalk} Written in Itself},
-    booktitle   = {Proceedings of OOPSLA},
-    year        = {1997},
-    pages       = {318--326},
-}
-
-@book{Smalltalk,
-    author      = { Goldberg, Adele and
-                    Robson, David},
-    title       = {{Smalltalk-80}: The Language and Its Implementation},
-    year        = {1983},
-    publisher   = {Addison-Wesley Longman Publishing Co., Inc.},
-}
-
-@book{Typing,
-    author      = {Pierce, Benjamin C.},
-    title       = {Types and Programming Languages},
-    year        = {2002},
-    publisher   = {The MIT Press},
-}
-
-@article{MPM,
-    author      = { Mosterman, Pieter J. and
-                    Vangheluwe, Hans},
-    title       = {Computer {A}utomated {M}ulti-{P}aradigm {M}odeling: An Introduction},
-    journal     = {Simulation: Transactions of the Society for Modeling and Simulation International},
-    year        = {2004},
-    volume      = {80},
-    number      = {9},
-    pages       = {433--450},
-}
-
-@inproceedings{StrictProfilesWhyAndHow,
-    author      = { Atkinson, Colin and
-                    K\"{u}hne, Thomas},
-    title       = {Strict Profiles: Why and How},
-    year        = {2001},
-    booktitle   = {Proceedings of UML},
-    pages       = {309--322},
-}
-
-@inproceedings{ConceptsForComparing,
-    author      = { Atkinson, Colin and
-                    K\"{u}hne, Thomas},
-    title       = {Concepts for Comparing Modeling Tool Architectures},
-    year        = {2005},
-    booktitle   = {Proceedings of MoDELS},
-    pages       = {398--413},
-}
-
-@inproceedings{MetaDepth,
-    author      = { de Lara, Juan and
-                    Guerra, Ester},
-    title       = {Deep Meta-Modelling with {MetaDepth}},
-    year        = {2010},
-    booktitle   = {Proceedings of TOOLS},
-    pages       = {1--20},
-}
-
-@inproceedings{DCL,
-    author      = { Atkinson, Colin and
-                    Gerbig, Ralph and
-                    K\"{u}hne, Thomas},
-    title       = {Opportunities and Challenges for Deep Constraint Languages},
-    year        = {2015},
-    booktitle   = {Proceedings of the 15th International Workshop on OCL and Textual Modeling},
-}
-
-@inproceedings{AToM3,
-    author      = { de Lara, Juan and
-                    Vangheluwe, Hans},
-    title       = {{AToM}$^3$: A tool for Multi-formalism and Meta-modelling},
-    year        = {2002},
-    pages       = {174-188},
-    booktitle   = {Fundamental Approaches to Software Engineering},
-}
-
-@misc{OCL,
-    title       = {{OMG OCL}},
-    howpublished= {\url{http://www.omg.org/spec/OCL/}},
-    year        = {2014},
-}
-
-@inproceedings{MULTI_Modelverse,
-    title       = {Multi-Level Modelling in the Modelverse},
-    author      = { Van Mierlo, Simon and
-                    Barroca, Bruno and
-                    Vangheluwe, Hans and
-                    Syriani, Eugene and
-                    K\"{u}hne, Thomas},
-    year        = {2014},
-    pages       = {83--92},
-    booktitle   = {Proceedings of MULTI 2014 Multi-Level Modelling Workshop},
-}
-
-@inproceedings{Bruno,
-    author      = { Barroca, Bruno and
-                    K{\"{u}}hne, Thomas and
-                    Vangheluwe, Hans},
-    title       = {Integrating Language and Ontology Engineering},
-    booktitle   = {Proceedings of MPM 2014 Multi-Paradigm Modelling Workshop},
-    pages       = {77--86},
-    year        = {2014},
-}
-
-@techreport{MultiConformance,
-    author      = { Van Tendeloo, Yentl and
-                    Vangheluwe, Hans},
-    title       = {Explicit Type/Instance Relations},
-    year        = {2016},
-    institution = {University of Antwerp},
-}
-
-@inproceedings{Ken,
-    author      = { Vanherpen, Ken and
-                    Denil, Joachim and
-                    D\'{a}vid, Istv\'{a}n and
-                    De Meulenaere, Paul and
-                    Mosterman, Pieter J. and
-                    T\"{o}rngren, Martin and
-                    Qamar, Ahsan and
-                    Vangheluwe, Hans},
-    title       = {Ontological Reasoning for Consistency in the Design of Cyber-Physical Systems},
-    year        = {2016},
-    booktitle   = {Proceedings of Cyber Physical Production Systems},
-    note        = {(under review)},
-}
-
-@inproceedings{concepts,
-    author      = { de Lara, Juan and
-                    Guerra, Esther},
-    title       = {Generic Meta-modelling with Concepts, Templates, and Mixin Layers},
-    pages       = {16--30},
-    year        = {2010},
-    booktitle   = {Proceedings of MoDELS},
-}
-
-@article{OCA,
-    author      = { Atkinson, Colin and
-                    K\"{u}hne, Thomas},
-    title       = {Model-Driven Development: A Metamodeling Foundation},
-    journal     = {IEEE Software},
-    volume      = {20},
-    number      = {5},
-    year        = {2003},
-    pages       = {36--41},
-}
-
-@misc{TechnologicalSpaces,
-    author      = { Kurtev, Ivan and
-                    B\'{e}zivin, Jean and
-                    Aksit, Mehmet},
-    title       = {Technological Spaces: an Initial Appraisal},
-    year        = {2002},
-}
-
-@inproceedings{TechnologicalSpaces2,
-    author      = { Kurtev, Ivan and
-                    B\'{e}zivin, Jean and
-                    Jouault, Fr\'{e}d\'{e}ric and
-                    Valduriez, Patrick},
-    title       = {Model-based {DSL} frameworks},
-    year        = {2006},
-    pages       = {602--616},
-    booktitle   = {Proceedings of OOPSLA},
-}
-
-@inproceedings{XMF-Mosaic,
-    title       = {A Foundation for Multi-Level Modelling},
-    author      = { Clark, Tony and
-                    Gonzalez-Perez, Cesar and
-                    Henderson-Sellers, Brian},
-    year        = {2014},
-    pages       = {43--52},
-    booktitle   = {Proceedings of MULTI 2014 Multi-Level Modelling Workshop},
-}
-
-%TODO update with the new journal paper if it gets accepted
-@inproceedings{PythonPDEVSActivity,
-    author      = { Van Tendeloo, Yentl and
-                    Vangheluwe, Hans},
-    title       = {Activity in {PythonPDEVS}},
-    year        = {2014},
-    pages       = {2:1--2:10},
-    booktitle   = {Proceedings of ACTIMS},
-}
-
-@inproceedings{LevelAgnostic,
-    title       = {On the search for a Level-Agnostic Modelling Language},
-    author      = { Henderson-Sellers, Brian and
-                    Clark, Tony and
-                    Gonzalez-Perez, Cesar},
-    booktitle   = {Proceedings of Advanced Information Systems Engineering},
-    pages       = {240--255},
-    year        = {2013},
-}
-
-@inproceedings{megamodelling,
-    author      = { B\'{e}zivin, Jean and
-                    Jouault, Fr\'{e}d\'{e}ric and
-                    Rosenthal, Peter and
-                    Valduriez, Patrick},
-    title       = {Modeling in the large and modeling in the small},
-    year        = {2005},
-    booktitle   = {Model Driven Architecture},
-}
-
-@inproceedings{DISTIL,
-    author      = { Manzanares, Carlos Carrascal and
-                    Cuadrado, Jes{\'u}s S{\'a}nchez and
-                    de Lara, Juan},
-    title       = {Building {MDE} cloud services with {DISTIL}},
-    booktitle   = {Proceedings of CloudMDE},
-    year        = {2015},
-    pages       = {1--6},
-}
-
-@inproceedings{TypingModelManagement,
-    author      = { Vignaga, Andr\'{e}s and
-                    Jouault, Fr\'{e}d\'{e}ric and
-                    Bastarrica, Mar\'{i}a Cecilia and
-                    Bruneli\`{e}re, Hugo},
-    title       = {Typing in Model Management},
-    year        = {2009},
-    booktitle   = {Proceedings of International Conference on Model Transformation},
-}
-
-@inproceedings{MegamodelsRuntime,
-    author      = { Vogel, Thomas and
-                    Seibel, Andreas and
-                    Giese, Holger},
-    title       = {Towards Megamodels at Runtime},
-    year        = {2010},
-    booktitle   = {Proceedings of Models@run.time workshop},
-}
-
-@inproceedings{MegamodelManagement,
-    author      = { Salay, Rick and
-                    Kokaly, Sahar and
-                    Di Sandro, Alessio and
-                    Chechik, Marsha},
-    title       = {Enriching Megamodel Management with Collection-Based Operators},
-    year        = {2015},
-    booktitle   = {Proceedings of MoDELS},
-}

BIN
techreport/conformance_bottom/figures/LTM_bottom.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 338
techreport/conformance_bottom/figures/LTM_bottom.svg


BIN
techreport/conformance_bottom/figures/change_physical.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 848
techreport/conformance_bottom/figures/change_physical.svg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 604
techreport/conformance_bottom/figures/different_hierarchies.svg


BIN
techreport/conformance_bottom/figures/different_hierarchies_A.pdf


BIN
techreport/conformance_bottom/figures/different_hierarchies_B.pdf


BIN
techreport/conformance_bottom/figures/example_problem.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 2570
techreport/conformance_bottom/figures/example_problem.svg


BIN
techreport/conformance_bottom/figures/example_solution.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 2812
techreport/conformance_bottom/figures/example_solution.svg


BIN
techreport/conformance_bottom/figures/moving_ltm.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1073
techreport/conformance_bottom/figures/moving_ltm.svg


BIN
techreport/conformance_bottom/figures/overview.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1141
techreport/conformance_bottom/figures/overview.svg


BIN
techreport/conformance_bottom/figures/pn_linguistic.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 222
techreport/conformance_bottom/figures/pn_linguistic.svg


BIN
techreport/conformance_bottom/figures/pn_multi_conformance.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1302
techreport/conformance_bottom/figures/pn_multi_conformance.svg


BIN
techreport/conformance_bottom/figures/pn_ontological.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 148
techreport/conformance_bottom/figures/pn_ontological.svg


BIN
techreport/conformance_bottom/figures/pn_physical.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 170
techreport/conformance_bottom/figures/pn_physical.svg


BIN
techreport/conformance_bottom/figures/rule.pdf


+ 0 - 437
techreport/conformance_bottom/figures/rule.svg

@@ -1,437 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg3174"
-   version="1.1"
-   inkscape:version="0.48.5 r10040"
-   width="647.5"
-   height="547.5"
-   xml:space="preserve"
-   sodipodi:docname="while_true.svg"><metadata
-     id="metadata3180"><rdf:RDF><cc:Work
-         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
-     id="defs3178" /><sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="2558"
-     inkscape:window-height="1422"
-     id="namedview3176"
-     showgrid="false"
-     inkscape:zoom="2.2922374"
-     inkscape:cx="323.75"
-     inkscape:cy="343.5508"
-     inkscape:window-x="0"
-     inkscape:window-y="16"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="g3182" /><g
-     id="g3182"
-     inkscape:groupmode="layer"
-     inkscape:label="ink_ext_XXXXXX"
-     transform="matrix(1.25,0,0,-1.25,0,547.5)"><g
-       id="g3541"><path
-         d="m 77.0898,243 c 0,9.941 -16.2253,18 -36.2398,18 -20.0145,0 -36.23984,-8.059 -36.23984,-18 0,-9.941 16.22534,-18 36.23984,-18 20.0145,0 36.2398,8.059 36.2398,18"
-         style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-         id="path3186"
-         inkscape:connector-curvature="0" /><g
-         id="g3188"><text
-           transform="matrix(1,0,0,-1,22.5801,238.8)"
-           id="text3190"><tspan
-             style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman"
-             x="0 4.6621566 10.878313 17.878469 24.878626 31.878782"
-             y="0"
-             sodipodi:role="line"
-             id="tspan3192">’cond’</tspan></text>
-</g></g><g
-       id="g3535"><path
-         d="m 157.7,243 c 0,9.941 -13.364,18 -29.85,18 C 111.364,261 98,252.941 98,243 c 0,-9.941 13.364,-18 29.85,-18 16.486,0 29.85,8.059 29.85,18"
-         style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-         id="path3194"
-         inkscape:connector-curvature="0" /><g
-         id="g3196"><text
-           transform="matrix(1,0,0,-1,113.85,238.8)"
-           id="text3198"><tspan
-             style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman"
-             x="0 4.6605287 8.5510569 15.549585 19.440113 23.330643"
-             y="0"
-             sodipodi:role="line"
-             id="tspan3200">’init’</tspan></text>
-</g></g><g
-       id="g3553"><path
-         d="m 341.98,81 c 0,9.941 -15.281,18 -34.13,18 -18.849,0 -34.13,-8.059 -34.13,-18 0,-9.941 15.281,-18 34.13,-18 18.849,0 34.13,8.059 34.13,18"
-         style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-         id="path3202"
-         inkscape:connector-curvature="0" /><g
-         id="g3204"><text
-           transform="matrix(1,0,0,-1,290.74,76.8)"
-           id="text3206"><tspan
-             style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman"
-             x="0 13.215031 20.214062 24.105093 27.996124"
-             y="0"
-             sodipodi:role="line"
-             id="tspan3208">While</tspan></text>
-</g></g><path
-       inkscape:connector-curvature="0"
-       id="path3210"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 433.65,7 c 0,0.99375 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.80625 -1.8,-1.8 0,-0.99375 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.80625 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3212"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 433.65,7 c 0,0.99375 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.80625 -1.8,-1.8 0,-0.99375 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.80625 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3214"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="M 330.59,67.4301 C 357.58,51.3199 401.44,25.15 421.38,13.25" /><path
-       inkscape:connector-curvature="0"
-       id="path3216"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="M 423.41,16.1102 430.2,7.98008 419.82,10.1" /><path
-       inkscape:connector-curvature="0"
-       id="path3218"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="M 423.41,16.1102 430.2,7.98008 419.82,10.1 l 3.59,6.0102 z" /><g
-       id="g3220"><text
-         id="text3222"
-         transform="matrix(1,0,0,-1,395.85,31.8)"><tspan
-           id="tspan3224"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.661427 11.660854 18.660282 25.659708 32.659134"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’body’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3226"
-       style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 242.65,243 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3228"
-       style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 242.65,243 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3230"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 336.65,162 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3232"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 336.65,162 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3234"
-       style="fill:none;stroke:#00ff00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 242.48,241.59 c 9.89,-8.52 62.08,-53.49 83.34,-71.81" /><path
-       inkscape:connector-curvature="0"
-       id="path3236"
-       style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 328.16,172.38 5.29,-9.18 -9.86,3.88" /><path
-       inkscape:connector-curvature="0"
-       id="path3238"
-       style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 328.16,172.38 5.29,-9.18 -9.86,3.88 4.57,5.3 z" /><g
-       id="g3240"><text
-         id="text3242"
-         transform="matrix(1,0,0,-1,301.85,193.8)"><tspan
-           id="tspan3244"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6618695 11.661739 16.323608 22.539478 29.539349"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’prev’</tspan></text>
-</g><g
-       id="g3559"><path
-         d="m 422.7,81 c 0,9.941 -13.364,18 -29.85,18 C 376.364,99 363,90.941 363,81 c 0,-9.941 13.364,-18 29.85,-18 16.486,0 29.85,8.059 29.85,18"
-         style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-         id="path3246"
-         inkscape:connector-curvature="0" /><g
-         id="g3248"><text
-           transform="matrix(1,0,0,-1,378.85,76.8)"
-           id="text3250"><tspan
-             style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman"
-             x="0 4.6605287 8.5510569 15.549585 19.440113 23.330643"
-             y="0"
-             sodipodi:role="line"
-             id="tspan3252">’init’</tspan></text>
-</g></g><g
-       id="g3547"><path
-         d="m 337.62,243 c 0,9.941 -12.881,18 -28.77,18 -15.889,0 -28.77,-8.059 -28.77,-18 0,-9.941 12.881,-18 28.77,-18 15.889,0 28.77,8.059 28.77,18"
-         style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-         id="path3254"
-         inkscape:connector-curvature="0" /><g
-         id="g3256"><text
-           transform="matrix(1,0,0,-1,295.63,238.8)"
-           id="text3258"><tspan
-             style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman"
-             x="0 8.553688 13.215375 20.215063"
-             y="0"
-             sodipodi:role="line"
-             id="tspan3260">True</tspan></text>
-</g></g><path
-       inkscape:connector-curvature="0"
-       id="path3262"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 223.65,433 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3264"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 223.65,433 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3266"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 223.65,375 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3268"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 223.65,375 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3270"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 221.85,431.07 c 0,-6.74 0,-29.61 0,-43.98" /><path
-       inkscape:connector-curvature="0"
-       id="path3272"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 225.35,387 -3.5,-10 -3.5,10" /><path
-       inkscape:connector-curvature="0"
-       id="path3274"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 225.35,387 -3.5,-10 -3.5,10 7,0 z" /><g
-       id="g3276"
-       transform="translate(0,18.72)"><text
-         id="text3278"
-         transform="matrix(1,0,0,-1,221.85,399.8)"><tspan
-           id="tspan3280"
-           sodipodi:role="line"
-           y="0"
-           x="0 6.999238 12.444476 18.659714 23.320951 30.32019 36.535427 47.426666"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">username</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3282"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 223.65,317 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3284"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 223.65,317 c 0,0.994 -0.806,1.8 -1.8,1.8 -0.994,0 -1.8,-0.806 -1.8,-1.8 0,-0.994 0.806,-1.8 1.8,-1.8 0.994,0 1.8,0.806 1.8,1.8" /><path
-       inkscape:connector-curvature="0"
-       id="path3286"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 221.85,373.07 c 0,-6.74 0,-29.61 0,-43.98" /><path
-       inkscape:connector-curvature="0"
-       id="path3288"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 225.35,329 -3.5,-10 -3.5,10" /><path
-       inkscape:connector-curvature="0"
-       id="path3290"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 225.35,329 -3.5,-10 -3.5,10 7,0 z" /><g
-       id="g3292"><text
-         id="text3294"
-         transform="matrix(1,0,0,-1,221.85,341.8)"><tspan
-           id="tspan3296"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6605825 9.3211651 13.981748 20.196331 31.086912 37.301495"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’frame’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3298"
-       style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:9, 9;stroke-dashoffset:0"
-       d="M 219.85,316.93 C 204.57,316.34 105.74,311.97 80.65,297 69.6699,290.44 60.7801,279.57 54.2199,269.3" /><path
-       inkscape:connector-curvature="0"
-       id="path3300"
-       style="fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 57.15,267.38 -8.1,-6.83 2.0699,10.39" /><path
-       inkscape:connector-curvature="0"
-       id="path3302"
-       style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 57.15,267.38 -8.1,-6.83 2.0699,10.39 6.0301,-3.56 z" /><g
-       id="g3304"><text
-         id="text3306"
-         transform="matrix(1,0,0,-1,80.85,283.8)"><tspan
-           id="tspan3308"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6619444 11.661889 18.661833 24.877777 30.323723 36.539665"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’phase’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3310"
-       style="fill:none;stroke:#00ff00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 219.96,316.87 c -11.78,-0.85 -75.18,-6.02 -87.31,-19.87 -6.13,-7 -8.24,-16.64 -8.53,-25.84" /><path
-       inkscape:connector-curvature="0"
-       id="path3312"
-       style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 127.62,271.24 -3.16,-10.11 -3.83,9.87" /><path
-       inkscape:connector-curvature="0"
-       id="path3314"
-       style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 127.62,271.24 -3.16,-10.11 -3.83,9.87 6.99,0.24 z" /><g
-       id="g3316"><text
-         id="text3318"
-         transform="matrix(1,0,0,-1,132.85,283.8)"><tspan
-           id="tspan3320"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6619444 11.661889 18.661833 24.877777 30.323723 36.539665"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’phase’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3322"
-       style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:9, 9;stroke-dashoffset:0"
-       d="m 221.47,315.14 c -0.69,-3.53 -2.12,-11.42 -2.62,-18.14 -2.41,-32.28 -0.06,-41.58 11,-72 15.79,-43.45 42.99,-89.81 60.74,-117.84" /><path
-       inkscape:connector-curvature="0"
-       id="path3324"
-       style="fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 293.76,108.69 2.45,-10.3099 -8.34,6.5299" /><path
-       inkscape:connector-curvature="0"
-       id="path3326"
-       style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 293.76,108.69 2.45,-10.3099 -8.34,6.5299 5.89,3.78 z" /><g
-       id="g3328"><text
-         id="text3330"
-         transform="matrix(1,0,0,-1,244.85,193.8)"><tspan
-           id="tspan3332"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6597152 9.3194304 17.101145"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’IP’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3334"
-       style="fill:none;stroke:#00ff00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 221.82,314.9 c -0.03,-5.81 0.22,-22.54 3.62,-35.9 2.25,-8.84 6.37,-18.3 9.79,-25.3" /><path
-       inkscape:connector-curvature="0"
-       id="path3336"
-       style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 238.46,255.08 1.49,-10.49 -7.71,7.26" /><path
-       inkscape:connector-curvature="0"
-       id="path3338"
-       style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 238.46,255.08 1.49,-10.49 -7.71,7.26 6.22,3.23 z" /><g
-       id="g3340"><text
-         id="text3342"
-         transform="matrix(1,0,0,-1,225.85,283.8)"><tspan
-           id="tspan3344"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6615243 10.877048 17.876574 24.092096 27.983622 33.429146 37.320671 43.536194 49.751717 56.751244"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’evalstack’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3346"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 223.65,316.66 c 9.47,-1.81 53.27,-10.57 63.2,-19.66 7.51,-6.88 12.51,-16.69 15.82,-26.07" /><path
-       inkscape:connector-curvature="0"
-       id="path3348"
-       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 306.11,271.67 -0.47,-10.58 -6.24,8.56" /><path
-       inkscape:connector-curvature="0"
-       id="path3350"
-       style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 306.11,271.67 -0.47,-10.58 -6.24,8.56 6.71,2.02 z" /><g
-       id="g3352"><text
-         id="text3354"
-         transform="matrix(1,0,0,-1,299.85,283.8)"><tspan
-           id="tspan3356"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6614347 9.3228693 15.538304 19.429739 26.429174 31.090609 38.090042 45.089478 51.304913 55.19635 62.195782 68.411217"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’returnvalue’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3358"
-       style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:9, 9;stroke-dashoffset:0"
-       d="m 223.88,316.9 c 17.5,-0.91 142.31,-7.78 152.97,-19.9 33.32,-37.9 -13.96,-101.99 -33.88,-125.76" /><path
-       inkscape:connector-curvature="0"
-       id="path3360"
-       style="fill:#0000ff;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 345.48,168.79 -9.2,-5.24 3.92,9.84" /><path
-       inkscape:connector-curvature="0"
-       id="path3362"
-       style="fill:none;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 345.48,168.79 -9.2,-5.24 3.92,9.84 5.28,-4.6 z" /><g
-       id="g3364"><text
-         id="text3366"
-         transform="matrix(1,0,0,-1,388.85,238.8)"><tspan
-           id="tspan3368"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6615243 10.877048 17.876574 24.092096 27.983622 33.429146 37.320671 43.536194 49.751717 56.751244"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’evalstack’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3370"
-       style="fill:none;stroke:#00ff00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 223.8,316.88 c 16.81,-1.02 137.62,-8.72 172.05,-19.88 46.56,-15.09 96,-5.05 96,-54 0,0 0,0 0,-162 0,-31.2102 -32.59,-56.6102 -49.74,-67.8102" /><path
-       inkscape:connector-curvature="0"
-       id="path3372"
-       style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 443.93,10.2 -10.35,-2.23984 6.7,8.20974" /><path
-       inkscape:connector-curvature="0"
-       id="path3374"
-       style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 443.93,10.2 -10.35,-2.23984 6.7,8.20974 3.65,-5.9699 z" /><g
-       id="g3376"><text
-         id="text3378"
-         transform="matrix(1,0,0,-1,491.85,157.8)"><tspan
-           id="tspan3380"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6597152 9.3194304 17.101145"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’IP’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3382"
-       style="fill:none;stroke:#00ff00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 334.18,160 c -2.36,-7.09 -10.54,-31.62 -17.16,-51.48" /><path
-       inkscape:connector-curvature="0"
-       id="path3384"
-       style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 320.31,107.33 -6.48,-8.38 -0.16,10.6" /><path
-       inkscape:connector-curvature="0"
-       id="path3386"
-       style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 320.31,107.33 -6.48,-8.38 -0.16,10.6 6.64,-2.22 z" /><g
-       id="g3388"><text
-         id="text3390"
-         transform="matrix(1,0,0,-1,325.85,121.8)"><tspan
-           id="tspan3392"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6615443 8.5530882 15.552632 20.998177 24.889721"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’inst’</tspan></text>
-</g><path
-       inkscape:connector-curvature="0"
-       id="path3394"
-       style="fill:none;stroke:#00ff00;stroke-width:4;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 336.23,160.61 c 3.83,-3.87 14.78,-15.18 22.62,-25.61 6.58,-8.77 13.16,-18.83 18.75,-27.88" /><path
-       inkscape:connector-curvature="0"
-       id="path3396"
-       style="fill:#00ff00;fill-opacity:1;fill-rule:nonzero;stroke:none"
-       d="m 380.63,108.87 2.19,-10.3598 -8.17,6.7298" /><path
-       inkscape:connector-curvature="0"
-       id="path3398"
-       style="fill:none;stroke:#00ff00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1;stroke-opacity:1;stroke-dasharray:none"
-       d="m 380.63,108.87 2.19,-10.3598 -8.17,6.7298 5.98,3.63 z" /><g
-       id="g3400"><text
-         id="text3402"
-         transform="matrix(1,0,0,-1,371.85,121.8)"><tspan
-           id="tspan3404"
-           sodipodi:role="line"
-           y="0"
-           x="0 4.6619444 11.661889 18.661833 24.877777 30.323723 36.539665"
-           style="font-size:14px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Times;-inkscape-font-specification:Times-Roman">’phase’</tspan></text>
-</g></g></svg>

BIN
techreport/conformance_bottom/figures/spanning_algorithm.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 673
techreport/conformance_bottom/figures/spanning_algorithm.svg


BIN
techreport/conformance_bottom/figures/tmp.png


BIN
techreport/conformance_bottom/main.pdf


+ 0 - 103
techreport/conformance_bottom/main.tex

@@ -1,103 +0,0 @@
-%-----------------------------------------------------------------------------
-%
-%               Template for sigplanconf LaTeX Class
-%
-% Name:         sigplanconf-template.tex
-%
-% Purpose:      A template for sigplanconf.cls, which is a LaTeX 2e class
-%               file for SIGPLAN conference proceedings.
-%
-% Guide:        Refer to "Author's Guide to the ACM SIGPLAN Class,"
-%               sigplanconf-guide.pdf
-%
-% Author:       Paul C. Anagnostopoulos
-%               Windfall Software
-%               978 371-2316
-%               paul@windfall.com
-%
-% Created:      15 February 2005
-%
-%-----------------------------------------------------------------------------
-
-
-\documentclass[preprint,10pt]{sigplanconf}
-
-% The following \documentclass options may be useful:
-
-% preprint      Remove this option only once the paper is in final form.
-% 10pt          To set in 10-point type instead of 9-point.
-% 11pt          To set in 11-point type instead of 9-point.
-% numbers       To obtain numeric citation style instead of author/year.
-
-\usepackage{amsmath}
-\usepackage{graphicx}
-\usepackage{subcaption}
-\usepackage{listings}
-
-\newcommand{\cL}{{\cal L}}
-
-\begin{document}
-
-\special{papersize=8.5in,11in}
-\setlength{\pdfpageheight}{\paperheight}
-\setlength{\pdfpagewidth}{\paperwidth}
-
-\conferenceinfo{SLE '16}{October 31--November 1, 2016, Amsterdam, the Netherlands}
-\copyrightyear{2016}
-\copyrightdata{978-1-nnnn-nnnn-n/yy/mm}
-\copyrightdoi{nnnnnnn.nnnnnnn}
-
-% Uncomment the publication rights you want to use.
-%\publicationrights{transferred}
-%\publicationrights{licensed}     % this is the default
-%\publicationrights{author-pays}
-
-\titlebanner{banner above paper title}        % These are ignored unless
-\preprintfooter{short description of paper}   % 'preprint' option specified.
-
-\title{Breaking Free of the Implementation\\Through Explicit Type/Instance Relations}
-\subtitle{}
-
-\authorinfo{Yentl Van Tendeloo}
-           {University of Antwerp}
-           {Yentl.VanTendeloo@uantwerpen.be}
-\authorinfo{Hans Vangheluwe}
-           {University of Antwerp and McGill University}
-           {Hans.Vangheluwe@uantwerpen.be}
-
-\maketitle
-
-\begin{abstract}
-\input abstract.tex
-\end{abstract}
-
-\category{CR-number}{subcategory}{third-level}
-
-% general terms are not compulsory anymore,
-% you may leave them out
-\terms
-term1, term2
-
-\keywords
-keyword1, keyword2
-
-\input 1-introduction.tex
-\input 2-background.tex
-\input 3-conformance.tex
-\input 3.5-conformancebottom.tex
-\input 4-example.tex
-\input 5-relatedwork.tex
-\input 6-conclusion.tex
-
-\acks
-
-This work was partly funded by a PhD fellowship from the Research Foundation -
-Flanders (FWO). Partial support by the Flanders Make strategic research centre
-for the manufacturing industry is also gratefully acknowledged.
-
-% We recommend abbrvnat bibliography style.
-
-\bibliographystyle{abbrvnat}
-\bibliography{bibliography}
-
-\end{document}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1434
techreport/conformance_bottom/sigplanconf.cls


+ 0 - 8
techreport/general/abstract.tex

@@ -1,8 +0,0 @@
-None of the current plethora of (meta-)modelling tools include a complete model of themselves.
-Such a model, a precise specification of the tool's syntax and semantics, allows for introspection and reflection.
-This enables features such as debugging.
-Without such a model, it is harder to decompose a tool into components for distribution, reason about efficiency, and reuse components of existing implementations.
-In this technical report, we present the foundations of the Modelverse, a self-describable environment for multi-paradigm modelling (supporting multi-formalism and multi-abstraction modelling and explicitly modelled processes).
-The foundations describe a class of Modelverse realizations, which satisfy our identified set of requirements.
-Conceptually, all information in the Modelverse is stored in a graph, and model management operations transform this graph.
-Parts of the graph also describes action constructs which, amongst others, can be used to define (linguistic) conformance relations, the basis for multi-layer multi-level modelling.

+ 0 - 108
techreport/general/algorithm.sty

@@ -1,108 +0,0 @@
-%%%%%%%%%%%   ALGORITHMS STYLE  %%%%%%%%%%%
-% This style defines an environment for algorithms with the following
-% features:
-% 
-% 1) Defines an Theorem like environment (not exactly one) for
-%    algorithms called ``algorithm''.
-%    \begin{algorithm}{NAME} ... \end{algorithm}
-%    NAME is the NAME of the algorithm.
-%    Algorithms are numbered using a counter called ``algorithm''.
-% 
-% 2) Inside this environment, the following commands are defined.
-% 
-%    \=  Put the small left arrow commonly used for assignment.
-% 
-%    \invariant{INVARIANT} Use to describe invariants, put its parameter
-%                          between ``{}'' in math mode.
-% 
-%    \begin{Block} ... \end{Block} Environment use to start a indented
-%                                  block of instructions \end{Block} put
-%                                  an ``end'' to close the block.
-% 
-%    \nextBlock{SEPARATOR} Inside a Block, it allows to put a separator
-%                          of parts of the indented block. Usefull for
-%                          constructions like ``IF..THEN..ELSE..END''
-%                       i.e. If cond then
-%                            \begin{Block}
-%                               then part
-%                            \nextBlock{else}
-%                               else part
-%                            \end{Block}
-% 
-% 3) \Blockindent and \algorithmindent are length that specify the
-%    indentention of Blocks and of the algorithm resp.
-% 
-%   4) Instructions are separated by ``\\'', ``\par'' or by leaving a
-%      blank line. Before an ``\end{Block}'' a ``\\'' can't be used.
-% 
-% 
-% Created by Jose Alberto Fernandez R.
-% e-mail:    alberto@cs.umd.edu
-% 
-
-% 
-\newcounter{algorithm}
-\newtheorem{Alg@orithm}[algorithm]{Algorithm}
-% Invariants
-\newcommand{\inv@ariant}[1]{\mbox{$\{#1\}$}}
-% Steps environment
-\newenvironment{ste@ps}[1]{
-\begin{list}{}
-{\setlength\labelsep{0in}
-\addtolength\partopsep\topsep
-\addtolength\partopsep\parsep
-\setlength\parsep{0in}
-\setlength\topsep{0in}
-\setlength\itemsep{0in}
-\setlength\labelwidth{0in}
-\setlength\rightmargin{0in}
-\setlength\leftmargin{#1}}
-}{
-\end{list}
-}
-
-% Block environment
-% Indentation of the Block
-\newlength{\Blockindent}
-% NextBlock command
-\newcommand{\next@Block}[1]{
-\end{ste@ps}
-#1
-\begin{ste@ps}{\Blockindent}
-\item
-}
-
-\newenvironment{Blo@ck}{
-\let\nextBlock\next@Block
-\begin{ste@ps}{\Blockindent}
-\item
-}{
-\end{ste@ps}
-end
-}
-% Algorithm environment
-% Assign command
-\newcommand{\ass@ign}{\mbox{$\leftarrow$}}
-% Indentation of the algorithm
-\newlength{\algorithmindent}
-% Algorithm definition
-\newenvironment{algorithm}[1]{
-\let\=\ass@ign
-\let\invariant\inv@ariant
-\let\Block\Blo@ck
-\let\endBlock\endBlo@ck
-\begin{Alg@orithm} #1
-\rm\par
-\begin{ste@ps}{\algorithmindent}
-\item
-}{
-\end{ste@ps}
-\bf end
-\end{Alg@orithm}
-}
-
-% Setting default indentation
-\setlength{\algorithmindent}{1em}
-\setlength{\Blockindent}{2em}
-
-% End of algorithm.sty

+ 0 - 160
techreport/general/axioms.tex

@@ -1,160 +0,0 @@
-\chapter{Axioms}
-\label{chap:axioms}
-We define a set of requirements for a Modelverse.
-These requirements, or axioms, will be used during our formalization to motivate our decisions.
-Although implementation-related requirements are not needed for our formalization, they are mentioned as it is something every implementation should conform to.
-
-After an explanation of what each axiom represents, we give an overview of how all these axioms are related to each other.
-
-\section{\axiomForeverRunning}
-The Modelverse should always be able to continue running.
-As such, no modifications to the behaviour should require a restart, except for changes to the (minimal) kernel (and thus the action language semantics).
-An (authorized) user should be able to alter all core concepts, with changes automatically applied for all connected Modelverse Interfaces.
-
-Forever running also implies that the Modelverse runs as a service, separate from the MvI program, which is used by the user, but also on a different machine.
-A more drastic interpretation is that it should be parallelized and distributed, as to cope with possible hardware failure.
-We do not require this more drastic interpretation, though it is certainly a feature to take into account in an implementation evaluation.
-
-The forever running does not apply to the MvI, of course, as the MvI is a tool ran on the system of the end-user.
-It is the whole of MvK and MvS that should run as if it is running forever.
-
-\section{\axiomScalability}
-The Modelverse should be scalable in terms of computation, memory, number of users, number of models, and the size of individual models.
-Related to the previous axiom, scalability should still be maintained even if the Modelverse is forever running.
-Combined with scalability is performance: even if operations are scalable in terms of complexity, the total time taken by execution should also be as low as possible.
-
-Due to our split in multiple components, we can also split up our scalability requirements over these components:
-\begin{itemize}
-\item The MvI needs to be scalable in performance, of course, though the size of models will be relatively small compared to those processed by the MvK or MvS, because the models being worked on will always be submodels of the \textit{complete} Modelverse model.
-More important for the MvI is the scalability in the size of the model for visualization and presentation.
-Depending on the domain, an implementation might provide further methods for abstraction of components.
-\item The MvK needs to be scalable in performance, again, but mainly in the processing of action code constructs.
-An MvK instance should be easily parallelizable up to the ``1 MvK per user'' threshold.
-Beyond that limit, multiple MvKs would have to cooperatively work on a single block of action code, which is likely to hamper performance.
-An MvK also needs to be scalable in the number of users it is able to handle.
-\item The MvS needs to be scalable in performance, mainly in terms of the size of the complete Modelverse state.
-It is non-trivial to distribute or parallelise, as operations are small and atomic, and all data needs to be shared between users.
-The MvS should therefore be offloaded as much as possible, shifting all computation to the MvK.
-This reduces the functionality of the MvS to that of a simple, but high-performance, data structure library.
-Again, it should be scalable in the number of, possibly simultaneous, requests made, which differs from the total number of users.
-\end{itemize}
-
-\section{\axiomMinimalContent}
-A minimal amount of content should be available in the Modelverse by default.
-The content consists of the models necessary for bootstrapping, but also some default formalisms, such as \textsf{Petri Nets}, \textsf{Parallel DEVS}, \textsf{Statecharts}, \textsf{FTG+PM}~\cite{FTG+PM},~\ldots
-
-For bootstrapping, the Modelverse contains a model of itself, which can then be compiled to a binary, executable outside of the Modelverse, or interpreted by the currently running MvK.
-From this viewpoint, the Modelverse will be similar to Squeak~\cite{Squeak}, which is a Smalltalk interpreter written in Smalltalk.
-
-Apart from formalisms, some models should also be present in the Modelverse.
-These include the Formalism Transformation Graph (FTG), and the corresponding Process Model (PM), forming the FTG+PM.
-The FTG model can be automatically constructed from the formalisms that are automatically detected in the Modelverse.
-Combined with detecting the formalisms, it should also be possible to automatically detect all transformations defined between these formalisms, thus completing the FTG.
-The PM model will be the driving force of the MvK and defines which operations to execute.
-It can therefore be written in an action language, which defines the behaviour of the MvK, and thus the communication with the user.
-
-\section{\axiomModelEverything}
-Every element in the Modelverse needs to be explicitly modelled, using the most appropriate formalism.
-This does not only include the typical elements, such as the models and metamodels, but should also go down to the level of the primitives such as Integer and Float.
-This will allow for stronger model transformations, as they can transform (and access) literally everything.
-
-Ultimately, a model of the Modelverse should also be present in the Modelverse, which closes the loop.
-In the end, a compiled version needs to be used for pragmatic reasons, though this compiled version can be (automatically) compiled from the model that lives in the Modelverse.
-
-Features like debugging, introspection, reflection, and self-modifiability will come from this axiom, as every part of execution is accessible for both reading and writing.
-
-\section{\axiomHumanInteraction}
-All interaction with the human user of the Modelverse needs to be explicitly modelled.
-This includes timed behaviour of the Modelverse (\textit{e.g.}, time-out of requests), or even the complete communication protocol.
-It is actually the MvI which will communicate with the Modelverse, though it will be guided by the user.
-
-It should also be taken into account that the MvK will be (mainly) used by humans, and as such should be usable.
-While most of this will be handled by the MvI, which provides the tool to the user, the fact that a human is behind all of it should be taken into account.
-Possible applications for this are for performance evaluation: a human user has completely different (and likely slower) access patterns than an automated tool.
-The predefined constructs and design of the system should also be usable by humans, specifically those that are non-experts in design of the Modelverse.
-Enforcing strict metamodelling is part of the solution, as this offers users (and tools) a limited scope to worry about~\cite{StrictMetamodelling}.
-
-\section{\axiomTestDriven}
-Development on the Modelverse should happen using the model of the Modelverse, which can be simulated, and placed in a variety of circumstances which are hard to replicate in real-life situations.
-A similar approach was taken by~\cite{DEVSinDEVS}, where a \textsf{DEVS} model was made of a distributed \textsf{DEVS} simulation kernel.
-Modelling allowed them to replicate, among others, sudden disconnects, high latency connections, or different network topologies.
-Furthermore, detailed, and perfectly deterministic, performance insights can be gained by the simulation of the model.
-Certainly for parallel execution, this gives us deterministic thread interleavings, which can be crucial to debugging and performance analysis.
-
-Functionality also needs to be checked as exhaustively as possible.
-Certainly for the first axiom, critical bugs should be avoided as much as possible.
-Because the Modelverse will have to communicate with a variety of tools, its interface will also have to be tested for conformance with the specifications.
-
-\section{\axiomMultiView}
-The Modelverse should support different views on the same model.
-Examples include hiding parts of a model, or aggregating different elements into a composite element.
-This gives rise to consistency management, as changes in one view will have to be propagated to all other views.
-
-Multi-view should be handled at all components, as each component needs to allow it.
-The MvI needs to provide operations to use the different views, the MvK needs to update the views and keep them consistent, and the MvS needs to provide these operations efficiently.
-The MvS is least concerned with multi-view, as it sits at a lower level.
-
-\section{\axiomMultiFormalism}
-The Modelverse should support models which combine different formalisms.
-Models should therefore be able to have a metamodel which is the combination of multiple (meta)models.
-Inter-formalism links should also be possible, even if those cannot be typed within the respective formalism.
-While the semantics of such a link depends on the domain, and therefore has to be provided by the user, the Modelverse should allow such links to be created and used.
-Consequently, links between models should also be possible, which can then act as the type for those inter-formalism links.
-
-Related, a single model should be able to have multiple metamodels.
-A model could therefore be typed by a metamodel, but would also have to conform to a bigger metamodel, which contains the original metamodel as one of its elements.
-This allows the reuse of models, even if the context surrounding the metamodel has changed.
-
-\section{\axiomMultiAbstraction}
-The Modelverse should support systems which are expressed using a set of models, all at a different level of abstraction.
-Consistency management will again have to be handled here.
-
-As was the case for multi-view, each component needs to think about multi-abstraction separately.
-The exception is again the MvS, as it is at a lower level.
-However, it can still (internally) use optimizations, knowing that some requests will be related to multi-abstraction.
-
-\section{\axiomMultiUser}
-The Modelverse should be able to serve multiple Modelverse Interfaces simultaneously.
-A main concern to this is fairness between users: a user cannot wait for its turn infinitely long.
-If a single user therefore uses all computational power, at the expense of other users, the code executed by this user will have to be automatically paused, marked as ``low priority'', or terminated.
-
-User Access Control is related to this, as users should be able to configure the Read/Write/Execute status of their models.
-As such, groups of users, with specific privileges, should also be supported.
-
-If their access control allows it, users should also be able to read the state of the execution of other users.
-This will allow for debugging with multiple users: user \textit{A} can execute code, with user \textit{B} being an automated debugging bot, which examines the state of user \textit{A}.
-
-\section{\axiomInteroperability}
-Different implementations of the Modelverse and its interface should be possible.
-These implementations should all be able to communicate with each other, as long as they follow the same specification.
-This is one of our main goals for specifying the interfaces between components.
-
-Additionally, because the semantics of action code and its corresponding execution context is defined, different MvK's should be able to continue each other's execution, or interpret the execution context of other tools.
-This can come in handy with different tools (\textit{e.g.}, a debugger, a compiler, or an interpreter) which might be developed independently, though are able to understand each other's information.
-
-\section{Interconnections}
-All of these axioms are related in some way, as the graph in Figure~\ref{fig:axioms_overview} shows.
-We now continue by explaining the links between all concepts, using their label:
-\begin{enumerate}
-\item As the Modelverse will be forever running, there is a need for garbage collection or periodical maintenance to guarantee a decent performance.
-\item Having everything explicitly modelled allows us to create a self-modifiable Modelverse, which helps us with the forever running axiom.
-\item In the presence of multiple users, it is necessary to have the Modelverse running as a service, which implies that it should run forever.
-\item Using the performance tests, combined with the MvK being modelled explicitly, it becomes possible to assess the scalability of the Modelverse algorithms under specific workloads.
-\item Scalability is deeply connected with interoperability, as there is often a trade-off: increasing interoperability will decrease scalability and vice versa.
-\item Having everything modelled explicitly requires the presence of at least a few basic formalisms. Ultimately, it also includes having a model of the Modelverse in the minimal content of the Modelverse.
-\item By modelling everything, we will inevitably also have to model the interaction with the human.
-\item The performance tests will use a performance model of the Modelverse, which is contained in the Modelverse. To that end, the Modelverse will simulate its own performance.
-\item Multi-view requires the ability to model everything, as we will have to model all different views separately.
-\item By modelling everything explicitly, we also need to model links between different formalisms, which is a requirement for multi-formalism models.
-\item Interoperability between different Modelverse components becomes easier if each component is modelled explicitly, as it clearly defines the expected semantics.
-\item Interoperability is an essential part of human interaction, as otherwise it would be impossible for both of them to communicate.
-\item Multi-view and multi-formalism are related due to a view being possibly expressed in a different formalism.
-\item Multi-view and multi-abstraction are related, as different views might be at different levels of abstraction.
-\end{enumerate}
-
-\begin{figure}
-    \center
-    \includegraphics[width=0.8\textwidth]{images/axioms_overview.eps}
-    \caption{Overview of relations between all axioms}
-    \label{fig:axioms_overview}
-\end{figure}

+ 0 - 489
techreport/general/bibliography.bib

@@ -1,489 +0,0 @@
-@ARTICLE{TSCS:GrandChallenge,
-  AUTHOR      = {Mosterman, Pieter J. and Vangheluwe, Hans},
-  TITLE       = {Computer {A}utomated {M}ulti-{P}aradigm {M}odeling:
-                 {A}n {I}ntroduction},
-  JOURNAL     = {Simulation: Transactions of the Society for Modeling
-                 and Simulation International},
-  YEAR        = 2004,
-  VOLUME      = 80,
-  NUMBER      = 9,
-  PAGES       = {433--450},
-  NOTE        = {Special Issue: Grand Challenges for Modeling and Simulation.}
-}
-
-
-@incollection{FTG+PM,
-    title={{FTG+PM: An Integrated Framework for Investigating Model Transformation Chains}},
-    author={Lucio, Levi and Mustafiz, Sadaf and Denil, Joachim and Vangheluwe, Hans and Jukss, Maris},
-    year={2013},
-    booktitle={SDL 2013: Model-Driven Dependability Engineering},
-    volume={7916},
-    series={Lecture Notes in Computer Science},
-    doi={10.1007/978-3-642-38911-5_11},
-    url={http://dx.doi.org/10.1007/978-3-642-38911-5\_11},
-    publisher={Springer},
-    pages={182-202},
-}
-
-@incollection{ExceptionalTransformations,
-    title={{Exceptional Transformations}},
-    author={Syriani, Eugene and Kienzle, J\"{o}rg and Vangheluwe, Hans},
-    year={2010},
-    isbn={978-3-642-13687-0},
-    booktitle={Theory and Practice of Model Transformations},
-    volume={6142},
-    series={Lecture Notes in Computer Science},
-    editor={Tratt, Laurence and Gogolla, Martin},
-    doi={10.1007/978-3-642-13688-7_14},
-    url={http://dx.doi.org/10.1007/978-3-642-13688-7\_14},
-    publisher={Springer},
-    pages={199-214},
-}
-
-@inproceedings{Kermeta,
- author = {Muller, Pierre-Alain and Fleurey, Franck and J{\'e}z{\'e}quel, Jean-Marc},
- title = {{Weaving Executability into Object-oriented Meta-languages}},
- booktitle = {Proceedings of the 8th International Conference on Model Driven Engineering Languages and Systems},
- series = {MoDELS'05},
- year = {2005},
- isbn = {3-540-29010-9, 978-3-540-29010-0},
- location = {Montego Bay, Jamaica},
- pages = {264--278},
- numpages = {15},
- url = {http://dx.doi.org/10.1007/11557432\_19},
- doi = {10.1007/11557432_19},
- acmid = {2155027},
- publisher = {Springer-Verlag},
- address = {Berlin, Heidelberg},
-}
-
-@article{WebGME,
-title = {{Online Collaborative Environment for Designing Complex Computational Systems}},
-journal = {Procedia Computer Science},
-volume = {29},
-number = {0},
-pages = {2432 -- 2441},
-year = {2014},
-note = {2014 International Conference on Computational Science},
-issn = {1877-0509},
-doi = {http://dx.doi.org/10.1016/j.procs.2014.05.227},
-url = {http://www.sciencedirect.com/science/article/pii/S1877050914004049},
-author = {Mikl\'{o}s Mar\'{o}ti and R\'{o}bert Keresk\'{e}nyi and Tam\'{a}s Kecsk\'{e}s and P\'{e}ter V\"{o}lgyesi and \'{A}kos L\'{e}deczi},
-}
-
-@InProceedings{AToMPM,
-  Title                    = {{AToMPM: A Web-based Modeling Environment}},
-  Author                   = {Eugene Syriani and Hans Vangheluwe and Raphael Mannadiar and Conner Hansen and Simon {Van Mierlo} and Huseyin Ergin},
-  Booktitle                = {MODELS'13 Demonstrations},
-  Year                     = {2013},
-}
-
-@InProceedings{Melanie,
-  Title                    = {{Melanie: Multi-level Modeling and Ontology Engineering Environment}},
-  Author                   = {Colin Atkinson and Ralph Gerbig},
-  Booktitle                = {Proceedings of the 2Nd International Master Class on Model-Driven Engineering: Modeling Wizards},
-  Year                     = {2012},
-
-  Address                  = {Innsbruck, Austria},
-  Pages                    = {7:1--7:2},
-  Publisher                = {ACM},
-  Series                   = {MW '12},
-
-  Date                     = {2012-01-01},
-  ISBN                     = {978-1-4503-1853-2},
-  Url                      = {http://doi.acm.org/10.1145/2448076.2448083}
-}
-
-@InProceedings{metaDepth,
-  Title                    = {{Deep Meta-Modelling with MetaDepth}},
-  Author                   = {de Lara, Juan and Guerra, Esther},
-  Booktitle                = {Proceedings of TOOLS, Lecture Notes in Computer Science vol. 6141},
-  Year                     = {2010},
-  Pages                    = {1--20},
-  Publisher                = {Springer},
-
-  File                     = {:N$\backslash$:/Documents/Unief/PhD/Literatuur/TOOLS.pdf:pdf},
-  Owner                    = {Simon},
-  Timestamp                = {2014.06.30}
-}
-
-@Article{24143,
-  Title                    = {{Petri nets: Properties, analysis and applications}},
-  Author                   = {Murata, T.},
-  Journal                  = {Proceedings of the IEEE},
-  Year                     = {1989},
-  Number                   = {4},
-  Pages                    = {541-580},
-  Volume                   = {77},
-
-  Doi                      = {10.1109/5.24143},
-  ISSN                     = {0018-9219},
-}
-
-@inproceedings{XMF-Mosaic,
-  Title                    = {{A Foundation for Multi-Level Modelling}},
-  Author                   = {Clark, Tony and
-                              Gonzalez-Perez, Cesar and
-                              Henderson-Sellers, Brian},
-  Year                     = {2014},
-  Pages                    = {43--52},
-  Booktitle                = {MULTI 2014 Multi-Level Modelling Workshop Proceedings},
-}
-
-@article{LevelAgnostic,
-  Title                    = {{On the search for a Level-Agnostic Modelling Language}},
-  Author                   = {Henderson-Sellers, Brian and
-                              Clark, Tony and
-                              Gonzalez-Perez, Cesar},
-  journal                  = {Lecture Notes in Computer Science},
-  volume                   = {7908},
-  pages                    = {240--255},
-  year                     = {2013},
-}
-
-@book{Smalltalk,
- author                    = {Goldberg, Adele and
-                              Robson, David},
- title                     = {{Smalltalk-80: The Language and Its Implementation}},
- year                      = {1983},
- isbn                      = {0-201-11371-6},
- publisher                 = {Addison-Wesley Longman Publishing Co., Inc.},
- address                   = {Boston, MA, USA},
-}
-
-@Misc{ALF,
-  Title                    = {{OMG ALF}},
-  HowPublished             = {http://www.omg.org/spec/ALF/},
-  Year                     = {2013}
-}
-
-@Misc{HUTN,
-  Title                    = {{UML Human Usable Textual Notation}},
-  HowPublished             = {http://www.omg.org/spec/HUTN/1.0},
-  Year                     = {2004}
-}
-
-@Misc{fUML,
-  title                    = {{Semantics of a Foundational Subset for Executable UML Models (FUML)}},
-  HowPublished             = {http://www.omg.org/spec/FUML/},
-  Year                     = {2013}
-}
-
-@Article{MattersOfMetamodelling,
-  Title                    = {{Matters of (Meta-)Modeling}},
-  Author                   = {K\"{u}hne, Thomas},
-  Journal                  = {Software and System Modeling},
-  Year                     = {2006},
-  Pages                    = {369--385},
-  Volume                   = {5},
-  Doi                      = {10.1007/s10270-006-0017-9},
-  ISSN                     = {16191366},
-  Keywords                 = {Metamodeling,Model driven engineering,Modelling,Token model,Type model,UML},
-  Mendeley-groups          = {Modelling Language Engineering},
-  Owner                    = {Simon},
-  Timestamp                = {2014.06.26}
-}
-
-@incollection{EOL,
-year={2006},
-isbn={978-3-540-35909-8},
-booktitle={Model Driven Architecture – Foundations and Applications},
-volume={4066},
-series={Lecture Notes in Computer Science},
-editor={Rensink, Arend and Warmer, Jos},
-doi={10.1007/11787044\_11},
-title={{The Epsilon Object Language (EOL)}},
-url={http://dx.doi.org/10.1007/11787044\_11},
-publisher={Springer Berlin Heidelberg},
-author={Kolovos, Dimitrios S. and Paige, Richard F. and Polack, Fiona A.C.},
-pages={128-142},
-language={English}
-}
-
-@incollection{txtUML,
-    year={2014},
-    author={D\'{e}va, Gergely and Kov\'{a}cs, G\'{a}bor Ferenc and Ancsin, \'{A}d\'{a}m},
-    title={{Textual, executable, translatable UML}},
-    series={14th International Workshop on OCL and Textual Modeling Applications and Case Studies},
-    pages={3--12},
-}
-
-@incollection{xMOF,
-year={2013},
-isbn={978-3-319-02653-4},
-booktitle={Software Language Engineering},
-volume={8225},
-series={Lecture Notes in Computer Science},
-editor={Erwig, Martin and Paige, RichardF. and Van Wyk, Eric},
-doi={10.1007/978-3-319-02654-1\_4},
-title={{xMOF: Executable DSMLs Based on fUML}},
-publisher={Springer International Publishing},
-author={Mayerhofer, Tanja and Langer, Philip and Wimmer, Manuel and Kappel, Gerti},
-pages={56--75},
-language={English}
-}
-
-@inproceedings{JavaUML,
-year={2014},
-title={{Towards integrating modeling and programming languages: The case of UML and Java}},
-author={Neubauer, Patrick and Mayerhofer, Tanja and Kappel, Gerti},
-series={Proceedings of the 2nd International Workshop on the Globalization of Modeling Languages},
-pages={23--32},
-}
-
-@inproceedings{Squeak,
- author = {Ingalls, Dan and Kaehler, Ted and Maloney, John and Wallace, Scott and Kay, Alan},
- title = {{Back to the Future: The Story of Squeak, a Practical Smalltalk Written in Itself}},
- booktitle = {Proceedings of the 12th ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications},
- series = {OOPSLA '97},
- year = {1997},
- isbn = {0-89791-908-4},
- location = {Atlanta, Georgia, USA},
- pages = {318--326},
- numpages = {9},
- url = {http://doi.acm.org/10.1145/263698.263754},
- doi = {10.1145/263698.263754},
- acmid = {263754},
- publisher = {ACM},
- address = {New York, NY, USA},
-}
-
-@inproceedings{DEVSinDEVS,
-  author = {Syriani, Eugene and
-            Vangheluwe, Hans and
-            Al Mallah, Amr},
-  title = {{Modelling and simulation-based design of a distributed DEVS simulator}},
-  booktitle = {Proceedings of the Winter Simulation Conference},
-  year = {2011},
-  pages = {3007--3021}
-}
-
-@inproceedings{PyPy,
- author = {Rigo, Armin and Pedroni, Samuele},
- title = {{PyPy's Approach to Virtual Machine Construction}},
- booktitle = {Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications},
- series = {OOPSLA '06},
- year = {2006},
- isbn = {1-59593-491-X},
- location = {Portland, Oregon, USA},
- pages = {944--953},
- numpages = {10},
- url = {http://doi.acm.org/10.1145/1176617.1176753},
- doi = {10.1145/1176617.1176753},
- acmid = {1176753},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {Python, metacircularity, retargettable code generation, type inference, virtual machine},
-} 
-
-@inproceedings{MULTI,
-  Title                    = {Multi-Level Modelling in the Modelverse},
-  Author                   = {Van Mierlo, Simon and
-                              Barroca, Bruno and
-                              Vangheluwe, Hans and
-                              Syriani, Eugene and
-                              K\"{u}hne, Thomas},
-  Year                     = {2014},
-  Pages                    = {83--92},
-  Booktitle                = {MULTI 2014 Multi-Level Modelling Workshop Proceedings},
-}
-
-@inproceedings{BrunoOntology,
-  author    = {Bruno Barroca and
-               Thomas K{\"{u}}hne and
-               Hans Vangheluwe},
-  title     = {Integrating Language and Ontology Engineering},
-  booktitle = {Proceedings of the 8th Workshop on Multi-Paradigm Modeling co-located
-               with the 17th International Conference on Model Driven Engineering
-               Languages and Systems, MPM@MODELS 2014, Valencia, Spain, September
-               30, 2014.},
-  pages     = {77--86},
-  year      = {2014},
-  url       = {http://ceur-ws.org/Vol-1237/paper8.pdf},
-  timestamp = {Thu, 18 Sep 2014 17:25:31 +0200},
-  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/models/BarrocaKV14},
-  bibsource = {dblp computer science bibliography, http://dblp.org}
-}
-
-@incollection{DynamicMetaModelling,
-    title={{Dynamic Meta Modeling: A Graphical Approach to the Operational Semantics of Behavioral Diagrams in UML}},
-    author={Engels, Gregor and 
-            Hausmann, Jan Hendrik and
-            Heckel, Reiko and
-            Sauer, Stefan},
-    year={2000},
-    isbn={978-3-540-41133-8},
-    booktitle={UML 2000 — The Unified Modeling Language},
-    volume={1939},
-    series={Lecture Notes in Computer Science},
-    editor={Evans, Andy and Kent, Stuart and Selic, Bran},
-    doi={10.1007/3-540-40011-7_23},
-    url={http://dx.doi.org/10.1007/3-540-40011-7_23},
-    publisher={Springer Berlin Heidelberg},
-    keywords={UML meta model; statechart diagrams; precise behavioral semantics; graph transformation},
-    pages={323-337},
-    language={English}
-}
-
-@inproceedings{TamingMultiParadigm,
-  author    = {Daniel Balasubramanian and
-               Tihamer Levendovszky and
-               Abhishek Dubey and
-               Gabor Karsai},
-  title     = {Taming Multi-Paradigm Integration in a Software Architecture Description
-               Language},
-  booktitle = {Proceedings of the 8th Workshop on Multi-Paradigm Modeling co-located
-               with the 17th International Conference on Model Driven Engineering
-               Languages and Systems, MPM@MODELS 2014, Valencia, Spain, September
-               30, 2014.},
-  pages     = {67--76},
-  year      = {2014},
-  url       = {http://ceur-ws.org/Vol-1237/paper7.pdf},
-}
-
-@inproceedings{AssemblyLanguage,
-  author    = {Fr{\'{e}}d{\'{e}}ric Jouault and
-               Massimo Tisi and
-               J{\'{e}}r{\^{o}}me Delatour},
-  title     = {fUML as an assembly language for {MDA}},
-  booktitle = {6th International Workshop on Modeling in Software Engineering, MiSE
-               2014, Hyderabad, India, June 2-3, 2014},
-  pages     = {61--64},
-  year      = {2014},
-  url       = {http://doi.acm.org/10.1145/2593770.2593778},
-  doi       = {10.1145/2593770.2593778},
-}
-
-@inproceedings{OpenSourceTools,
-  author    = {Zolt{\'{a}}n Micskei and
-               Raimund{-}Andreas Konnerth and
-               Benedek Horv{\'{a}}th and
-               Oszk{\'{a}}r Semer{\'{a}}th and
-               Andr{\'{a}}s V{\"{o}}r{\"{o}}s and
-               D{\'{a}}niel Varr{\'{o}}},
-  title     = {On Open Source Tools for Behavioral Modeling and Analysis with fUML
-               and Alf},
-  booktitle = {Proceedings of the 1st Workshop on Open Source Software for Model
-               Driven Engineering co-located with {ACM/IEEE} 17th International Conference
-               on Model Driven Engineering Languages {\&} Systems, OSS4MDE@MoDELS
-               2014, Valencia, Spain, September 28, 2014.},
-  pages     = {31--41},
-  year      = {2014},
-  url       = {http://ceur-ws.org/Vol-1290/paper3.pdf},
-  timestamp = {Thu, 22 Jan 2015 10:14:20 +0100},
-  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/models/MicskeiKHSVV14},
-  bibsource = {dblp computer science bibliography, http://dblp.org}
-}
-
-@inproceedings{RuntimeModelForFUML,
- author = {Mayerhofer, Tanja and Langer, Philip and Kappel, Gerti},
- title = {A Runtime Model for fUML},
- booktitle = {Proceedings of the 7th Workshop on Models@Run.Time},
- series = {MRT '12},
- year = {2012},
- isbn = {978-1-4503-1802-0},
- location = {Innsbruck, Austria},
- pages = {53--58},
- numpages = {6},
- url = {http://doi.acm.org/10.1145/2422518.2422527},
- doi = {10.1145/2422518.2422527},
- acmid = {2422527},
- publisher = {ACM},
- address = {New York, NY, USA},
-}
-
-@inproceedings{TowardsScalableExecutionTraces,
-  author    = {Erwan Bousse and
-               Beno{\^{\i}}t Combemale and
-               Benoit Baudry},
-  title     = {Towards Scalable Multidimensional Execution Traces for xDSMLs},
-  booktitle = {Proceedings of the 11th Workshop on Model-Driven Engineering, Verification
-               and Validation co-located with 17th International Conference on Model
-               Driven Engineering Languages and Systems, MoDeVVa@MODELS 2014, Valencia,
-               Spain, September 30, 2014.},
-  pages     = {13--18},
-  year      = {2014},
-  url       = {http://ceur-ws.org/Vol-1235/paper-03.pdf},
-  timestamp = {Thu, 18 Sep 2014 18:08:21 +0200},
-  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/models/BousseCB14},
-  bibsource = {dblp computer science bibliography, http://dblp.org}
-}
-
-@inproceedings{UMLWithMeaning,
-  author    = {Ed Seidewitz},
-  title     = {{UML} with meaning: executable modeling in foundational {UML} and
-               the Alf action language},
-  booktitle = {Proceedings of the 2014 {ACM} SIGAda annual conference on High integrity
-               language technology, {HILT} 2014, Portland, Oregon, USA, October 18-21,
-               2014},
-  pages     = {61--68},
-  year      = {2014},
-  url       = {http://doi.acm.org/10.1145/2663171.2663187},
-  doi       = {10.1145/2663171.2663187},
-  timestamp = {Thu, 30 Apr 2015 19:20:21 +0200},
-  biburl    = {http://dblp.uni-trier.de/rec/bib/conf/sigada/Seidewitz14},
-  bibsource = {dblp computer science bibliography, http://dblp.org}
-}
-
-@article{Finkelstein,
- author = {Finkelstein, A. and Fuks, H.},
- title = {Multiparty Specification},
- journal = {SIGSOFT Software Engineering Notes},
- issue_date = {May 1989},
- volume = {14},
- number = {3},
- month = apr,
- year = {1989},
- issn = {0163-5948},
- pages = {185--195},
- numpages = {11},
- url = {http://doi.acm.org/10.1145/75200.75228},
- doi = {10.1145/75200.75228},
- acmid = {75228},
- publisher = {ACM},
- address = {New York, NY, USA},
-} 
-
-@article{RearchitectingUML,
- author = {Atkinson, Colin and K\"{u}hne, Thomas},
- title = {Rearchitecting the UML Infrastructure},
- journal = {ACM Trans. Model. Comput. Simul.},
- issue_date = {October 2002},
- volume = {12},
- number = {4},
- month = oct,
- year = {2002},
- issn = {1049-3301},
- pages = {290--321},
- numpages = {32},
- url = {http://doi.acm.org/10.1145/643120.643123},
- doi = {10.1145/643120.643123},
- acmid = {643123},
- publisher = {ACM},
- address = {New York, NY, USA},
- keywords = {Metamodeling, UML infrastructure, classification, classification dimensions, deep instantiation, strict metamodeling, unified modeling language},
-}
-
-@incollection{RAMification,
-year={2010},
-booktitle={Models in Software Engineering},
-volume={6002},
-series={Lecture Notes in Computer Science},
-title={Explicit Transformation Modeling},
-publisher={Springer Berlin Heidelberg},
-author={K\"{u}hne, Thomas and Mezei, Gergely and Syriani, Eugene and Vangheluwe, Hans and Wimmer, Manuel},
-pages={240--255},
-}
-
-@inproceedings{languageRelaxation,
-  author    = {Rick Salay and
-               Marsha Chechik},
-  title     = {Supporting Agility in {MDE} Through Modeling Language Relaxation},
-  booktitle = {Proceedings of the Workshop on Extreme Modeling co-located with {ACM/IEEE}
-               16th International Conference on Model Driven Engineering Languages
-               {\&} Systems (MoDELS 2013), Miami, Florida, USA, September 29,
-               2013.},
-  pages     = {20--27},
-  year      = {2013},
-}
-

+ 0 - 37
techreport/general/conclusion.tex

@@ -1,37 +0,0 @@
-\chapter{Conclusion}
-In this paper, we described the Modelverse: a self-describable multi-paradigm modelling tool.
-Several axioms were presented, which served as guidelines while making decisions on the specification of the models.
-Our architecture was briefly presented, showing the distinction between the Interface (MvI), Kernel (MvK), and State (MvS).
-
-We presented a model of the Modelverse, which defines how an implementation has to behave.
-The model covers both the way data is represented (in the MvS), and the semantics of its action language constructs (in the MvK).
-
-Concerning data representation, we leave open how the graph could be physically implemented.
-This allows for a variety of implementations, allowing the developer to choose between available technologies.
-And as all implementations will be interoperable, users can try out different implementations and check whether it better matches with their goals.
-
-Concerning the action language, we described the execution context representation, and how language primitives modify this execution context.
-This needs to be explicitly specified if multiple tools need to interoperate on the same piece of execution data.
-For example, an external debugger can now access all internal execution data, as its representation has been specified.
-For performance, we allow implementations to ignore updates to the execution context, allowing for optimized execution or primitive operations.
-This allows users to achieve higher efficiency, for example through compiled functions, although limiting debugability.
-
-Tools can create and use additional elements in the execution context, which can be interpreted by compatible tools.
-However, tools have no obligation to support all these additional elements.
-An example is additional debugging information, such as tracing information.
-
-By splitting up the components of the Modelverse, and requiring that all parts need to be explicitly modelled, we arrived at different notions of conformance.
-We distinguished between a conformance closer to the physical level (conformance$_\perp$), and a linguistic type of conformance closer to the user level (conformance$_L$).
-Whereas the physical notion allows users to circumvent strict metamodelling, by switching to a graph representation, linguistic conformance allows the MvK, and ultimately the user through the MvI, to reason about the model in a level that is close to the problem domain.
-
-In future work, we will create a reference implementation of this specification.
-Apart from the reference implementation, multiple variations of components will be created, each with a different goal.
-
-After the creation of the reference implementation, the implementation will be scaled up to a distributed and parallel version.
-
-Multiple Modelverse Interfaces will also be created, each with a different kind of user in mind.
-First, a textual HUTN interface will be created.
-Afterwards, a graphical tool will be created.
-
-Our different notions of conformance will also be further extended with the introduction of ontological conformance.
-This would allow us to have three different kinds of mappings: physical, linguistic, and ontological~\cite{BrunoOntology}.

+ 0 - 261
techreport/general/conformance.tex

@@ -1,261 +0,0 @@
-\chapter{Conformance}
-Model management operations (\textit{e.g.}, conformance checking, or versioning) frequently act upon both the model and the metamodel, or should be applicable on all models, independently of their metamodel.
-As such, they are often in conflict with the principle of strict metamodelling.
-We try to find a balance between strict metamodelling (\axiomHumanInteraction), and the principle of modelling everything explicitly (\axiomModelEverything).
-
-By introducing multiple definitions of conformance, we can keep strict metamodelling while still implementing such model management functions.
-The basic idea is to allow a single model to conform to multiple metamodels.
-The conceptual graph, representing the model, is interpreted depending on the metamodel being used.
-Examples of metamodels might be a domain-specific metamodel (\textit{e.g.}, a Petri Net metamodel), or a more physically-oriented metamodel (\textit{e.g.}, a Graph metamodel).
-Depending on the interpretation given to the levels, different level hierarchies are constructed.
-It is these level hierarchies that impose the restrictions on strict metamodelling.
-
-\begin{figure}
-    \center
-    \includegraphics[width=0.4\columnwidth]{images/RelationLingPhys.pdf}
-    \caption{Different conformance relations}
-    \label{fig:conformance}
-\end{figure}
-
-Fig.~\ref{fig:conformance} presents some different notions of conformance that can be devised on the Modelverse.
-While the amount of conformance relations can vary, each model will have a mapping to the PTM, which is required to physically represent the model.
-And it will have a mapping to the Linguistic Type Model (LTM), using conformance$_\perp$.
-This relates to \axiomMultiView, as a single model can be seen from different views, and relates to \axiomInteroperability, as it allows for the uniform representation of all data.
-
-\section{Graph conformance}
-As all our data is (conceptually) represented using a graph, the graph instance can also be interpreted as a linguistic instance of a graph metamodel.
-Because all defined CRUD operations constrain the result to a well-formed graph, all models in the Modelverse conform to this metamodel by construction.
-Every model represented in the Modelverse is conceptually representable as a graph.
-Knowing this, the complete Modelverse can be flattened to a single level, which conforms to the graph formalism.
-Within this single level, all operations and links between elements are non-level crossing, and are therefore correctly typed (by the graph metamodel).
-Note however, that these methods are unable to guarantee conformance to any linguistic metamodel, apart from the graph metamodel.
-As such, all multi-formalism models can also be represented using this single metamodel, thus partially addressing \axiomMultiFormalism and \axiomMultiAbstraction.
-Multiple users (\axiomMultiUser) can also use this view to collaborate on a single model, while having different interpretations of it.
-
-\section{Linguistic conformance}
-Finally there is the linguistic conformance between the model and the metamodel, which is necessary to complete the support for our axioms (\axiomHumanInteraction).
-It is the highest level, and offers the most features to the user, but is also the most fragile.
-Linguistic conformance cannot be guaranteed at all, and requires continuous checking to make sure it is enforced for the desired model and metamodel.
-In contrast, conformance$_\perp$ was guaranteed by design.
-
-Because a conformance$_L$ view is only a specific view on a model, a single model can conform to multiple metamodels.
-The function $conforms : \mathcal{G} \times \mathcal{G} \times 2^{IDS \rightarrow IDS} \rightarrow \mathbb{B}$ is defined to determine linguistic conformance, and can be implemented by the user.
-It takes three parameters: two graphs --- a model and a metamodel, both subgraphs of the MvS graph --- and a mapping between them.
-This mapping encapsulates all typing information, thus typing is completely separated from the model and metamodels.
-Since multiple mappings can be stored, multiple typing relations are supported.
-During syntax-directed editing, a mapping will be constructed (and used) with the information provided by the user.
-Retyping can be done by modifying the mapping, and checking conformance afterwards.
-
-We define a possible conformance$_L$ relation, to be seen as an example of our approach.
-This relation bases itself on the top level model: the Model at the MetaCircular Level (MMCL).
-In this model, we have three basic elements: a \textit{Class} (mapped to nodes), an \textit{Association} (connecting classes; mapped to edges), and \textit{Inheritance} between classes (mapping to the union type).
-Using \textit{Inheritance}, the \textit{Association} becomes a special kind of \textit{Class} in our MMCL.
-We call our example conformance relation \textit{conformance$_\alpha$} to indicate that it is one of many possible implementations.
-
-First, we define a subfunction which defines transitive closure of inheritance links, where $A \leq B$ means that $A$ is a (possibly indirect) subclass of $B$.
-$A \xrightarrow{{} \inheritancearrow {}} B$ means that there is an association, typed by the \textit{Inheritance} link, from $A$ to $B$.
-
-\begin{align*}
-A \xrightarrow{{} \inheritancearrow {}} B      &\Rightarrow A \leq B \\
-A \leq C \land C \leq B &\Rightarrow A \leq B \\
-A == B                  &\Rightarrow A \leq B \\
-\end{align*}
-
-A conformance relation for the primitive elements is defined, constraining the provided map.
-
-\begin{gather*}
-conforms: (N \cup E) \times (N \cup E) \times 2^{IDS \times IDS} \rightarrow \mathbb{B} \\
-conforms(x, y, m) =
-\left\{ \begin{array}{lr}
-N_T(N_V(x)) == N_V(y) & if~x, y \in dom(N_V) \land (x,y) \in m \\         % Primitives
-True & if~x, y \in N \land x, y \not\in dom(N_V) \land (x,y) \in m \\     % Nodes
-conforms(x_s, y_s, m) \land conforms(x_t, y_t, m)   & if~(x, y), (x_s, y_s), (x_t, y_t) \in m \land (x_s, x, x_t), (y_s, y, y_t) \in E \\ % Edges
-False & else \\                                                           % Else
-\end{array}
-\right.
-\end{gather*}
-
-The first line is for nodes with a primitive value: a node $x$ conforms to a node $y$ if both nodes have a value, with the type of the value of node $x$ being the value of node $y$.
-The second line is for nodes without a primitive value: a node $x$ conforms to a node $y$ if such a mapping exists in the provided mapping.
-Neither node is allowed to have a primitive value.
-The third line is for edges: an edge $x$ conforms to an edge $y$ if their sources and targets conform to each other.
-It is thus basically a recursive call.
-However, there is no possibility for an infinite loop, because of our restriction on the IDs of edges: the source and target ID are always smaller than the ID of the edge.
-The final line is for all other cases (\textit{e.g.}, comparing nodes to edges, or primitives to non-primitives), in which case there is no conformance possible.
-
-Finally, $conforms_{\alpha,G}: \mathcal{G} \times \mathcal{G} \times 2^{IDS \rightarrow IDS} \rightarrow \mathbb{B}$ is the actual conformance function being called.
-It tries to find a mapping between the specified model and metamodel, for which the conforms function holds.
-
-\begin{gather*}
-conforms_{\alpha,G}(M, MM, map) = True \\
-\Leftrightarrow \\
-map' = \lbrace (a, b) \; \vert \; a \in IDS_M, b \in IDS_{MM} \rbrace \\
-\forall n \in N_M : \exists n' \in N_{MM} . conforms(n, n', map') \\
-\forall e \in IDS_{E, M} : \exists e' \in IDS_{E, MM} . conforms(e, e', map') \\
-\forall (a_i, b_i), (a_i, b_j) \in map' : (b_i \leq b_j) \\
-\forall (a_i, b_i) \in map' : (a_i \rightarrow b_k) \in map \land b_k \leq b_i \\
-\forall a, b \in IDS : a \leq b \land b \leq a \Rightarrow a == b
-\end{gather*}
-
-A map is generated which contains all possible mappings between the model and metamodel.
-This map is then constrained by enforcing a mapping for the nodes and edges.
-Source and target of the edges are recursively checked for conformance using the mapping.
-We finally prune the set of possible mappings by only keeping a single type mapping for every node, with the exception being subclasses.
-Finally, this mapping is pruned to a function by keeping the most specific (or a more specific) subclass of all present mappings.
-
-Just like a model can conform to multiple metamodels, a model can also conform to the same metamodel multiple times, with different mappings.
-
-Using this function, we can now check whether a model conforms to a specified metamodel, using a specified mapping.
-It is also possible to generate a set of all possible mappings between a model and a metamodel.
-
-\begin{gather*}
-MAP = 2^{IDS \rightarrow IDS} \\
-mappings_{\alpha,G} : \mathcal{G} \times \mathcal{G} \rightarrow 2^{MAP} \\
-mappings_{\alpha,G}(M, MM) = s \\
-s = \lbrace map \in MAP \; \vert \; conforms_{\alpha,G}(M, MM, map) \rbrace\\
-\end{gather*}
-
-\section{MMCL}
-\begin{lstlisting}[caption=HUTN$_\perp$ construction of the MMCL,float,label=listing:mmcl0]
-Node Class()
-Value Type(Type)
-Value String(String)
-Edge Attribute_ (Class, Type)
-Edge AttributeAttrs (Attribute_, Type)
-Edge Attribute (Class, Type)
-Edge Name (Attribute, String)
-Edge Association (Class, Class)
-Edge Inheritance (Class, Class)
-Edge inherit_association (Association, Class)
-Edge inherit_attribute (Attribute_, Class)
-\end{lstlisting}
-
-\begin{lstlisting}[caption=HUTN$_L$ construction of the MMCL,float,label=listing:mmcl1]
-Class Class()
-Type Type(Type)
-Type String(String)
-Attribute_ Attribute_ (Class, Type)
-Attribute_ AttributeAttrs (Attribute_, Type)
-Attribute_ Attribute (Class, Type)
-AttributeAttrs Name (Attribute, String)
-Association Association (Class, Class)
-Association Inheritance (Class, Class)
-Inheritance (Association, Class)
-Inheritance (Attribute_, Class)
-\end{lstlisting}
-
-We present an encoding of our MMCL, in Listing~\ref{listing:mmcl0}, using the HUTN language respecting conformance$_\perp$.
-The action code in this language is translated to an abstract syntax graph in the Modelverse, by a HUTN compiler.
-The HUTN compiler lives in a Modelverse Interface (MvI).
-
-Using this MMCL, we can now re-encode it, as in Listing~\ref{listing:mmcl1}, now using the HUTN language with conformance$_L$.
-Alternatively, it is possible to directly use the definition in Listing~\ref{listing:mmcl1}, as elements can directly be typed by themselves in the Modelverse.
-
-Finally, we encode our conformance checking algorithm, in Listing~\ref{listing:conforms}, using the HUTN action language.
-With this example we show
-(1) an example of modelling, as the action code is a model, and thus an element of the Modelverse;
-(2) an example of our action code;
-(3) the possibility for reflection and introspection, as the conformance check can also run on itself, to check whether or not it conforms to some kind of metamodel; and
-(4) the possibility for metamodelling, as type hierarchies can be built using the provided conformance function.
-
-\begin{lstlisting}[caption=HUTN conformance check algorithm,label=listing:conforms]
-include "primitives.al"
-
-Element function set_copy(elem : Element):
-    Element result
-    Integer counter
-    Integer max
-
-    result = create_node()
-
-    // Expand the provided list by including all elements that need to be checked
-    counter = 0
-    max = read_nr_out(elem)
-    while (integer_lt(counter, max)):
-        set_add(result, read_edge_dst(read_out(elem, counter)))
-        counter = integer_addition(counter, 1)
-
-    return result
-
-Boolean function is_subclass_of(superclass : Element, subclass : Element, types : Element, inheritance_link : Element):
-    Integer counter_iso
-    Integer i
-    Element edge
-    Element destination
-
-    if (element_eq(superclass, subclass)):
-        return True
-
-    counter_iso = read_nr_out(subclass)
-    i = 0
-    while (integer_lt(i, counter_iso)):
-        edge = read_out(subclass, i)
-        if (dict_in_node(types, edge)):
-            if (element_eq(dict_read_node(types, edge), inheritance_link)):
-                // It is an inheritance edge, so follow it to its destination
-                destination = read_edge_dst(edge)
-                if (is_subclass_of(superclass, destination, types, inheritance_link)):
-                    return True
-        i = integer_addition(i, 1)
-
-    // No link seems to have been found, so it is False
-    return False
-
-String function conformance_scd(model : Element, extra : Element):
-    // Initialization
-    Element work_conf
-    Element model_src
-    Element metamodel_src
-    Element model_dst
-    Element metamodel_dst
-    Element models
-    Element metamodels
-    models = set_copy(model)
-
-    Element typing
-    typing = dict_read(extra, "typing")
-    metamodels = set_copy(dict_read_node(typing, model))
-    Element inheritance
-    inheritance = dict_read(extra, "inheritance")
-
-    // Iterate over all model elements and check if they are typed (in "typing") and their type is in the metamodel
-    while (integer_gt(dict_len(models), 0)):
-        work_conf = set_pop(models)
-        // Basic check: does the element have a type
-        if (bool_not(dict_in_node(typing, work_conf))):
-            return string_join("Model has no type specified: ", cast_e2s(work_conf))
-
-        // Basic check: is the type of the element part of the metamodel
-        if (bool_not(set_in(metamodels, dict_read_node(typing, work_conf)))):
-            return string_join("Type of element not in specified metamodel: ", cast_e2s(work_conf))
-
-        // Basic check: type of the value agrees with the actual type
-        // this is always checked, as it falls back to a sane default for non-values
-        if (bool_not(type_eq(dict_read_node(typing, work_conf), typeof(work_conf)))):
-            output(dict_read_node(typing, work_conf))
-            output(typeof(work_conf))
-            return string_join("Primitive type does not agree with actual type: ", cast_e2s(work_conf))
-
-        // For edges only: check whether the source is typed according to the metamodel
-        if (is_edge(work_conf)):
-            model_src = read_edge_src(work_conf)
-            metamodel_src = read_edge_src(dict_read_node(typing, work_conf))
-            if (bool_not(is_subclass_of(metamodel_src, dict_read_node(typing, model_src), typing, inheritance))):
-                return string_join("Source of model edge not typed by source of type: ", cast_e2s(work_conf))
-
-        // For edges only: check whether the destination is typed according to the metamodel
-        if (is_edge(work_conf)):
-            model_dst = read_edge_dst(work_conf)
-            metamodel_dst = read_edge_dst(dict_read_node(typing, work_conf))
-            if (bool_not(is_subclass_of(metamodel_dst, dict_read_node(typing, model_dst), typing, inheritance))):
-                return string_join("Destination of model edge not typed by destination of type: ", cast_e2s(work_conf))
-
-    return "OK"
-\end{lstlisting}
-
-\begin{figure}
-    \center
-    \includegraphics[width=0.8\textwidth]{images/conformance_petrinet.pdf}
-    \label{fig:conformance_petrinet}
-    \caption{Conformance example for a petri net.}
-\end{figure}

+ 0 - 215
techreport/general/epsf.sty

@@ -1,215 +0,0 @@
-%   EPSF.TEX macro file:
-%   Written by Tomas Rokicki of Radical Eye Software, 29 Mar 1989.
-%   Revised by Don Knuth, 3 Jan 1990.
-%   Revised by Tomas Rokicki to accept bounding boxes with no
-%      space after the colon, 18 Jul 1990.
-%
-%   TeX macros to include an Encapsulated PostScript graphic.
-%   Works by finding the bounding box comment,
-%   calculating the correct scale values, and inserting a vbox
-%   of the appropriate size at the current position in the TeX document.
-%
-%   To use with the center environment of LaTeX, preface the \epsffile
-%   call with a \leavevmode.  (LaTeX should probably supply this itself
-%   for the center environment.)
-%
-%   To use, simply say
-%   \input epsf           % somewhere early on in your TeX file
-%   \epsfbox{filename.ps} % where you want to insert a vbox for a figure
-%
-%   Alternatively, you can type
-%
-%   \epsfbox[0 0 30 50]{filename.ps} % to supply your own BB
-%
-%   which will not read in the file, and will instead use the bounding
-%   box you specify.
-%
-%   The effect will be to typeset the figure as a TeX box, at the
-%   point of your \epsfbox command. By default, the graphic will have its
-%   `natural' width (namely the width of its bounding box, as described
-%   in filename.ps). The TeX box will have depth zero.
-%
-%   You can enlarge or reduce the figure by saying
-%     \epsfxsize=<dimen> \epsfbox{filename.ps}
-%   (or
-%     \epsfysize=<dimen> \epsfbox{filename.ps})
-%   instead. Then the width of the TeX box will be \epsfxsize and its
-%   height will be scaled proportionately (or the height will be
-%   \epsfysize and its width will be scaled proportiontally).  The
-%   width (and height) is restored to zero after each use.
-%
-%   A more general facility for sizing is available by defining the
-%   \epsfsize macro.    Normally you can redefine this macro
-%   to do almost anything.  The first parameter is the natural x size of
-%   the PostScript graphic, the second parameter is the natural y size
-%   of the PostScript graphic.  It must return the xsize to use, or 0 if
-%   natural scaling is to be used.  Common uses include:
-%
-%      \epsfxsize  % just leave the old value alone
-%      0pt         % use the natural sizes
-%      #1          % use the natural sizes
-%      \hsize      % scale to full width
-%      0.5#1       % scale to 50% of natural size
-%      \ifnum#1>\hsize\hsize\else#1\fi  % smaller of natural, hsize
-%
-%   If you want TeX to report the size of the figure (as a message
-%   on your terminal when it processes each figure), say `\epsfverbosetrue'.
-%
-\newread\epsffilein    % file to \read
-\newif\ifepsffileok    % continue looking for the bounding box?
-\newif\ifepsfbbfound   % success?
-\newif\ifepsfverbose   % report what you're making?
-\newif\ifepsfdraft     % use draft mode?
-\newdimen\epsfxsize    % horizontal size after scaling
-\newdimen\epsfysize    % vertical size after scaling
-\newdimen\epsftsize    % horizontal size before scaling
-\newdimen\epsfrsize    % vertical size before scaling
-\newdimen\epsftmp      % register for arithmetic manipulation
-\newdimen\pspoints     % conversion factor
-%
-\pspoints=1bp          % Adobe points are `big'
-\epsfxsize=0pt         % Default value, means `use natural size'
-\epsfysize=0pt         % ditto
-%
-\def\epsfbox#1{\global\def\epsfllx{72}\global\def\epsflly{72}%
-   \global\def\epsfurx{540}\global\def\epsfury{720}%
-   \def\lbracket{[}\def\testit{#1}\ifx\testit\lbracket
-   \let\next=\epsfgetlitbb\else\let\next=\epsfnormal\fi\next{#1}}%
-%
-\def\epsfgetlitbb#1#2 #3 #4 #5]#6{\epsfgrab #2 #3 #4 #5 .\\%
-   \epsfsetgraph{#6}}%
-%
-\def\epsfnormal#1{\epsfgetbb{#1}\epsfsetgraph{#1}}%
-%
-\def\epsfgetbb#1{%
-%
-%   The first thing we need to do is to open the
-%   PostScript file, if possible.
-%
-\openin\epsffilein=#1
-\ifeof\epsffilein\errmessage{I couldn't open #1, will ignore it}\else
-%
-%   Okay, we got it. Now we'll scan lines until we find one that doesn't
-%   start with %. We're looking for the bounding box comment.
-%
-   {\epsffileoktrue \chardef\other=12
-    \def\do##1{\catcode`##1=\other}\dospecials \catcode`\ =10
-    \loop
-       \read\epsffilein to \epsffileline
-       \ifeof\epsffilein\epsffileokfalse\else
-%
-%   We check to see if the first character is a % sign;
-%   if not, we stop reading (unless the line was entirely blank);
-%   if so, we look further and stop only if the line begins with
-%   `%%BoundingBox:'.
-%
-          \expandafter\epsfaux\epsffileline:. \\%
-       \fi
-   \ifepsffileok\repeat
-   \ifepsfbbfound\else
-    \ifepsfverbose\message{No bounding box comment in #1; using defaults}\fi\fi
-   }\closein\epsffilein\fi}%
-%
-%   Now we have to calculate the scale and offset values to use.
-%   First we compute the natural sizes.
-%
-\def\epsfclipon{\def\epsfclipstring{ clip}}%
-\def\epsfclipoff{\def\epsfclipstring{\ifepsfdraft\space clip\fi}}%
-\epsfclipoff
-%
-\def\epsfsetgraph#1{%
-   \epsfrsize=\epsfury\pspoints
-   \advance\epsfrsize by-\epsflly\pspoints
-   \epsftsize=\epsfurx\pspoints
-   \advance\epsftsize by-\epsfllx\pspoints
-%
-%   If `epsfxsize' is 0, we default to the natural size of the picture.
-%   Otherwise we scale the graph to be \epsfxsize wide.
-%
-   \epsfxsize\epsfsize\epsftsize\epsfrsize
-   \ifnum\epsfxsize=0 \ifnum\epsfysize=0
-      \epsfxsize=\epsftsize \epsfysize=\epsfrsize
-      \epsfrsize=0pt
-%
-%   We have a sticky problem here:  TeX doesn't do floating point arithmetic!
-%   Our goal is to compute y = rx/t. The following loop does this reasonably
-%   fast, with an error of at most about 16 sp (about 1/4000 pt).
-% 
-     \else\epsftmp=\epsftsize \divide\epsftmp\epsfrsize
-       \epsfxsize=\epsfysize \multiply\epsfxsize\epsftmp
-       \multiply\epsftmp\epsfrsize \advance\epsftsize-\epsftmp
-       \epsftmp=\epsfysize
-       \loop \advance\epsftsize\epsftsize \divide\epsftmp 2
-       \ifnum\epsftmp>0
-          \ifnum\epsftsize<\epsfrsize\else
-             \advance\epsftsize-\epsfrsize \advance\epsfxsize\epsftmp \fi
-       \repeat
-       \epsfrsize=0pt
-     \fi
-   \else \ifnum\epsfysize=0
-     \epsftmp=\epsfrsize \divide\epsftmp\epsftsize
-     \epsfysize=\epsfxsize \multiply\epsfysize\epsftmp   
-     \multiply\epsftmp\epsftsize \advance\epsfrsize-\epsftmp
-     \epsftmp=\epsfxsize
-     \loop \advance\epsfrsize\epsfrsize \divide\epsftmp 2
-     \ifnum\epsftmp>0
-        \ifnum\epsfrsize<\epsftsize\else
-           \advance\epsfrsize-\epsftsize \advance\epsfysize\epsftmp \fi
-     \repeat
-     \epsfrsize=0pt
-    \else
-     \epsfrsize=\epsfysize
-    \fi
-   \fi
-%
-%  Finally, we make the vbox and stick in a \special that dvips can parse.
-%
-   \ifepsfverbose\message{#1: width=\the\epsfxsize, height=\the\epsfysize}\fi
-   \epsftmp=10\epsfxsize \divide\epsftmp\pspoints
-   \vbox to\epsfysize{\vfil\hbox to\epsfxsize{%
-      \ifnum\epsfrsize=0\relax
-        \special{PSfile=\ifepsfdraft psdraft.ps\else#1\fi\space
-             llx=\epsfllx\space lly=\epsflly\space
-             urx=\epsfurx\space ury=\epsfury\space rwi=\number\epsftmp
-             \epsfclipstring}%
-      \else
-        \epsfrsize=10\epsfysize \divide\epsfrsize\pspoints
-        \special{PSfile=\ifepsfdraft psdraft.ps\else#1\fi\space
-             llx=\epsfllx\space lly=\epsflly\space
-             urx=\epsfurx\space ury=\epsfury\space rwi=\number\epsftmp\space
-             rhi=\number\epsfrsize \epsfclipstring}%
-      \fi
-      \hfil}}%
-\global\epsfxsize=0pt\global\epsfysize=0pt}%
-%
-%   We still need to define the tricky \epsfaux macro. This requires
-%   a couple of magic constants for comparison purposes.
-%
-{\catcode`\%=12 \global\let\epsfpercent=%\global\def\epsfbblit{%BoundingBox}}%
-%
-%   So we're ready to check for `%BoundingBox:' and to grab the
-%   values if they are found.
-%
-\long\def\epsfaux#1#2:#3\\{\ifx#1\epsfpercent
-   \def\testit{#2}\ifx\testit\epsfbblit
-      \epsfgrab #3 . . . \\%
-      \epsffileokfalse
-      \global\epsfbbfoundtrue
-   \fi\else\ifx#1\par\else\epsffileokfalse\fi\fi}%
-%
-%   Here we grab the values and stuff them in the appropriate definitions.
-%
-\def\epsfempty{}%
-\def\epsfgrab #1 #2 #3 #4 #5\\{%
-\global\def\epsfllx{#1}\ifx\epsfllx\epsfempty
-      \epsfgrab #2 #3 #4 #5 .\\\else
-   \global\def\epsflly{#2}%
-   \global\def\epsfurx{#3}\global\def\epsfury{#4}\fi}%
-%
-%   We default the epsfsize macro.
-%
-\def\epsfsize#1#2{\epsfxsize}
-%
-%   Finally, another definition for compatibility with older macros.
-%
-\let\epsffile=\epsfbox

BIN
techreport/general/images/Modelverse.pdf


+ 0 - 425
techreport/general/images/Modelverse.svg

@@ -1,425 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   id="svg2"
-   version="1.1"
-   inkscape:version="0.48.5 r10040"
-   width="276.66025"
-   height="117.87283"
-   xml:space="preserve"
-   sodipodi:docname="Modelverse.pdf"><metadata
-     id="metadata8"><rdf:RDF><cc:Work
-         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
-     id="defs6" /><sodipodi:namedview
-     pagecolor="#ffffff"
-     bordercolor="#666666"
-     borderopacity="1"
-     objecttolerance="10"
-     gridtolerance="10"
-     guidetolerance="10"
-     inkscape:pageopacity="0"
-     inkscape:pageshadow="2"
-     inkscape:window-width="1790"
-     inkscape:window-height="1422"
-     id="namedview4"
-     showgrid="false"
-     inkscape:zoom="3.6293311"
-     inkscape:cx="134.83208"
-     inkscape:cy="52.314662"
-     inkscape:window-x="0"
-     inkscape:window-y="16"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="g10" /><g
-     id="g10"
-     inkscape:groupmode="layer"
-     inkscape:label="Modelverse"
-     transform="matrix(1.25,0,0,-1.25,0,117.87283)"><text
-       id="text14"
-       transform="scale(1,-1)"
-       x="182.43848"
-       y="-87.612328"><tspan
-         id="tspan16"
-         sodipodi:role="line"
-         style="font-size:8.80000019px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans-Bold"
-         x="182.43848"
-         y="-87.612328">MvS</tspan></text>
-<text
-       id="text18"
-       transform="scale(1.1052783,-0.90474952)"
-       x="59.262783"
-       y="-96.698273"
-       style="font-size:10.85699463px"><tspan
-         id="tspan20"
-         sodipodi:role="line"
-         y="-96.698273"
-         x="59.262783 68.018784 73.747581"
-         style="font-size:8.80000019px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans-Bold">MvK</tspan></text>
-<text
-       id="text22"
-       transform="scale(1,-1)"
-       x="11.363914"
-       y="-87.612328"><tspan
-         id="tspan24"
-         sodipodi:role="line"
-         style="font-size:8.80000019px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans-Bold"
-         x="11.363914"
-         y="-87.612328">MvI</tspan></text>
-<g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g26"><path
-         inkscape:connector-curvature="0"
-         id="path28"
-         style="fill:none;stroke:#000000;stroke-width:0.75819701;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 52.336,94.051 0,-80.719" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g30"><path
-         inkscape:connector-curvature="0"
-         id="path32"
-         style="fill:none;stroke:#000000;stroke-width:0.75819701;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 50.621,94.051 0,-80.719" /></g><text
-       id="text58"
-       transform="scale(1.1052783,-0.90474952)"
-       x="51.781845"
-       y="-15.086186"
-       style="font-size:10.85699463px"><tspan
-         id="tspan60"
-         sodipodi:role="line"
-         y="-15.086186"
-         x="51.781845 56.677845 61.229843 66.149841 69.285843 72.573845 74.789848 80.773842 85.693848"
-         style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans">aPetriNet</tspan></text>
-<g
-       id="g3322"><text
-         style="font-size:10.85699463px"
-         y="-66.704163"
-         x="58.160751"
-         transform="scale(1.1052783,-0.90474952)"
-         id="text34"><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="58.160751 65.056747 71.952751 77.536751"
-           y="-66.704163"
-           sodipodi:role="line"
-           id="tspan36">MMCL</tspan></text>
-<g
-         id="g38"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 69.203,24.816 0,-11.718 15.957,0 0,10.91"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.8, 0.8;stroke-dashoffset:0"
-           id="path40"
-           inkscape:connector-curvature="0" /></g><g
-         id="g42"
-         transform="matrix(0,-1,-1,0,0,94.298264)"><path
-           d="m 25.852,-85.16 -2.766,1.598 0,-3.2 2.766,1.602 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path44"
-           inkscape:connector-curvature="0" /></g><text
-         style="font-size:10.85699463px"
-         y="-40.892929"
-         x="54.082626"
-         transform="scale(1.1052783,-0.90474952)"
-         id="text46"><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="54.082626 58.626625 63.546627 66.682625 69.970627 72.186623 78.170624 83.09063"
-           y="-40.892929"
-           sodipodi:role="line"
-           id="tspan48">PetriNet</tspan></text>
-<g
-         id="g50"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 77.883,49.363 0,-11.945"
-           style="fill:none;stroke:#000000;stroke-width:0.64837497;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.648375, 0.648375;stroke-dashoffset:0"
-           id="path52"
-           inkscape:connector-curvature="0" /></g><g
-         id="g54"
-         transform="matrix(0,1,1,0,0,94.298264)"><path
-           d="m -35.922,77.883 -2.246,1.297 0,-2.594 2.246,1.297 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.32418799;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path56"
-           inkscape:connector-curvature="0" /></g><g
-         id="g62"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 77.883,72.711 0,-11.941"
-           style="fill:none;stroke:#000000;stroke-width:0.64837497;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:0.648375, 0.648375;stroke-dashoffset:0"
-           id="path64"
-           inkscape:connector-curvature="0" /></g><g
-         id="g66"
-         transform="matrix(0,1,1,0,0,94.298264)"><path
-           d="m -59.273,77.883 -2.243,1.297 0,-2.594 2.243,1.297 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.32418799;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path68"
-           inkscape:connector-curvature="0" /></g><text
-         y="-1.3312531"
-         x="66.653641"
-         transform="scale(1,-1)"
-         id="text70"><tspan
-           style="font-size:6.4000001px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="66.653641 70.103241 74.013641 78.071236 79.84404 83.357643 87.274437"
-           y="-1.3312531"
-           sodipodi:role="line"
-           id="tspan72">Logical</tspan></text>
-</g><g
-       id="g3301"><g
-         id="g92"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 10.684,53.07 c 0,2.84 -2.305,5.141 -5.145,5.141 -2.84,0 -5.144,-2.301 -5.144,-5.141 0,-2.84 2.304,-5.144 5.144,-5.144 2.84,0 5.145,2.304 5.145,5.144 z"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path94"
-           inkscape:connector-curvature="0" /></g><g
-         id="g96"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 39.824,64.641 c 0,2.839 -2.301,5.144 -5.14,5.144 -2.84,0 -5.145,-2.305 -5.145,-5.144 0,-2.84 2.305,-5.145 5.145,-5.145 2.839,0 5.14,2.305 5.14,5.145 z"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path98"
-           inkscape:connector-curvature="0" /></g><g
-         id="g100"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 40.109,42.355 c 0,2.84 -2.3,5.141 -5.14,5.141 -2.84,0 -5.145,-2.301 -5.145,-5.141 0,-2.839 2.305,-5.144 5.145,-5.144 2.84,0 5.14,2.305 5.14,5.144 z"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path102"
-           inkscape:connector-curvature="0" /></g><path
-         d="m 19.109,48.372 3.285,0 0,-13.145 -3.285,0 0,13.145 z"
-         style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
-         id="path104"
-         inkscape:connector-curvature="0" /><g
-         id="g106"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 10.617,53.02 6.27,0"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path108"
-           inkscape:connector-curvature="0" /></g><g
-         id="g110"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 18.73,53.02 -2.765,1.597 0,-3.199 2.765,1.602 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path112"
-           inkscape:connector-curvature="0" /></g><g
-         id="g114"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 21.328,52.742 7.57,-5.57"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path116"
-           inkscape:connector-curvature="0" /></g><g
-         id="g118"
-         transform="matrix(1,0.73585,0.73585,-1,0,94.298264)"><path
-           d="m -2.283,44.398 -2.23,1.289 -0.001,-2.579 2.231,1.29 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.322175;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path120"
-           inkscape:connector-curvature="0" /></g><g
-         id="g122"
-         transform="matrix(1,0,0,-1,0,94.298264)"><path
-           d="m 21.402,52.512 7.286,7.285"
-           style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path124"
-           inkscape:connector-curvature="0" /></g><g
-         id="g126"
-         transform="matrix(1,-1,-1,-1,0,94.298264)"><path
-           d="m 45.549,15.553 -1.957,1.133 0,-2.262 1.957,1.129 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.28284299;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path128"
-           inkscape:connector-curvature="0" /></g></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g130"><path
-         inkscape:connector-curvature="0"
-         id="path132"
-         style="fill:none;stroke:#000000;stroke-width:0.75819701;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 106.332,94.051 0,-80.719" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g134"><path
-         inkscape:connector-curvature="0"
-         id="path136"
-         style="fill:none;stroke:#000000;stroke-width:0.75819701;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 104.617,94.051 0,-80.719" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g138"><path
-         inkscape:connector-curvature="0"
-         id="path140"
-         style="fill:none;stroke:#000000;stroke-width:0.75819701;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 155.188,94.051 0,-80.719" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g142"><path
-         inkscape:connector-curvature="0"
-         id="path144"
-         style="fill:none;stroke:#000000;stroke-width:0.75819701;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 153.473,94.051 0,-80.719" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g146"><path
-         inkscape:connector-curvature="0"
-         id="path148"
-         style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.4, 0.8;stroke-dashoffset:0"
-         d="m 139.473,54.047 35.715,19" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g154"><path
-         inkscape:connector-curvature="0"
-         id="path156"
-         style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.4, 0.8;stroke-dashoffset:0"
-         d="m 139.473,53.832 30.859,2.215" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g162"><path
-         inkscape:connector-curvature="0"
-         id="path164"
-         style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.4, 0.8;stroke-dashoffset:0"
-         d="M 139.473,53.762 177.332,39.117" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g170"><path
-         inkscape:connector-curvature="0"
-         id="path172"
-         style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.4, 0.8;stroke-dashoffset:0"
-         d="M 139.332,53.832 172.617,21.547" /></g><g
-       id="g3348"><text
-         y="-76.728882"
-         x="171.77673"
-         transform="scale(1,-1)"
-         id="text74"><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="171.77673 174.12872 179.19273 182.07272 188.96873 193.88873 201.68073 206.56873 209.88074"
-           y="-76.728882"
-           sodipodi:role="line"
-           id="tspan76">In-Memory</tspan><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="171.77673 176.84872 183.14473 188.21674 190.43272 195.35274 199.74474 202.88074"
-           y="-66.728882"
-           sodipodi:role="line"
-           id="tspan78"> Objects</tspan><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="173.224 178.424 183.34399 185.56 190.45599 193.592 195.808 200.696 205.75999 210.65599"
-           y="-38.306622"
-           sodipodi:role="line"
-           id="tspan80">Relational</tspan><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="173.224 179.38399 184.28 187.416 192.312 197.38399 202.28 206.44"
-           y="-28.306622"
-           sodipodi:role="line"
-           id="tspan82">Database</tspan><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="181.80408 187.38808 189.60408 194.49208 199.55608"
-           y="-52.068558"
-           sodipodi:role="line"
-           id="tspan84">Cloud</tspan><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="184.77478 190.32678 196.48679"
-           y="-14.611133"
-           sodipodi:role="line"
-           id="tspan86">RDF</tspan></text>
-<text
-         y="-1.3312531"
-         x="168.73727"
-         transform="scale(1,-1)"
-         id="text88"><tspan
-           style="font-size:6.4000001px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="168.73727 172.89728 176.83328 180.89088 183.38689 187.32288 190.65088 194.58688 198.63808 201.14688 205.06367 207.59167 209.36449 213.27489"
-           y="-1.3312531"
-           sodipodi:role="line"
-           id="tspan90">Representation</tspan></text>
-<g
-         id="g150"
-         transform="matrix(1,-0.532,-0.532,-1,0,94.298264)"><path
-           d="m 168.463,-15.709 -2.443,1.414 -0.004,-2.827 2.447,1.413 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.353136;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path152"
-           inkscape:connector-curvature="0" /></g><g
-         id="g158"
-         transform="matrix(1,-0.0717593,-0.0717593,-1,0,94.298264)"><path
-           d="m 175.301,43.6 -2.761,1.593 0.001,-3.192 2.76,1.599 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.398974;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path160"
-           inkscape:connector-curvature="0" /></g><g
-         id="g166"
-         transform="matrix(1,0.386792,0.386792,-1,0,94.298264)"><path
-           d="m 142.815,93.693 -2.584,1.489 0.002,-2.984 2.582,1.495 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.37306499;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path168"
-           inkscape:connector-curvature="0" /></g><g
-         id="g174"
-         transform="matrix(1,0.969957,0.969957,-1,0,94.298264)"><path
-           d="m 79.497,97.37 -1.986,1.149 -10e-4,-2.298 1.987,1.149 z"
-           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.28712299;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-           id="path176"
-           inkscape:connector-curvature="0" /></g></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g178"><path
-         inkscape:connector-curvature="0"
-         id="path180"
-         style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.4, 0.8;stroke-dashoffset:0"
-         d="m 94.332,32.047 22.184,18.301" /></g><g
-       transform="matrix(1,-0.825014,-0.825014,-1,0,94.298264)"
-       id="g182"><path
-         inkscape:connector-curvature="0"
-         id="path184"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.30854699;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 95.466,-27.237 -2.134,1.233 -10e-4,-2.468 2.135,1.235 z" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g186"><path
-         inkscape:connector-curvature="0"
-         id="path188"
-         style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.4, 0.8;stroke-dashoffset:0"
-         d="m 97.902,54.402 17.93,0" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g190"><path
-         inkscape:connector-curvature="0"
-         id="path192"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 117.676,54.402 -2.766,1.602 0,-3.199 2.766,1.597 z" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g194"><path
-         inkscape:connector-curvature="0"
-         id="path196"
-         style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.4, 0.8;stroke-dashoffset:0"
-         d="M 100.152,73.836 116.605,58.5" /></g><g
-       transform="matrix(1,0.932142,0.932142,-1,0,94.298264)"
-       id="g198"><path
-         inkscape:connector-curvature="0"
-         id="path200"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.29259601;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 34.566,89.462 -2.026,1.171 -10e-4,-2.341 2.027,1.17 z" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g202"><path
-         inkscape:connector-curvature="0"
-         id="path204"
-         style="fill:none;stroke:#000000;stroke-width:0.80000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.4, 0.8;stroke-dashoffset:0"
-         d="m 42.719,54.66 13.129,0" /></g><g
-       transform="matrix(1,0,0,-1,0,94.298264)"
-       id="g206"><path
-         inkscape:connector-curvature="0"
-         id="path208"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-         d="m 57.695,54.66 -2.769,1.602 0,-3.203 2.769,1.601 z" /></g><g
-       id="g3342"><text
-         y="-36.237572"
-         x="121.38362"
-         transform="scale(1,-1)"
-         id="text210"><tspan
-           style="font-size:8px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="121.38362 126.20762 131.08762"
-           y="-36.237572"
-           sodipodi:role="line"
-           id="tspan212">PTM</tspan></text>
-<text
-         y="-1.3312531"
-         x="117.08406"
-         transform="scale(1,-1)"
-         id="text214"><tspan
-           style="font-size:6.4000001px;font-variant:normal;font-weight:normal;writing-mode:lr-tb;fill:#008000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans"
-           x="117.08406 120.94326 124.99446 128.77686 132.10486 133.87766 137.39127 141.32726"
-           y="-1.3312531"
-           sodipodi:role="line"
-           id="tspan216">Physical</tspan></text>
-</g><text
-       id="text218"
-       transform="scale(1.1052783,-0.90474952)"
-       x="102.4316"
-       y="-96.822884"
-       style="font-size:10.85699463px"><tspan
-         id="tspan220"
-         sodipodi:role="line"
-         y="-96.822884"
-         x="102.4316 108.882 114.9276 124.0884"
-         style="font-size:8.80000019px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:DejaVu Sans;-inkscape-font-specification:DejaVuSans-Bold">Comm</tspan></text>
-</g></svg>

BIN
techreport/general/images/RelationLingPhys.pdf


+ 0 - 839
techreport/general/images/RelationLingPhys.svg

@@ -1,839 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
-   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   inkscape:export-ydpi="1000"
-   inkscape:export-xdpi="1000"
-   inkscape:export-filename="N:\Documents\Unief\PhD\CAMPaM 2015\Grand Unified Framework of Awesomeness.png"
-   sodipodi:docname="RelationLingPhys.svg"
-   inkscape:version="0.48.5 r10040"
-   version="1.1"
-   id="svg2"
-   height="1052.3622047"
-   width="744.09448819">
-  <sodipodi:namedview
-     inkscape:guide-bbox="true"
-     showguides="false"
-     inkscape:window-maximized="0"
-     inkscape:window-y="16"
-     inkscape:window-x="0"
-     inkscape:window-height="1062"
-     inkscape:window-width="1918"
-     showgrid="false"
-     inkscape:current-layer="layer1"
-     inkscape:document-units="px"
-     inkscape:cy="869.99403"
-     inkscape:cx="355.37748"
-     inkscape:zoom="5.52"
-     inkscape:pageshadow="2"
-     inkscape:pageopacity="0.0"
-     borderopacity="1.0"
-     bordercolor="#666666"
-     pagecolor="#ffffff"
-     id="base" />
-  <defs
-     id="defs4">
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Send"
-       style="overflow:visible;"
-       inkscape:isstock="true">
-      <path
-         id="path4236"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
-         transform="scale(0.2) rotate(180) translate(6,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="TriangleOutM"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="TriangleOutM"
-       style="overflow:visible">
-      <path
-         id="path3982"
-         d="M 5.77,0.0 L -2.88,5.0 L -2.88,-5.0 L 5.77,0.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
-         transform="scale(0.4)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Mend"
-       style="overflow:visible;">
-      <path
-         id="path3846"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
-         transform="scale(0.4) rotate(180) translate(10,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Sstart"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Sstart"
-       style="overflow:visible">
-      <path
-         id="path3849"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt"
-         transform="scale(0.2) translate(6,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-8"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-8"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-8-5"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-8-6"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-88"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-6"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-8-3"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-8-4"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-3"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-3"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-8-3-1"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-8-4-0"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-3-1"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-3-8"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-8-35"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-8-2"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-7"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-30"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-8-2"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-8-7"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-9"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-0"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend-3"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3846-8"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend-7"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3846-5"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-3-4"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-3-2"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Send"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Send-8-3-6"
-       style="overflow:visible"
-       inkscape:isstock="true">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4236-8-4-1"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
-         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend-5"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3846-1"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="TriangleOutM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="TriangleOutM-1"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3982-8"
-         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend-5-8"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3846-1-6"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend-5-3"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3846-1-4"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend-8"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3846-82"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend-76"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3846-14"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend0"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Mend0"
-       style="overflow:visible;">
-      <path
-         id="path4361"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="stroke:#ff0000;stroke-width:1.0pt;fill:#ff0000;fill-rule:evenodd"
-         transform="scale(0.4) rotate(180) translate(10,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1MendI"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1MendI"
-       style="overflow:visible;">
-      <path
-         id="path4364"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="stroke:#800000;stroke-width:1.0pt;fill:#800000;fill-rule:evenodd"
-         transform="scale(0.4) rotate(180) translate(10,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend6"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Mend6"
-       style="overflow:visible;">
-      <path
-         id="path4367"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="stroke:#0000ff;stroke-width:1.0pt;fill:#0000ff;fill-rule:evenodd"
-         transform="scale(0.4) rotate(180) translate(10,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1MendQ"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1MendQ"
-       style="overflow:visible;">
-      <path
-         id="path4370"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="stroke:#008000;stroke-width:1.0pt;fill:#008000;fill-rule:evenodd"
-         transform="scale(0.4) rotate(180) translate(10,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1MendQ"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1MendQ-5"
-       style="overflow:visible">
-      <path
-         id="path4370-7"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill:#008000;fill-rule:evenodd;stroke:#008000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend6"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend6-5"
-       style="overflow:visible">
-      <path
-         id="path4367-4"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill:#0000ff;fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend6"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend6-1"
-       style="overflow:visible">
-      <path
-         id="path4367-2"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill:#0000ff;fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1MendQ"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1MendQ-3"
-       style="overflow:visible">
-      <path
-         id="path4370-4"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill:#008000;fill-rule:evenodd;stroke:#008000;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend6"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend6-4"
-       style="overflow:visible">
-      <path
-         id="path4367-27"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill:#0000ff;fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)"
-         inkscape:connector-curvature="0" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend6d"
-       orient="auto"
-       refY="0.0"
-       refX="0.0"
-       id="Arrow1Mend6d"
-       style="overflow:visible;">
-      <path
-         id="path4830"
-         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
-         style="fill-rule:evenodd;stroke:#008000;stroke-width:1.0pt;fill:#008000"
-         transform="scale(0.4) rotate(180) translate(10,0)" />
-    </marker>
-    <marker
-       inkscape:stockid="TriangleOutM"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="TriangleOutM-1-3"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path3982-8-1"
-         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
-         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
-         transform="scale(0.4,0.4)" />
-    </marker>
-    <marker
-       inkscape:stockid="Arrow1Mend6"
-       orient="auto"
-       refY="0"
-       refX="0"
-       id="Arrow1Mend6-57"
-       style="overflow:visible">
-      <path
-         inkscape:connector-curvature="0"
-         id="path4367-9"
-         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
-         style="fill:#0000ff;fill-rule:evenodd;stroke:#0000ff;stroke-width:1pt"
-         transform="matrix(-0.4,0,0,-0.4,-4,0)" />
-    </marker>
-  </defs>
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title />
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <rect
-       style="fill:#ececec;fill-opacity:1;stroke:none"
-       id="rect5030"
-       width="154.34782"
-       height="136.93454"
-       x="274.62659"
-       y="116.76436" />
-    <path
-       style="fill:#cccccc;stroke:none"
-       d="m 429.0977,116.67378 c 0,0 -28.62224,48.61411 -42.2026,72.92693 -14.28675,25.57748 -23.35775,38.58113 -26.74785,52.8915 -3.40949,14.39223 72.64261,10.95859 72.64261,10.95859"
-       id="path4997"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cssc" />
-    <text
-       xml:space="preserve"
-       style="font-style:normal;font-weight:normal;font-size:11px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
-       x="350.70416"
-       y="229.20045"
-       id="text2985"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan2987"
-         x="350.70416"
-         y="229.20045">m</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       x="405.16724"
-       y="230.22365"
-       id="text2997"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan2999"
-         x="405.16724"
-         y="230.22365">PTM</tspan></text>
-    <path
-       style="fill:#0000ff;fill-opacity:1;stroke:#0000ff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.00000012, 2.00000024;stroke-dashoffset:0;marker-end:url(#Arrow1Mend6)"
-       d="m 351.71623,218.57279 -26.06715,-16.2096"
-       id="path3831"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="stroke-linejoin:miter;marker-end:url(#Arrow1Mend0);stroke-opacity:1;stroke-dashoffset:0;stroke:#ff0000;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:3, 3;stroke-width:1;fill:none"
-       d="m 361.82738,226.15674 40.72726,0.14919"
-       id="path5183"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <flowRoot
-       xml:space="preserve"
-       id="flowRoot6477"
-       style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Sans;font-style:normal;font-weight:normal;font-size:8px;line-height:125%;letter-spacing:0px;word-spacing:0px"><flowRegion
-         id="flowRegion6479"><rect
-           id="rect6481"
-           width="18.214285"
-           height="9.2857141"
-           x="386.78571"
-           y="350.57648" /></flowRegion><flowPara
-         id="flowPara6483" /></flowRoot>    <text
-       xml:space="preserve"
-       style="font-size:7.50000048px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FreeSerif;-inkscape-font-specification:FreeSerif"
-       x="385.54288"
-       y="-5.8369417"
-       id="text11279"
-       sodipodi:linespacing="125%"
-       transform="matrix(0.84633708,0.53264758,-0.53264774,0.8463371,0,0)"><tspan
-         sodipodi:role="line"
-         id="tspan3157"
-         x="385.54288"
-         y="-5.8369417"
-         style="stroke-width:0">LCONF<tspan
-   style="font-size:4.87506914px;baseline-shift:sub;stroke-width:0"
-   id="tspan3159">α</tspan></tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:7.5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:none;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FreeSerif;-inkscape-font-specification:FreeSerif"
-       x="378.83865"
-       y="233.4642"
-       id="text11283"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         x="378.83865"
-         y="233.4642"
-         style="text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none"
-         id="tspan11289">PCONF</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       x="297.20929"
-       y="202.67287"
-       id="text2989"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan2991"
-         x="297.20929"
-         y="202.67287">LTM<tspan
-   style="font-size:65.00091553%;baseline-shift:sub"
-   id="tspan3161">α</tspan></tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       x="367.74716"
-       y="168.07323"
-       id="text2989-1"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan3187"
-         x="367.74716"
-         y="168.07323">LTM<tspan
-   style="font-size:65.00091553%;baseline-shift:sub"
-   id="tspan3189">β</tspan></tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       x="278.40033"
-       y="229.09653"
-       id="text2989-1-0"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan3187-9"
-         x="278.40033"
-         y="229.09653">LTM<tspan
-   style="font-size:65.00091553%;baseline-shift:sub"
-   id="tspan3189-4">⊥</tspan></tspan></text>
-    <path
-       style="stroke-linejoin:miter;marker-end:url(#Arrow1MendQ);stroke-opacity:1;fill-opacity:1;stroke-dashoffset:0;stroke:#008000;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:2,4;stroke-width:1;fill:none"
-       d="m 358.67391,218.58345 20.27006,-42.65888"
-       id="path3831-4"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <text
-       xml:space="preserve"
-       style="font-size:7.50000048px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FreeSerif;-inkscape-font-specification:FreeSerif"
-       x="-17.248468"
-       y="427.86905"
-       id="text11279-5"
-       sodipodi:linespacing="125%"
-       transform="matrix(0.46246233,-0.88663888,0.88663902,0.46246225,0,0)"><tspan
-         sodipodi:role="line"
-         id="tspan3157-5"
-         x="-17.248468"
-         y="427.86905"
-         style="stroke-width:0">LCONF<tspan
-   style="font-size:4.87506914px;baseline-shift:sub;stroke-width:0"
-   id="tspan3266">β</tspan></tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:7.5px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:none;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;font-family:FreeSerif;-inkscape-font-specification:FreeSerif"
-       x="334.41147"
-       y="233.4642"
-       id="text11283-5"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         x="334.41147"
-         y="233.4642"
-         style="text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none"
-         id="tspan11289-2">LCONF<tspan
-   style="font-size:65.00091553000000000%;baseline-shift:sub"
-   id="tspan3313">⊥</tspan></tspan></text>
-    <path
-       style="stroke-linejoin:miter;marker-end:url(#Arrow1MendI);stroke-opacity:1;stroke-dashoffset:0;stroke:#800000;stroke-linecap:butt;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-width:1;fill:none"
-       d="m 349.09712,226.15674 -40.72726,0.14919"
-       id="path5183-2"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <text
-       xml:space="preserve"
-       style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       x="362.73523"
-       y="132.37265"
-       id="text2989-1-3"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan3187-2"
-         x="362.73523"
-         y="132.37265">MMCL<tspan
-   style="font-size:65.00091553%;baseline-shift:sub"
-   id="tspan3189-2">β</tspan></tspan></text>
-    <path
-       style="fill:none;stroke:#008000;stroke-width:0.9379186;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.87583717, 3.75167433;stroke-dashoffset:0;marker-end:url(#Arrow1MendQ)"
-       d="m 378.65698,158.31423 0.38918,-20.17793"
-       id="path3831-4-6"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <path
-       style="fill:#0000ff;fill-opacity:1;stroke:#0000ff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.00000012, 2.00000024;stroke-dashoffset:0;marker-end:url(#Arrow1Mend6)"
-       d="m 310.62232,192.24066 -0.3824,-20.01385"
-       id="path3831-3"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-    <text
-       xml:space="preserve"
-       style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       x="291.83957"
-       y="133.04123"
-       id="text2989-1-3-1"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan3187-2-6"
-         x="291.83957"
-         y="133.04123">MMCL<tspan
-   style="font-size:65.00091553%;baseline-shift:sub"
-   id="tspan4305">α</tspan></tspan></text>
-    <path
-       style="fill:none;stroke:#0000ff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.00000012, 2.00000024;stroke-dashoffset:0;marker-end:url(#Arrow1Mend6)"
-       d="m 292.55197,134.90516 c -4.52376,3.71447 -13.02067,7.24111 -15.84173,-4.51939 -0.73197,-3.05149 0.0885,-11.35715 7.97225,-10.65243 l 8.60768,3.25672"
-       id="path3831-3-3"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cscc" />
-    <path
-       style="fill:none;stroke:#008000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2, 4;stroke-dashoffset:0;marker-end:url(#Arrow1Mend6d)"
-       d="m 394.65961,135.07893 c 4.52376,3.71447 13.02067,7.24111 15.84173,-4.51939 0.73197,-3.05149 -0.0885,-11.35715 -7.97225,-10.65243 l -8.60768,3.25672"
-       id="path3831-3-3-7"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cscc" />
-    <text
-       xml:space="preserve"
-       style="font-size:6px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Garamond;-inkscape-font-specification:Sans"
-       x="401.23212"
-       y="252.18643"
-       id="text5300"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan5302"
-         x="401.23212"
-         y="252.18643"
-         style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans">PHYSICAL</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:6px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Garamond;-inkscape-font-specification:Sans"
-       x="276.89532"
-       y="252.18643"
-       id="text5300-8"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan5302-6"
-         x="276.89532"
-         y="252.18643"
-         style="font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Sans;-inkscape-font-specification:Sans;fill:#000000">LINGUISTIC</tspan></text>
-    <text
-       xml:space="preserve"
-       style="font-size:11px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       x="305.10968"
-       y="164.5927"
-       id="text2989-7"
-       sodipodi:linespacing="125%"><tspan
-         sodipodi:role="line"
-         id="tspan2991-7"
-         x="305.10968"
-         y="164.5927">...</tspan></text>
-    <path
-       style="fill:#0000ff;fill-opacity:1;stroke:#0000ff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:1.00000012, 2.00000024;stroke-dashoffset:0;marker-end:url(#Arrow1Mend6)"
-       d="m 310.62232,156.34425 -0.3824,-20.01385"
-       id="path3831-3-2"
-       inkscape:connector-curvature="0"
-       sodipodi:nodetypes="cc" />
-  </g>
-</svg>

+ 0 - 13
techreport/general/images/api_input.dot

@@ -1,13 +0,0 @@
-digraph {
-    Root [shape="point"]
-    UserRoot [shape="point"]
-    LastInput [shape="point"]
-    NewInput [shape="point",color="green"]
-    Value [label="__input__"]
-
-    Root -> UserRoot [label="username"]
-    UserRoot -> LastInput [label="'input'",color="blue",style="dashed"]
-    LastInput -> NewInput [label="'next'",color="green",penwidth=4]
-    UserRoot -> NewInput [label="'input'",color="green",penwidth=4]
-    LastInput -> Value [label="'value'",color="green",penwidth=4]
-}

+ 0 - 358
techreport/general/images/api_input.eps

@@ -1,358 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 306 255
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 306 255
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 270 219 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Root
-gsave
-0 0 0 nodecolor
-198.4 209 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-198.4 209 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-198.4 155 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-198.4 155 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 198.4 207.1 moveto
-198.4 202.45 198.4 180.94 198.4 167.35 curveto
-stroke
-0 0 0 edgecolor
-newpath 201.9 167.1 moveto
-198.4 157.1 lineto
-194.9 167.1 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 201.9 167.1 moveto
-198.4 157.1 lineto
-194.9 167.1 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-198.4 178.3 moveto 53 (username) alignedtext
-grestore
-% LastInput
-gsave
-0 0 0 nodecolor
-159.4 95 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-159.4 95 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->LastInput
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 197.72 152.99 moveto
-193.99 147.45 175.76 120.33 165.84 105.59 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 168.46 103.2 moveto
-159.98 96.86 lineto
-162.65 107.11 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 168.46 103.2 moveto
-159.98 96.86 lineto
-162.65 107.11 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-185.4 124.3 moveto 33 ('input') alignedtext
-grestore
-% NewInput
-gsave
-0.33333 1 1 nodecolor
-209.4 18 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-209.4 18 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->NewInput
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 199.61 153.53 moveto
-203.75 151.86 217.38 145.7 222.4 135.5 curveto
-240.08 99.55 222.88 49.99 213.99 29.02 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 217.12 27.45 moveto
-209.8 19.79 lineto
-210.75 30.35 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 217.12 27.45 moveto
-209.8 19.79 lineto
-210.75 30.35 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-229.4 91.3 moveto 33 ('input') alignedtext
-grestore
-% LastInput->NewInput
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 159.96 93.16 moveto
-164.16 86.85 190.89 46.76 203.21 28.29 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 206.27 30 moveto
-208.9 19.74 lineto
-200.44 26.12 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 206.27 30 moveto
-208.9 19.74 lineto
-200.44 26.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-185.4 58.3 moveto 28 ('next') alignedtext
-grestore
-% Value
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-74.4 18 46.29 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-46.9 14.3 moveto 55 (__input__) alignedtext
-grestore
-% LastInput->Value
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 158.44 93.16 moveto
-152.73 88.12 122.58 61.51 100.01 41.6 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 102.21 38.87 moveto
-92.4 34.88 lineto
-97.58 44.12 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 102.21 38.87 moveto
-92.4 34.88 lineto
-97.58 44.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-130.4 58.3 moveto 34 ('value') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 13
techreport/general/images/api_output.dot

@@ -1,13 +0,0 @@
-digraph {
-    Root [shape="point"]
-    UserRoot [shape="point"]
-    FirstOutput [shape="point",color="blue"]
-    NextOutput [shape="point"]
-    Value [label="__returned__"]
-
-    Root -> UserRoot [label="username"]
-    UserRoot -> FirstOutput [label="'output'",color="blue",style="dashed"]
-    FirstOutput -> NextOutput [label="'next'",color="blue",style="dashed"]
-    UserRoot -> NextOutput [label="'output'",color="green",penwidth=4]
-    FirstOutput -> Value [label="'value'",color="blue",style="dashed"]
-}

+ 0 - 361
techreport/general/images/api_output.eps

@@ -1,361 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 305 255
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 305 255
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 269 219 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Root
-gsave
-0 0 0 nodecolor
-185.25 209 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-185.25 209 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-185.25 155 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-185.25 155 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 185.25 207.1 moveto
-185.25 202.45 185.25 180.94 185.25 167.35 curveto
-stroke
-0 0 0 edgecolor
-newpath 188.75 167.1 moveto
-185.25 157.1 lineto
-181.75 167.1 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 188.75 167.1 moveto
-185.25 157.1 lineto
-181.75 167.1 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-185.25 178.3 moveto 53 (username) alignedtext
-grestore
-% FirstOutput
-gsave
-0.66667 1 1 nodecolor
-146.25 95 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.66667 1 1 nodecolor
-146.25 95 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->FirstOutput
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 184.46 153.02 moveto
-182.28 150.3 176.02 142.39 171.25 135.5 curveto
-164.37 125.58 157.04 113.85 152.11 105.77 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 154.99 103.76 moveto
-146.83 97 lineto
-148.99 107.37 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 154.99 103.76 moveto
-146.83 97 lineto
-148.99 107.37 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-171.25 124.3 moveto 40 ('output') alignedtext
-grestore
-% NextOutput
-gsave
-0 0 0 nodecolor
-209.25 18 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-209.25 18 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->NextOutput
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 186.55 153.57 moveto
-191.02 151.99 205.76 146.14 211.25 135.5 curveto
-229.41 100.27 218.6 50.72 212.52 29.41 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 215.85 28.31 moveto
-209.53 19.8 lineto
-209.16 30.39 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 215.85 28.31 moveto
-209.53 19.8 lineto
-209.16 30.39 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-221.25 91.3 moveto 40 ('output') alignedtext
-grestore
-% FirstOutput->NextOutput
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 146.95 93.16 moveto
-152.33 86.76 186.9 45.6 202.1 27.51 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 204.87 29.65 moveto
-208.62 19.74 lineto
-199.51 25.15 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 204.87 29.65 moveto
-208.62 19.74 lineto
-199.51 25.15 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-180.25 58.3 moveto 28 ('next') alignedtext
-grestore
-% Value
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-82.25 18 57.69 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-45.75 14.3 moveto 73 (__returned__) alignedtext
-grestore
-% FirstOutput->Value
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 145.53 93.16 moveto
-141.35 88.26 119.81 63.02 103.01 43.33 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 105.54 40.91 moveto
-96.39 35.58 lineto
-100.22 45.45 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 105.54 40.91 moveto
-96.39 35.58 lineto
-100.22 45.45 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-124.25 58.3 moveto 34 ('value') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 35
techreport/general/images/axioms_overview.dot

@@ -1,35 +0,0 @@
-strict graph {
-    A [label="Forever Running"]
-    B [label="Scalability"]
-    C [label="Minimal Content"]
-    D [label="Model Everything"]
-    E [label="Human Interaction"]
-    F [label="Test-Driven"]
-    G [label="Multi-View"]
-    H [label="Multi-Formalism"]
-    I [label="Multi-Abstraction"]
-    J [label="Multi-User"]
-    K [label="Interoperability"]
-
-    A -- B [label="1"]
-    A -- D [label="2"]
-    A -- J [label="3"]
-
-    B -- F [label="4"]
-    B -- K [label="5"]
-
-    C -- D [label="6"]
-
-    D -- E [label="7"]
-    D -- F [label="8"]
-    D -- G [label="9"]
-    D -- H [label="10"]
-    D -- K [label="11"]
-
-    E -- K [label="12"]
-    
-    G -- H [label="13"]
-    G -- I [label="14"]
-
-    J -- K [label="15"]
-}

+ 0 - 465
techreport/general/images/axioms_overview.eps

@@ -1,465 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 768 362
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 768 362
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 732 326 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% A
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-548.79 300 70.69 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-502.29 296.3 moveto 93 (Forever Running) alignedtext
-grestore
-% B
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-548.79 213 48.19 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-519.79 209.3 moveto 58 (Scalability) alignedtext
-grestore
-% A--B
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 548.79 281.8 moveto
-548.79 267.05 548.79 245.92 548.79 231.18 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-548.79 252.8 moveto 7 (1) alignedtext
-grestore
-% D
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-296.79 213 75.29 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-246.79 209.3 moveto 100 (Model Everything) alignedtext
-grestore
-% A--D
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 508.03 285.25 moveto
-461.5 269.56 385.78 244.02 338.76 228.16 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-438.79 252.8 moveto 7 (2) alignedtext
-grestore
-% J
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-673.79 159 50.09 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-643.29 155.3 moveto 61 (Multi-User) alignedtext
-grestore
-% A--J
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 563.87 282.23 moveto
-588.03 255.37 635.11 203.02 659.05 176.39 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-592.79 252.8 moveto 7 (3) alignedtext
-grestore
-% F
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-519.79 105 53.09 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-486.79 101.3 moveto 66 (Test-Driven) alignedtext
-grestore
-% B--F
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 544.13 194.97 moveto
-538.72 175.19 529.85 142.75 524.44 122.99 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-537.79 155.3 moveto 7 (4) alignedtext
-grestore
-% K
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-502.79 18 65.79 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-460.29 14.3 moveto 85 (Interoperability) alignedtext
-grestore
-% B--K
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 560.25 195.2 moveto
-575.48 170.6 598.64 123.72 581.79 87 curveto
-571.31 64.14 548.92 46.05 530.64 34.3 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-586.79 101.3 moveto 7 (5) alignedtext
-grestore
-% C
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-296.79 300 72.29 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-249.29 296.3 moveto 95 (Minimal Content) alignedtext
-grestore
-% C--D
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 296.79 281.8 moveto
-296.79 267.05 296.79 245.92 296.79 231.18 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-296.79 252.8 moveto 7 (6) alignedtext
-grestore
-% E
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-370.79 105 77.19 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-319.29 101.3 moveto 103 (Human Interaction) alignedtext
-grestore
-% D--E
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 308.68 194.97 moveto
-322.49 175.19 345.14 142.75 358.93 122.99 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-344.79 155.3 moveto 7 (7) alignedtext
-grestore
-% D--F
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 329.22 196.59 moveto
-372.47 176.03 448.41 139.93 490.18 120.08 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-441.79 155.3 moveto 7 (8) alignedtext
-grestore
-% G
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-172.79 105 52.79 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-140.29 101.3 moveto 65 (Multi-View) alignedtext
-grestore
-% D--G
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 268.52 196.21 moveto
-259.34 190.6 249.33 183.94 240.79 177 curveto
-220.27 160.31 199.67 137.8 186.61 122.64 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-240.79 155.3 moveto 7 (9) alignedtext
-grestore
-% H
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-72.79 18 72.59 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-24.79 14.3 moveto 96 (Multi-Formalism) alignedtext
-grestore
-% D--H
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 238.44 201.58 moveto
-192.71 190.26 131.25 167.46 96.79 123 curveto
-77.04 97.52 73.05 58.63 72.52 36.33 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-96.79 101.3 moveto 14 (10) alignedtext
-grestore
-% D--K
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 285.47 194.8 moveto
-269.95 168.85 246.61 119.29 270.79 87 curveto
-291.93 58.78 385.24 38.31 446.89 27.58 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-270.79 101.3 moveto 14 (11) alignedtext
-grestore
-% E--K
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 395.93 87.81 moveto
-419.57 72.59 454.74 49.95 478.2 34.84 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-444.79 57.8 moveto 14 (12) alignedtext
-grestore
-% G--H
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 153.98 88.01 moveto
-136.33 73.01 110.04 50.66 92.2 35.5 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-128.79 57.8 moveto 14 (13) alignedtext
-grestore
-% I
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-238.79 18 74.99 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-189.29 14.3 moveto 99 (Multi-Abstraction) alignedtext
-grestore
-% G--I
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 185.83 87.21 moveto
-197.4 72.31 214.22 50.65 225.78 35.76 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-209.79 57.8 moveto 14 (14) alignedtext
-grestore
-% J--K
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 670 140.95 moveto
-663.99 117.86 650.03 76.91 622.79 54 curveto
-605.6 39.54 582.7 31.05 561.51 26.07 curveto
-stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-663.79 101.3 moveto 14 (15) alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

BIN
techreport/general/images/conformance_petrinet.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 2783
techreport/general/images/conformance_petrinet.svg


+ 0 - 22
techreport/general/images/example_mvk.dot

@@ -1,22 +0,0 @@
-digraph {
-    node [shape="point"]
-    Inst [shape="oval",label="While"]
-    Const [shape="oval",label="Const"]
-    True [shape="oval",label="True"]
-    Break [shape="oval",label="Break"]
-    Others [shape="oval",label="..."]
-
-    Root -> UserA [label="user A"]
-    UserA -> Frame [label="'frame'"]
-    Frame -> Symbols [label="'symbols'"]
-    Frame -> Const [label="'IP'",constraint="false"]
-    Frame -> EvalStack [label="'evalstack'"]
-    Frame -> Phase [label="'phase'"]
-    Frame -> ReturnValue [label="'returnvalue'"]
-
-    Inst -> Const [label="'cond'"]
-    Const -> True [label="'value'"]
-    Inst -> Break [label="'body'"]
-    Break -> Inst [label="'while'"]
-    Inst -> Others [label="'next'"]
-}

+ 0 - 587
techreport/general/images/example_mvk.eps

@@ -1,587 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 440 393
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 440 393
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 404 357 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Inst
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-112.2 325 32.49 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-95.2 321.3 moveto 34 (While) alignedtext
-grestore
-% Const
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-31.2 210 31.4 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-15.2 206.3 moveto 32 (Const) alignedtext
-grestore
-% Inst->Const
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 90.09 311.58 moveto
-76.75 303.04 60.41 290.53 50.2 275.5 curveto
-42.69 264.45 38.1 250.38 35.31 238.21 curveto
-stroke
-0 0 0 edgecolor
-newpath 38.69 237.25 moveto
-33.31 228.12 lineto
-31.82 238.61 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 38.69 237.25 moveto
-33.31 228.12 lineto
-31.82 238.61 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-50.2 264.3 moveto 31 ('cond') alignedtext
-grestore
-% Break
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-116.2 210 31.7 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-99.7 206.3 moveto 33 (Break) alignedtext
-grestore
-% Inst->Break
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 99.33 308.18 moveto
-90.63 295.55 81.52 277.25 86.2 260.5 curveto
-88.65 251.74 93.12 242.98 97.87 235.32 curveto
-stroke
-0 0 0 edgecolor
-newpath 100.85 237.16 moveto
-103.48 226.9 lineto
-95.02 233.28 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 100.85 237.16 moveto
-103.48 226.9 lineto
-95.02 233.28 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-86.2 264.3 moveto 32 ('body') alignedtext
-grestore
-% Others
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-198.2 210 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-192.2 206.3 moveto 12 (...) alignedtext
-grestore
-% Inst->Others
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 127.96 309 moveto
-137.26 299.77 148.98 287.45 158.2 275.5 curveto
-167.75 263.11 177.05 248.34 184.27 236.06 curveto
-stroke
-0 0 0 edgecolor
-newpath 187.4 237.65 moveto
-189.36 227.24 lineto
-181.33 234.15 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 187.4 237.65 moveto
-189.36 227.24 lineto
-181.33 234.15 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-169.2 264.3 moveto 28 ('next') alignedtext
-grestore
-% True
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-31.2 96 27.1 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-18.2 92.3 moveto 26 (True) alignedtext
-grestore
-% Const->True
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 31.2 191.99 moveto
-31.2 174.06 31.2 145.56 31.2 124.44 curveto
-stroke
-0 0 0 edgecolor
-newpath 34.7 124.17 moveto
-31.2 114.17 lineto
-27.7 124.17 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 34.7 124.17 moveto
-31.2 114.17 lineto
-27.7 124.17 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-31.2 149.3 moveto 34 ('value') alignedtext
-grestore
-% Break->Inst
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 117.58 227.99 moveto
-118.43 241 119.19 259.4 118.2 275.5 curveto
-117.77 282.39 117.01 289.8 116.17 296.71 curveto
-stroke
-0 0 0 edgecolor
-newpath 112.65 296.62 moveto
-114.82 306.99 lineto
-119.59 297.53 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 112.65 296.62 moveto
-114.82 306.99 lineto
-119.59 297.53 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-119.2 264.3 moveto 35 ('while') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-249.2 325 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-249.2 325 1.8 1.8 ellipse_path stroke
-grestore
-% UserA
-gsave
-0 0 0 nodecolor
-249.2 210 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-249.2 210 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserA
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 249.2 322.73 moveto
-249.2 312.91 249.2 248.72 249.2 222.31 curveto
-stroke
-0 0 0 edgecolor
-newpath 252.7 222.12 moveto
-249.2 212.12 lineto
-245.7 222.12 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 252.7 222.12 moveto
-249.2 212.12 lineto
-245.7 222.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-249.2 264.3 moveto 37 (user A) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-249.2 96 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-249.2 96 1.8 1.8 ellipse_path stroke
-grestore
-% UserA->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 249.2 207.74 moveto
-249.2 198.01 249.2 134.38 249.2 108.21 curveto
-stroke
-0 0 0 edgecolor
-newpath 252.7 108.11 moveto
-249.2 98.11 lineto
-245.7 108.11 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 252.7 108.11 moveto
-249.2 98.11 lineto
-245.7 108.11 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-249.2 149.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Const
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 247.61 97.81 moveto
-232.9 105.37 119.39 163.69 62.91 192.71 curveto
-stroke
-0 0 0 edgecolor
-newpath 61 189.75 moveto
-53.71 197.44 lineto
-64.2 195.98 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 61 189.75 moveto
-53.71 197.44 lineto
-64.2 195.98 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-154.2 149.3 moveto 17 ('IP') alignedtext
-grestore
-% Symbols
-gsave
-0 0 0 nodecolor
-136.2 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-136.2 2 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->Symbols
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 247.62 94.61 moveto
-237.71 92.1 183.47 77.2 154.2 45.5 curveto
-146.02 36.64 141.23 23.51 138.68 14.19 curveto
-stroke
-0 0 0 edgecolor
-newpath 142.04 13.18 moveto
-136.4 4.21 lineto
-135.22 14.74 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 142.04 13.18 moveto
-136.4 4.21 lineto
-135.22 14.74 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-154.2 34.3 moveto 51 ('symbols') alignedtext
-grestore
-% EvalStack
-gsave
-0 0 0 nodecolor
-210.2 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-210.2 2 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->EvalStack
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 247.94 93.95 moveto
-242.31 89.12 219.27 68.39 211.2 45.5 curveto
-207.63 35.39 207.79 23.07 208.59 14.3 curveto
-stroke
-0 0 0 edgecolor
-newpath 212.1 14.48 moveto
-209.98 4.1 lineto
-205.17 13.53 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 212.1 14.48 moveto
-209.98 4.1 lineto
-205.17 13.53 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-211.2 34.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Phase
-gsave
-0 0 0 nodecolor
-288.2 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-288.2 2 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->Phase
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 249.64 93.97 moveto
-252.98 86.08 274.57 35.15 283.91 13.12 curveto
-stroke
-0 0 0 edgecolor
-newpath 287.13 14.48 moveto
-287.81 3.91 lineto
-280.69 11.75 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 287.13 14.48 moveto
-287.81 3.91 lineto
-280.69 11.75 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-276.2 34.3 moveto 36 ('phase') alignedtext
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-347.2 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-347.2 2 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 250.23 94.4 moveto
-256.74 90.62 292.54 69.3 316.2 45.5 curveto
-326.22 35.41 335.53 21.87 341.27 12.81 curveto
-stroke
-0 0 0 edgecolor
-newpath 344.33 14.51 moveto
-346.54 4.15 lineto
-338.35 10.87 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 344.33 14.51 moveto
-346.54 4.15 lineto
-338.35 10.87 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-329.2 34.3 moveto 67 ('returnvalue') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

BIN
techreport/general/images/example_mvk.pdf


+ 0 - 22
techreport/general/images/example_mvs.dot

@@ -1,22 +0,0 @@
-digraph {
-    node [shape="point"]
-    Inst [shape="oval",label="While"]
-    Const [shape="oval",label="Const"]
-    True [shape="oval",label="True"]
-    Break [shape="oval",label="Break"]
-    Others [shape="oval",label="..."]
-
-    Root -> UserA [label="user A"]
-    UserA -> Frame [label="'frame'"]
-    Frame -> Symbols [label="'symbols'"]
-    Frame -> Inst [label="'IP'",constraint="false"]
-    Frame -> EvalStack [label="'evalstack'"]
-    Frame -> Phase [label="'phase'"]
-    Frame -> ReturnValue [label="'returnvalue'"]
-
-    Inst -> Const [label="'cond'"]
-    Const -> True [label="'value'"]
-    Inst -> Break [label="'body'"]
-    Break -> Inst [label="'while'"]
-    Inst -> Others [label="'next'"]
-}

+ 0 - 589
techreport/general/images/example_mvs.eps

@@ -1,589 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 488 442
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 488 442
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 452 406 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Inst
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-112.2 371 32.49 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-95.2 367.3 moveto 34 (While) alignedtext
-grestore
-% Const
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-31.2 240 31.4 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-15.2 236.3 moveto 32 (Const) alignedtext
-grestore
-% Inst->Const
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 92.65 356.58 moveto
-78.84 346.1 60.94 330.37 50.2 312.5 curveto
-42.13 299.08 37.43 282.22 34.73 268.25 curveto
-stroke
-0 0 0 edgecolor
-newpath 38.16 267.5 moveto
-33.03 258.23 lineto
-31.25 268.68 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 38.16 267.5 moveto
-33.03 258.23 lineto
-31.25 268.68 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-50.2 301.3 moveto 31 ('cond') alignedtext
-grestore
-% Break
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-117.2 240 31.7 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-100.7 236.3 moveto 33 (Break) alignedtext
-grestore
-% Inst->Break
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 100.67 354.14 moveto
-91.53 339.63 81.08 317.45 86.2 297.5 curveto
-89.06 286.33 94.64 275 100.29 265.44 curveto
-stroke
-0 0 0 edgecolor
-newpath 103.3 267.22 moveto
-105.64 256.89 lineto
-97.37 263.51 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 103.3 267.22 moveto
-105.64 256.89 lineto
-97.37 263.51 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-86.2 301.3 moveto 32 ('body') alignedtext
-grestore
-% Others
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-198.2 240 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-192.2 236.3 moveto 12 (...) alignedtext
-grestore
-% Inst->Others
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 125.82 354.43 moveto
-135.38 343.15 148.2 327.35 158.2 312.5 curveto
-168.13 297.74 177.91 280.32 185.32 266.38 curveto
-stroke
-0 0 0 edgecolor
-newpath 188.5 267.84 moveto
-190.03 257.35 lineto
-182.3 264.59 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 188.5 267.84 moveto
-190.03 257.35 lineto
-182.3 264.59 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-168.2 301.3 moveto 28 ('next') alignedtext
-grestore
-% True
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-31.2 109 27.1 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-18.2 105.3 moveto 26 (True) alignedtext
-grestore
-% Const->True
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 31.2 221.87 moveto
-31.2 200.28 31.2 162.91 31.2 137.35 curveto
-stroke
-0 0 0 edgecolor
-newpath 34.7 137.2 moveto
-31.2 127.2 lineto
-27.7 137.2 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 34.7 137.2 moveto
-31.2 127.2 lineto
-27.7 137.2 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-31.2 171.3 moveto 34 ('value') alignedtext
-grestore
-% Break->Inst
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 117.58 258.06 moveto
-117.81 269.27 118.08 284.26 118.2 297.5 curveto
-118.26 304.17 118.54 305.84 118.2 312.5 curveto
-117.68 322.4 116.67 333.23 115.62 342.79 curveto
-stroke
-0 0 0 edgecolor
-newpath 112.12 342.59 moveto
-114.45 352.93 lineto
-119.08 343.4 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 112.12 342.59 moveto
-114.45 352.93 lineto
-119.08 343.4 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-119.2 301.3 moveto 35 ('while') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-298.2 371 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-298.2 371 1.8 1.8 ellipse_path stroke
-grestore
-% UserA
-gsave
-0 0 0 nodecolor
-298.2 240 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-298.2 240 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserA
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 298.2 369.18 moveto
-298.2 360.32 298.2 282.54 298.2 252.64 curveto
-stroke
-0 0 0 edgecolor
-newpath 301.7 252.32 moveto
-298.2 242.32 lineto
-294.7 252.32 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 301.7 252.32 moveto
-298.2 242.32 lineto
-294.7 252.32 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-298.2 301.3 moveto 37 (user A) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-298.2 109 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-298.2 109 1.8 1.8 ellipse_path stroke
-grestore
-% UserA->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 298.2 238.18 moveto
-298.2 229.32 298.2 151.54 298.2 121.64 curveto
-stroke
-0 0 0 edgecolor
-newpath 301.7 121.32 moveto
-298.2 111.32 lineto
-294.7 121.32 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 301.7 121.32 moveto
-298.2 111.32 lineto
-294.7 121.32 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-298.2 171.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Inst
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 298.01 110.84 moveto
-295.48 122.16 266.87 244.41 200.2 312.5 curveto
-184 329.04 162.24 343.31 144.41 353.5 curveto
-stroke
-0 0 0 edgecolor
-newpath 142.54 350.53 moveto
-135.5 358.44 lineto
-145.94 356.65 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 142.54 350.53 moveto
-135.5 358.44 lineto
-145.94 356.65 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-260.2 236.3 moveto 17 ('IP') alignedtext
-grestore
-% Symbols
-gsave
-0 0 0 nodecolor
-185.2 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-185.2 3 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->Symbols
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 296.6 107.5 moveto
-286.59 104.3 231.82 85.6 203.2 51.5 curveto
-194.37 40.98 189.62 25.68 187.25 15.31 curveto
-stroke
-0 0 0 edgecolor
-newpath 190.67 14.51 moveto
-185.38 5.33 lineto
-183.79 15.81 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 190.67 14.51 moveto
-185.38 5.33 lineto
-183.79 15.81 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-203.2 40.3 moveto 51 ('symbols') alignedtext
-grestore
-% EvalStack
-gsave
-0 0 0 nodecolor
-259.2 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-259.2 3 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->EvalStack
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 297.48 107.29 moveto
-292.96 102.81 268.47 77.65 260.2 51.5 curveto
-256.41 39.53 256.77 24.99 257.69 15.18 curveto
-stroke
-0 0 0 edgecolor
-newpath 261.17 15.58 moveto
-258.98 5.22 lineto
-254.22 14.68 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 261.17 15.58 moveto
-258.98 5.22 lineto
-254.22 14.68 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-260.2 40.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Phase
-gsave
-0 0 0 nodecolor
-337.2 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-337.2 3 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->Phase
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 298.64 106.83 moveto
-302.02 97.79 324.18 38.71 333.29 14.41 curveto
-stroke
-0 0 0 edgecolor
-newpath 336.58 15.62 moveto
-336.81 5.03 lineto
-330.02 13.16 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 336.58 15.62 moveto
-336.81 5.03 lineto
-330.02 13.16 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-325.2 40.3 moveto 36 ('phase') alignedtext
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-396.2 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-396.2 3 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 299.24 107.3 moveto
-305.79 102.86 341.81 77.94 365.2 51.5 curveto
-375.59 39.75 385.05 24.24 390.71 14.19 curveto
-stroke
-0 0 0 edgecolor
-newpath 393.86 15.73 moveto
-395.55 5.27 lineto
-387.71 12.39 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 393.86 15.73 moveto
-395.55 5.27 lineto
-387.71 12.39 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-377.2 40.3 moveto 67 ('returnvalue') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

BIN
techreport/general/images/example_mvs.pdf


+ 0 - 11
techreport/general/images/example_transformation.dot

@@ -1,11 +0,0 @@
-digraph {
-    node [shape="point"]
-    e [shape="oval",label="'E'"]
-    d [color="red"]
-
-    a -> b [label="'A'"]
-    a -> c [label="'B'",color="blue",style="dashed"]
-    b -> c [label="'D'",color="green",penwidth=4]
-    d -> c [label="'C'",color="red",style="dotted"]
-    a -> e [label="'F'"]
-}

+ 0 - 362
techreport/general/images/example_transformation.eps

@@ -1,362 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 192 191
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 192 191
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 156 155 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% e
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-27 74 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-20.5 70.3 moveto 13 ('E') alignedtext
-grestore
-% d
-gsave
-0 1 1 nodecolor
-146 74 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 1 1 nodecolor
-146 74 1.8 1.8 ellipse_path stroke
-grestore
-% c
-gsave
-0 0 0 nodecolor
-112 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-112 2 1.8 1.8 ellipse_path stroke
-grestore
-% d->c
-gsave
-1 setlinewidth
-dotted
-0 1 1 edgecolor
-newpath 145.52 71.72 moveto
-143.32 65.91 133.92 41.49 124 22.5 curveto
-122.27 19.18 120.18 15.66 118.24 12.54 curveto
-stroke
-0 1 1 edgecolor
-newpath 121.09 10.5 moveto
-112.7 4.03 lineto
-115.22 14.32 lineto
-closepath fill
-1 setlinewidth
-solid
-0 1 1 edgecolor
-newpath 121.09 10.5 moveto
-112.7 4.03 lineto
-115.22 14.32 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-131 26.3 moveto 14 ('C') alignedtext
-grestore
-% a
-gsave
-0 0 0 nodecolor
-74 145 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-74 145 1.8 1.8 ellipse_path stroke
-grestore
-% a->e
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 73.3 143.34 moveto
-70.86 141.03 62.62 133.06 57 125.5 curveto
-51.16 117.65 45.49 108.6 40.67 100.34 curveto
-stroke
-0 0 0 edgecolor
-newpath 43.62 98.44 moveto
-35.64 91.47 lineto
-37.53 101.89 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 43.62 98.44 moveto
-35.64 91.47 lineto
-37.53 101.89 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-57 114.3 moveto 13 ('F') alignedtext
-grestore
-% b
-gsave
-0 0 0 nodecolor
-74 74 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-74 74 1.8 1.8 ellipse_path stroke
-grestore
-% a->b
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 74 143.02 moveto
-74 136.92 74 103.7 74 86.05 curveto
-stroke
-0 0 0 edgecolor
-newpath 77.5 86.04 moveto
-74 76.04 lineto
-70.5 86.04 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 77.5 86.04 moveto
-74 76.04 lineto
-70.5 86.04 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-74 114.3 moveto 15 ('A') alignedtext
-grestore
-% a->c
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 74.91 143.43 moveto
-78.05 141.43 88.44 134.34 93 125.5 curveto
-112.33 88.02 113.2 36.15 112.55 13.88 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 116.04 13.66 moveto
-112.06 3.84 lineto
-109.05 13.99 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 116.04 13.66 moveto
-112.06 3.84 lineto
-109.05 13.99 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-111 70.3 moveto 14 ('B') alignedtext
-grestore
-% b->c
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 73.88 71.61 moveto
-73.39 65.34 72.11 39.21 83 22.5 curveto
-87.36 15.81 94.9 10.84 101.2 7.6 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 102.86 10.69 moveto
-110.62 3.48 lineto
-100.06 4.28 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 102.86 10.69 moveto
-110.62 3.48 lineto
-100.06 4.28 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-83 26.3 moveto 15 ('D') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 15
techreport/general/images/execution_context.dot

@@ -1,15 +0,0 @@
-digraph {
-    Node [shape="point"]
-
-    Root -> ExecRoot [label="username"]
-    ExecRoot -> Input [label="'input'"]
-    ExecRoot -> LastInput [label="'last_input'"]
-    ExecRoot -> Output [label="'output'"]
-    ExecRoot -> LastOutput [label="'last_output'"]
-    ExecRoot -> CurFrame [label="'frame'"]
-    CurFrame -> Table [label="'symbols'"]
-    CurFrame -> Inst [label="'IP'"]
-    CurFrame -> EvalStack [label="evalstack'"]
-    CurFrame -> Phase [label="'phase'"]
-    CurFrame -> ReturnValue [label="'returnvalue'"]
-}

+ 0 - 565
techreport/general/images/execution_context.eps

@@ -1,565 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 513 471
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 513 471
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 477 435 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Root
-gsave
-0 0 0 nodecolor
-138.8 422 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-138.8 422 1.8 1.8 ellipse_path stroke
-grestore
-% ExecRoot
-gsave
-0 0 0 nodecolor
-138.8 283 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-138.8 283 1.8 1.8 ellipse_path stroke
-grestore
-% Root->ExecRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 138.8 420.13 moveto
-138.8 410.64 138.8 326.61 138.8 295.51 curveto
-stroke
-0 0 0 edgecolor
-newpath 142.3 295.4 moveto
-138.8 285.4 lineto
-135.3 295.4 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 142.3 295.4 moveto
-138.8 285.4 lineto
-135.3 295.4 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-138.8 349.3 moveto 53 (username) alignedtext
-grestore
-% Input
-gsave
-0 0 0 nodecolor
-1.8 144 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-1.8 144 1.8 1.8 ellipse_path stroke
-grestore
-% ExecRoot->Input
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 137.58 281.63 moveto
-128.16 278.74 66.62 258.76 33.8 221.5 curveto
-16.61 201.98 7.74 171.91 4.01 155.9 curveto
-stroke
-0 0 0 edgecolor
-newpath 7.39 154.95 moveto
-1.94 145.86 lineto
-.54 156.36 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 7.39 154.95 moveto
-1.94 145.86 lineto
-.54 156.36 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-33.8 210.3 moveto 33 ('input') alignedtext
-grestore
-% LastInput
-gsave
-0 0 0 nodecolor
-57.8 144 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-57.8 144 1.8 1.8 ellipse_path stroke
-grestore
-% ExecRoot->LastInput
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 137.72 281.3 moveto
-130.97 276.86 94.15 251.77 76.8 221.5 curveto
-64.63 200.27 60.19 171.37 58.62 155.87 curveto
-stroke
-0 0 0 edgecolor
-newpath 62.1 155.51 moveto
-57.84 145.81 lineto
-55.12 156.06 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 62.1 155.51 moveto
-57.84 145.81 lineto
-55.12 156.06 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-76.8 210.3 moveto 58 ('last_input') alignedtext
-grestore
-% Output
-gsave
-0 0 0 nodecolor
-138.8 144 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-138.8 144 1.8 1.8 ellipse_path stroke
-grestore
-% ExecRoot->Output
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 138.8 281.13 moveto
-138.8 271.64 138.8 187.61 138.8 156.51 curveto
-stroke
-0 0 0 edgecolor
-newpath 142.3 156.4 moveto
-138.8 146.4 lineto
-135.3 156.4 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 142.3 156.4 moveto
-138.8 146.4 lineto
-135.3 156.4 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-138.8 210.3 moveto 40 ('output') alignedtext
-grestore
-% LastOutput
-gsave
-0 0 0 nodecolor
-201.8 144 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-201.8 144 1.8 1.8 ellipse_path stroke
-grestore
-% ExecRoot->LastOutput
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 139.48 281.21 moveto
-143.79 276.19 167.32 248.16 179.8 221.5 curveto
-190.1 199.5 196.63 171.63 199.71 156.34 curveto
-stroke
-0 0 0 edgecolor
-newpath 203.22 156.6 moveto
-201.61 146.13 lineto
-196.34 155.31 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 203.22 156.6 moveto
-201.61 146.13 lineto
-196.34 155.31 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-185.8 210.3 moveto 65 ('last_output') alignedtext
-grestore
-% CurFrame
-gsave
-0 0 0 nodecolor
-289.8 144 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-289.8 144 1.8 1.8 ellipse_path stroke
-grestore
-% ExecRoot->CurFrame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 140.14 281.66 moveto
-150.45 278.99 217.89 260.37 254.8 221.5 curveto
-272.97 202.36 282.93 172.13 287.21 156 curveto
-stroke
-0 0 0 edgecolor
-newpath 290.71 156.41 moveto
-289.63 145.87 lineto
-283.9 154.79 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 290.71 156.41 moveto
-289.63 145.87 lineto
-283.9 154.79 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-266.8 210.3 moveto 37 ('frame') alignedtext
-grestore
-% Table
-gsave
-0 0 0 nodecolor
-175.8 5 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-175.8 5 1.8 1.8 ellipse_path stroke
-grestore
-% CurFrame->Table
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 288.49 142.32 moveto
-280.23 137.99 235.02 113.38 209.8 81.5 curveto
-193.69 61.13 183.38 31.9 178.71 16.47 curveto
-stroke
-0 0 0 edgecolor
-newpath 182.08 15.51 moveto
-176 6.82 lineto
-175.34 17.4 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 182.08 15.51 moveto
-176 6.82 lineto
-175.34 17.4 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-209.8 70.3 moveto 51 ('symbols') alignedtext
-grestore
-% Inst
-gsave
-0 0 0 nodecolor
-249.8 5 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-249.8 5 1.8 1.8 ellipse_path stroke
-grestore
-% CurFrame->Inst
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 289.48 142.14 moveto
-287.44 136.72 276.23 106.6 268.8 81.5 curveto
-262.06 58.71 255.61 31.62 252.24 16.88 curveto
-stroke
-0 0 0 edgecolor
-newpath 255.64 16.06 moveto
-250.03 7.07 lineto
-248.81 17.6 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 255.64 16.06 moveto
-250.03 7.07 lineto
-248.81 17.6 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-268.8 70.3 moveto 17 ('IP') alignedtext
-grestore
-% EvalStack
-gsave
-0 0 0 nodecolor
-289.8 5 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-289.8 5 1.8 1.8 ellipse_path stroke
-grestore
-% CurFrame->EvalStack
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 289.8 142.13 moveto
-289.8 132.64 289.8 48.61 289.8 17.51 curveto
-stroke
-0 0 0 edgecolor
-newpath 293.3 17.4 moveto
-289.8 7.4 lineto
-286.3 17.4 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 293.3 17.4 moveto
-289.8 7.4 lineto
-286.3 17.4 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-289.8 70.3 moveto 53 (evalstack') alignedtext
-grestore
-% Phase
-gsave
-0 0 0 nodecolor
-365.8 5 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-365.8 5 1.8 1.8 ellipse_path stroke
-grestore
-% CurFrame->Phase
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 290.72 142.24 moveto
-296.48 137.43 327.94 110.4 343.8 81.5 curveto
-355.35 60.46 361.41 32.71 364.08 17.39 curveto
-stroke
-0 0 0 edgecolor
-newpath 367.59 17.55 moveto
-365.66 7.13 lineto
-360.67 16.48 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 367.59 17.55 moveto
-365.66 7.13 lineto
-360.67 16.48 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-350.8 70.3 moveto 36 ('phase') alignedtext
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-424.8 5 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-424.8 5 1.8 1.8 ellipse_path stroke
-grestore
-% CurFrame->ReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 290.97 142.6 moveto
-299.95 139.44 358.73 117.81 390.8 81.5 curveto
-408 62.03 417.86 32.43 422.17 16.7 curveto
-stroke
-0 0 0 edgecolor
-newpath 425.6 17.39 moveto
-424.62 6.84 lineto
-418.81 15.7 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 425.6 17.39 moveto
-424.62 6.84 lineto
-418.81 15.7 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-401.8 70.3 moveto 67 ('returnvalue') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

BIN
techreport/general/images/mvk_server.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 5017
techreport/general/images/mvk_server.svg


BIN
techreport/general/images/mvs_server.pdf


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1719
techreport/general/images/mvs_server.svg


+ 0 - 7
techreport/general/images/render_all.sh

@@ -1,7 +0,0 @@
-#!/bin/bash
-for f in *.dot
-do
-    dot -Teps -Gratio=1 -Gsize=30 $f > ${f%%.*}.eps
-done
-
-dot -Teps axioms_overview.dot > axioms_overview.eps

+ 0 - 15
techreport/general/images/rule_access__eval.dot

@@ -1,15 +0,0 @@
-digraph {
-    node [shape="point"]
-    Inst [shape="oval",label="Access"]
-    Phase [shape="oval",label="'eval'",color="blue"]
-    NewPhase [shape="oval",label="'finish'",color="green"]
-
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Inst [label="'IP'"]
-    Frame -> NewReturnValue [label="'returnvalue'",color="green",penwidth=4]
-    Frame -> Phase [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> ReturnValue [label="'returnvalue'",color="blue",style="dashed"]
-    ReturnValue -> NewReturnValue [label="'value'"]
-}

+ 0 - 458
techreport/general/images/rule_access__eval.eps

@@ -1,458 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 414 401
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 414 401
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 378 365 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Inst
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-35.75 102 36 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-16.25 98.3 moveto 39 (Access) alignedtext
-grestore
-% Phase
-gsave
-1 setlinewidth
-0.66667 1 1 nodecolor
-117.75 102 28.7 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-103.75 98.3 moveto 28 ('eval') alignedtext
-grestore
-% NewPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-197.75 102 33.6 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-179.75 98.3 moveto 36 ('finish') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-197.75 354 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-197.75 354 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-197.75 278 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-197.75 278 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 197.75 352.17 moveto
-197.75 346.17 197.75 309.15 197.75 290.18 curveto
-stroke
-0 0 0 edgecolor
-newpath 201.25 290.13 moveto
-197.75 280.13 lineto
-194.25 290.13 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 201.25 290.13 moveto
-197.75 280.13 lineto
-194.25 290.13 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-197.75 312.3 moveto 53 (username) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-197.75 201 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-197.75 201 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 197.75 276.16 moveto
-197.75 270.07 197.75 232.56 197.75 213.33 curveto
-stroke
-0 0 0 edgecolor
-newpath 201.25 213.15 moveto
-197.75 203.15 lineto
-194.25 213.15 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 201.25 213.15 moveto
-197.75 203.15 lineto
-194.25 213.15 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-197.75 235.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Inst
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 196.31 199.56 moveto
-188.72 197.23 152.53 185.7 125.75 170.5 curveto
-102.39 157.25 78.16 138.76 60.73 124.48 curveto
-stroke
-0 0 0 edgecolor
-newpath 62.69 121.55 moveto
-52.76 117.85 lineto
-58.21 126.93 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 62.69 121.55 moveto
-52.76 117.85 lineto
-58.21 126.93 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-125.75 159.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->Phase
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 196.64 199.4 moveto
-191.61 196.67 170.71 184.84 157.75 170.5 curveto
-146.5 158.06 136.82 141.97 129.8 128.63 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 132.81 126.82 moveto
-125.17 119.48 lineto
-126.56 129.98 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 132.81 126.82 moveto
-125.17 119.48 lineto
-126.56 129.98 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-157.75 159.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->NewPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 197.75 198.91 moveto
-197.75 192.22 197.75 156.07 197.75 130.13 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 201.25 130.09 moveto
-197.75 120.09 lineto
-194.25 130.09 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 201.25 130.09 moveto
-197.75 120.09 lineto
-194.25 130.09 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-197.75 159.3 moveto 36 ('phase') alignedtext
-grestore
-% NewReturnValue
-gsave
-0 0 0 nodecolor
-297.75 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-297.75 3 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->NewReturnValue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 198.92 199.46 moveto
-204.23 196.96 226.19 186 237.75 170.5 curveto
-257.18 144.44 285.48 47.71 294.71 14.94 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 298.21 15.44 moveto
-297.51 4.87 lineto
-291.46 13.56 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 298.21 15.44 moveto
-297.51 4.87 lineto
-291.46 13.56 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-273.75 98.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-354.75 102 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-354.75 102 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ReturnValue
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 199.45 199.66 moveto
-208.47 197.81 251.37 188.36 281.75 170.5 curveto
-309.46 154.21 335.48 125.9 347.61 111.68 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 350.45 113.73 moveto
-354.12 103.79 lineto
-345.06 109.28 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 350.45 113.73 moveto
-354.12 103.79 lineto
-345.06 109.28 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-302.75 159.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% ReturnValue->NewReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 354.11 99.91 moveto
-349.15 91.48 316.77 36.38 303.45 13.71 curveto
-stroke
-0 0 0 edgecolor
-newpath 306.39 11.81 moveto
-298.31 4.96 lineto
-300.36 15.35 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 306.39 11.81 moveto
-298.31 4.96 lineto
-300.36 15.35 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-323.75 37.3 moveto 34 ('value') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 19
techreport/general/images/rule_access__init.dot

@@ -1,19 +0,0 @@
-digraph {
-    node [shape="point"]
-    Phase [label="'init'",shape="oval"]
-    Inst [label="Access",shape="oval"]
-    NewEvalStack [color="green"]
-    StackPhase [label="'eval'",shape="oval",color="green"]
-
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Phase [label="'phase'"]
-    Frame -> NewEvalStack [label="'evalstack'",color="green",penwidth=4]
-    Frame -> OldEvalStack [label="'evalstack'",color="blue",style="dashed"]
-    NewEvalStack -> OldEvalStack [label="'prev'",color="green",penwidth=4]
-    Frame -> Inst [label="'IP'",color="blue",style="dashed"]
-    Inst -> Cond [label="'var'"]
-    OldEvalStack -> Inst [label="'inst'",color="green",penwidth=4]
-    OldEvalStack -> StackPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> Cond [label="'IP'",color="green",penwidth=4]
-}

+ 0 - 537
techreport/general/images/rule_access__init.eps

@@ -1,537 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 550 451
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 550 451
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 514 415 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Phase
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-49.36 226 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-37.86 222.3 moveto 23 ('init') alignedtext
-grestore
-% Inst
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-206.36 73 36 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-186.86 69.3 moveto 39 (Access) alignedtext
-grestore
-% Cond
-gsave
-0 0 0 nodecolor
-401.36 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-401.36 2 1.8 1.8 ellipse_path stroke
-grestore
-% Inst->Cond
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 234.71 61.97 moveto
-278.48 46.48 360.56 17.44 390.27 6.92 curveto
-stroke
-0 0 0 edgecolor
-newpath 391.82 10.09 moveto
-400.08 3.45 lineto
-389.49 3.49 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 391.82 10.09 moveto
-400.08 3.45 lineto
-389.49 3.49 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-349.36 25.3 moveto 22 ('var') alignedtext
-grestore
-% NewEvalStack
-gsave
-0.33333 1 1 nodecolor
-222.36 226 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-222.36 226 1.8 1.8 ellipse_path stroke
-grestore
-% OldEvalStack
-gsave
-0 0 0 nodecolor
-275.36 149 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-275.36 149 1.8 1.8 ellipse_path stroke
-grestore
-% NewEvalStack->OldEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 222.95 224.16 moveto
-227.43 217.82 256.02 177.37 268.98 159.03 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 271.92 160.93 moveto
-274.83 150.74 lineto
-266.2 156.89 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 271.92 160.93 moveto
-274.83 150.74 lineto
-266.2 156.89 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-258.36 178.3 moveto 29 ('prev') alignedtext
-grestore
-% StackPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-356.36 73 28.7 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-342.36 69.3 moveto 28 ('eval') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-210.36 406 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-210.36 406 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-210.36 351 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-210.36 351 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 210.36 404.08 moveto
-210.36 399.3 210.36 376.96 210.36 363.13 curveto
-stroke
-0 0 0 edgecolor
-newpath 213.86 363.12 moveto
-210.36 353.12 lineto
-206.86 363.12 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 213.86 363.12 moveto
-210.36 353.12 lineto
-206.86 363.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-210.36 374.3 moveto 53 (username) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-210.36 296 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-210.36 296 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 210.36 349.08 moveto
-210.36 344.3 210.36 321.96 210.36 308.13 curveto
-stroke
-0 0 0 edgecolor
-newpath 213.86 308.12 moveto
-210.36 298.12 lineto
-206.86 308.12 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 213.86 308.12 moveto
-210.36 298.12 lineto
-206.86 308.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-210.36 320.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Phase
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 208.68 295.09 moveto
-198.09 295.56 139.71 297.14 99.36 276.5 curveto
-87.12 270.24 75.99 259.93 67.34 250.33 curveto
-stroke
-0 0 0 edgecolor
-newpath 69.85 247.87 moveto
-60.7 242.53 lineto
-64.53 252.42 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 69.85 247.87 moveto
-60.7 242.53 lineto
-64.53 252.42 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-99.36 265.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->Inst
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 210.34 294.01 moveto
-210.12 281.72 207.87 157.64 206.86 101.42 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 210.35 101.07 moveto
-206.67 91.14 lineto
-203.35 101.2 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 210.35 101.07 moveto
-206.67 91.14 lineto
-203.35 101.2 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-209.36 178.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->NewEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 210.53 294.04 moveto
-211.59 288.03 217.37 255.29 220.44 237.89 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 223.89 238.48 moveto
-222.18 228.02 lineto
-216.99 237.26 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 223.89 238.48 moveto
-222.18 228.02 lineto
-216.99 237.26 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-216.36 265.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Frame->OldEvalStack
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 212.32 295.12 moveto
-221.17 295.53 257.68 295.95 275.36 276.5 curveto
-306.22 242.54 304.45 218.48 291.36 174.5 curveto
-289.65 168.75 286.11 163.09 282.79 158.66 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 285.31 156.21 moveto
-276.18 150.84 lineto
-279.96 160.73 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 285.31 156.21 moveto
-276.18 150.84 lineto
-279.96 160.73 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-300.36 222.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Frame->Cond
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 211.86 294.97 moveto
-233.82 294.53 489.36 288.07 489.36 227 curveto
-489.36 227 489.36 227 489.36 72 curveto
-489.36 33.52 436.61 13.26 412.79 6.08 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 413.46 2.63 moveto
-402.89 3.36 lineto
-411.6 9.38 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 413.46 2.63 moveto
-402.89 3.36 lineto
-411.6 9.38 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-489.36 145.3 moveto 17 ('IP') alignedtext
-grestore
-% OldEvalStack->Inst
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 274.58 147.17 moveto
-270.01 142.26 246.11 116.63 227.87 97.07 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 230.35 94.6 moveto
-220.97 89.67 lineto
-225.23 99.37 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 230.35 94.6 moveto
-220.97 89.67 lineto
-225.23 99.37 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-251.36 112.3 moveto 25 ('inst') alignedtext
-grestore
-% OldEvalStack->StackPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 276.27 147.17 moveto
-281.81 142.11 311.51 114.97 333.13 95.22 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 335.65 97.66 moveto
-340.67 88.33 lineto
-330.93 92.49 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 335.65 97.66 moveto
-340.67 88.33 lineto
-330.93 92.49 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-318.36 112.3 moveto 36 ('phase') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 16
techreport/general/images/rule_assign__assign.dot

@@ -1,16 +0,0 @@
-digraph {
-    node [shape="point"]
-    Inst [shape="oval",label="Assign"]
-    OldPhase [shape="oval",label="'assign'",color="blue"]
-    NewPhase [shape="oval",label="'finish'",color="green"]
-
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Inst [label="'IP'"]
-    Frame -> ReturnValue [label="'returnvalue'"]
-    Frame -> Var [label="'variable'",color="blue",style="dashed"]
-    Var -> ReturnValue [label="'value'",color="green",penwidth=4]
-    Var -> OldValue [label="'value'",color="blue",style="dashed"]
-    Frame -> OldPhase [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-}

+ 0 - 491
techreport/general/images/rule_assign__assign.eps

@@ -1,491 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 450 418
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 450 418
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 414 382 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Inst
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-35.1 107 35.19 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-16.1 103.3 moveto 38 (Assign) alignedtext
-grestore
-% OldPhase
-gsave
-1 setlinewidth
-0.66667 1 1 nodecolor
-124.1 107 36 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-104.6 103.3 moveto 39 ('assign') alignedtext
-grestore
-% NewPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-212.1 107 33.6 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-194.1 103.3 moveto 36 ('finish') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-212.1 371 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-212.1 371 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-212.1 291 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-212.1 291 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 212.1 369.12 moveto
-212.1 362.71 212.1 322.73 212.1 302.99 curveto
-stroke
-0 0 0 edgecolor
-newpath 215.6 302.97 moveto
-212.1 292.97 lineto
-208.6 302.97 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 215.6 302.97 moveto
-212.1 292.97 lineto
-208.6 302.97 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-212.1 327.3 moveto 53 (username) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-212.1 211 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-212.1 211 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 212.1 289.12 moveto
-212.1 282.71 212.1 242.73 212.1 222.99 curveto
-stroke
-0 0 0 edgecolor
-newpath 215.6 222.97 moveto
-212.1 212.97 lineto
-208.6 222.97 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 215.6 222.97 moveto
-212.1 212.97 lineto
-208.6 222.97 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-212.1 247.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Inst
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 210.68 209.46 moveto
-203.2 206.58 167.47 192.61 140.1 177.5 curveto
-112.97 162.53 83.69 142.83 62.96 128.22 curveto
-stroke
-0 0 0 edgecolor
-newpath 64.81 125.25 moveto
-54.63 122.31 lineto
-60.76 130.95 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 64.81 125.25 moveto
-54.63 122.31 lineto
-60.76 130.95 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-140.1 166.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->OldPhase
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 211.02 209.29 moveto
-206.12 206.06 185.71 192.21 172.1 177.5 curveto
-159.52 163.9 147.67 146.8 138.88 132.96 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 141.83 131.07 moveto
-133.58 124.41 lineto
-135.88 134.76 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 141.83 131.07 moveto
-133.58 124.41 lineto
-135.88 134.76 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-172.1 166.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->NewPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 212.1 208.85 moveto
-212.1 201.71 212.1 162.63 212.1 135.27 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 215.6 135.1 moveto
-212.1 125.1 lineto
-208.6 135.1 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 215.6 135.1 moveto
-212.1 125.1 lineto
-208.6 135.1 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-212.1 166.3 moveto 36 ('phase') alignedtext
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-299.1 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-299.1 3 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 213.3 209.39 moveto
-218.74 206.58 241.17 194.3 252.1 177.5 curveto
-287.02 123.78 296.16 44.63 298.41 15.39 curveto
-stroke
-0 0 0 edgecolor
-newpath 301.91 15.41 moveto
-299.05 5.21 lineto
-294.93 14.97 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 301.91 15.41 moveto
-299.05 5.21 lineto
-294.93 14.97 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-287.1 103.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% Var
-gsave
-0 0 0 nodecolor
-369.1 107 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-369.1 107 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->Var
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 213.36 209.7 moveto
-221.33 207.79 265.3 196.67 296.1 177.5 curveto
-323.76 160.28 349.81 131.34 361.95 116.84 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 364.88 118.78 moveto
-368.47 108.81 lineto
-359.45 114.36 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 364.88 118.78 moveto
-368.47 108.81 lineto
-359.45 114.36 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-317.1 166.3 moveto 49 ('variable') alignedtext
-grestore
-% Var->ReturnValue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 368.31 104.85 moveto
-362.17 95.91 321.72 36.97 305.66 13.56 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 308.33 11.27 moveto
-299.79 5.01 lineto
-302.56 15.24 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 308.33 11.27 moveto
-299.79 5.01 lineto
-302.56 15.24 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-330.1 39.3 moveto 34 ('value') alignedtext
-grestore
-% OldValue
-gsave
-0 0 0 nodecolor
-372.1 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-372.1 3 1.8 1.8 ellipse_path stroke
-grestore
-% Var->OldValue
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 369.13 104.85 moveto
-369.39 96.11 371.05 39.64 371.77 15.22 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 375.27 15.11 moveto
-372.07 5.01 lineto
-368.27 14.9 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 375.27 15.11 moveto
-372.07 5.01 lineto
-368.27 14.9 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-372.1 39.3 moveto 34 ('value') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 19
techreport/general/images/rule_assign__init.dot

@@ -1,19 +0,0 @@
-digraph {
-    node [shape="point"]
-    Phase [label="'init'",shape="oval"]
-    Inst [label="Assign",shape="oval"]
-    NewEvalStack [color="green"]
-    StackPhase [label="'value'",shape="oval",color="green"]
-
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Phase [label="'phase'"]
-    Frame -> NewEvalStack [label="'evalstack'",color="green",penwidth=4]
-    Frame -> OldEvalStack [label="'evalstack'",color="blue",style="dashed"]
-    NewEvalStack -> OldEvalStack [label="'prev'",color="green",penwidth=4]
-    Frame -> Inst [label="'IP'",color="blue",style="dashed"]
-    Inst -> Cond [label="'var'"]
-    OldEvalStack -> Inst [label="'inst'",color="green",penwidth=4]
-    OldEvalStack -> StackPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> Cond [label="'IP'",color="green",penwidth=4]
-}

+ 0 - 537
techreport/general/images/rule_assign__init.eps

@@ -1,537 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 545 451
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 545 451
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 509 415 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Phase
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-48.48 226 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-36.98 222.3 moveto 23 ('init') alignedtext
-grestore
-% Inst
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-193.48 73 35.19 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-174.48 69.3 moveto 38 (Assign) alignedtext
-grestore
-% Cond
-gsave
-0 0 0 nodecolor
-394.48 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-394.48 2 1.8 1.8 ellipse_path stroke
-grestore
-% Inst->Cond
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 221.85 62.26 moveto
-266.89 46.8 352.79 17.31 383.35 6.82 curveto
-stroke
-0 0 0 edgecolor
-newpath 384.82 10.01 moveto
-393.15 3.46 lineto
-382.55 3.39 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 384.82 10.01 moveto
-393.15 3.46 lineto
-382.55 3.39 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-341.48 25.3 moveto 22 ('var') alignedtext
-grestore
-% NewEvalStack
-gsave
-0.33333 1 1 nodecolor
-220.48 226 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-220.48 226 1.8 1.8 ellipse_path stroke
-grestore
-% OldEvalStack
-gsave
-0 0 0 nodecolor
-273.48 149 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-273.48 149 1.8 1.8 ellipse_path stroke
-grestore
-% NewEvalStack->OldEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 221.07 224.16 moveto
-225.55 217.82 254.13 177.37 267.1 159.03 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 270.04 160.93 moveto
-272.95 150.74 lineto
-264.32 156.89 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 270.04 160.93 moveto
-272.95 150.74 lineto
-264.32 156.89 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-256.48 178.3 moveto 29 ('prev') alignedtext
-grestore
-% StackPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-349.48 73 32.49 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-332.48 69.3 moveto 34 ('value') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-208.48 406 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-208.48 406 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-208.48 351 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-208.48 351 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 208.48 404.08 moveto
-208.48 399.3 208.48 376.96 208.48 363.13 curveto
-stroke
-0 0 0 edgecolor
-newpath 211.98 363.12 moveto
-208.48 353.12 lineto
-204.98 363.12 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 211.98 363.12 moveto
-208.48 353.12 lineto
-204.98 363.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-208.48 374.3 moveto 53 (username) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-208.48 296 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-208.48 296 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 208.48 349.08 moveto
-208.48 344.3 208.48 321.96 208.48 308.13 curveto
-stroke
-0 0 0 edgecolor
-newpath 211.98 308.12 moveto
-208.48 298.12 lineto
-204.98 308.12 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 211.98 308.12 moveto
-208.48 298.12 lineto
-204.98 308.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-208.48 320.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Phase
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 206.81 295.08 moveto
-196.31 295.54 138.46 296.99 98.48 276.5 curveto
-86.25 270.23 75.11 259.92 66.47 250.32 curveto
-stroke
-0 0 0 edgecolor
-newpath 68.98 247.87 moveto
-59.82 242.53 lineto
-63.65 252.41 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 68.98 247.87 moveto
-59.82 242.53 lineto
-63.65 252.41 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-98.48 265.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->Inst
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 208.41 294.01 moveto
-207.57 281.72 199.15 157.64 195.34 101.42 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 198.81 100.88 moveto
-194.64 91.14 lineto
-191.82 101.35 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 198.81 100.88 moveto
-194.64 91.14 lineto
-191.82 101.35 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-201.48 178.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->NewEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 208.65 294.04 moveto
-209.71 288.03 215.48 255.29 218.55 237.89 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 222 238.48 moveto
-220.29 228.02 lineto
-215.11 237.26 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 222 238.48 moveto
-220.29 228.02 lineto
-215.11 237.26 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-214.48 265.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Frame->OldEvalStack
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 210.44 295.12 moveto
-219.29 295.53 255.8 295.95 273.48 276.5 curveto
-304.34 242.54 302.56 218.48 289.48 174.5 curveto
-287.76 168.75 284.23 163.09 280.91 158.66 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 283.43 156.21 moveto
-274.3 150.84 lineto
-278.08 160.73 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 283.43 156.21 moveto
-274.3 150.84 lineto
-278.08 160.73 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-298.48 222.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Frame->Cond
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 209.96 294.97 moveto
-231.68 294.48 484.48 287.45 484.48 227 curveto
-484.48 227 484.48 227 484.48 72 curveto
-484.48 32.65 429.61 12.68 405.55 5.82 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 406.31 2.4 moveto
-395.75 3.28 lineto
-404.55 9.18 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 406.31 2.4 moveto
-395.75 3.28 lineto
-404.55 9.18 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-484.48 145.3 moveto 17 ('IP') alignedtext
-grestore
-% OldEvalStack->Inst
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 272.58 147.17 moveto
-267.16 142.16 238.42 115.58 217.14 95.89 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 219.41 93.22 moveto
-209.69 89 lineto
-214.65 98.36 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 219.41 93.22 moveto
-209.69 89 lineto
-214.65 98.36 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-245.48 112.3 moveto 25 ('inst') alignedtext
-grestore
-% OldEvalStack->StackPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 274.33 147.17 moveto
-279.45 142.18 306.54 115.81 326.73 96.15 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 329.35 98.48 moveto
-334.07 89 lineto
-324.47 93.47 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 329.35 98.48 moveto
-334.07 89 lineto
-324.47 93.47 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-314.48 112.3 moveto 36 ('phase') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 23
techreport/general/images/rule_assign__value.dot

@@ -1,23 +0,0 @@
-digraph {
-    node [shape="point"]
-    Phase [label="'value'",shape="oval",color="blue"]
-    Inst [label="Assign",shape="oval"]
-    NewEvalStack [color="green"]
-    StackPhase [label="'assign'",shape="oval",color="green"]
-    NewPhase [label="'init'",shape="oval",color="green"]
-
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Phase [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> NewEvalStack [label="'evalstack'",color="green",penwidth=4]
-    Frame -> OldEvalStack [label="'evalstack'",color="blue",style="dashed"]
-    NewEvalStack -> OldEvalStack [label="'prev'",color="green",penwidth=4]
-    Frame -> Inst [label="'IP'",color="blue",style="dashed"]
-    Inst -> Cond [label="'value'"]
-    OldEvalStack -> Inst [label="'inst'",color="green",penwidth=4]
-    OldEvalStack -> StackPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> Cond [label="'IP'",color="green",penwidth=4]
-    Frame -> Returnvalue [label="'returnvalue'"]
-    Frame -> Returnvalue [label="'variable'",color="green",penwidth=4]
-}

+ 0 - 631
techreport/general/images/rule_assign__value.eps

@@ -1,631 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 536 461
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 536 461
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 500 425 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Phase
-gsave
-1 setlinewidth
-0.66667 1 1 nodecolor
-32.5 231 32.49 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-15.5 227.3 moveto 34 ('value') alignedtext
-grestore
-% Inst
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-161.5 74 35.19 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-142.5 70.3 moveto 38 (Assign) alignedtext
-grestore
-% Cond
-gsave
-0 0 0 nodecolor
-281.5 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-281.5 2 1.8 1.8 ellipse_path stroke
-grestore
-% Inst->Cond
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 183.79 60 moveto
-210.03 44.69 252.46 19.94 271.59 8.78 curveto
-stroke
-0 0 0 edgecolor
-newpath 273.51 11.71 moveto
-280.39 3.65 lineto
-269.99 5.66 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 273.51 11.71 moveto
-280.39 3.65 lineto
-269.99 5.66 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-246.5 26.3 moveto 34 ('value') alignedtext
-grestore
-% NewEvalStack
-gsave
-0.33333 1 1 nodecolor
-135.5 231 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-135.5 231 1.8 1.8 ellipse_path stroke
-grestore
-% OldEvalStack
-gsave
-0 0 0 nodecolor
-196.5 153 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-196.5 153 1.8 1.8 ellipse_path stroke
-grestore
-% NewEvalStack->OldEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 136.18 229.15 moveto
-141.39 222.66 174.86 180.95 189.58 162.62 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 192.36 164.74 moveto
-195.89 154.75 lineto
-186.9 160.36 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 192.36 164.74 moveto
-195.89 154.75 lineto
-186.9 160.36 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-175.5 183.3 moveto 29 ('prev') alignedtext
-grestore
-% StackPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-250.5 74 36 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-231 70.3 moveto 39 ('assign') alignedtext
-grestore
-% NewPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-191.5 231 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-180 227.3 moveto 23 ('init') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-228.5 416 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-228.5 416 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-228.5 360 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-228.5 360 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 228.5 414.06 moveto
-228.5 409.19 228.5 386.43 228.5 372.34 curveto
-stroke
-0 0 0 edgecolor
-newpath 232 372.14 moveto
-228.5 362.14 lineto
-225 372.14 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 232 372.14 moveto
-228.5 362.14 lineto
-225 372.14 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-228.5 384.3 moveto 53 (username) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-228.5 304 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-228.5 304 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 228.5 358.06 moveto
-228.5 353.19 228.5 330.43 228.5 316.34 curveto
-stroke
-0 0 0 edgecolor
-newpath 232 316.14 moveto
-228.5 306.14 lineto
-225 316.14 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 232 316.14 moveto
-228.5 306.14 lineto
-225 316.14 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-228.5 328.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Phase
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 227.02 302.95 moveto
-210.29 302.38 56.98 296.77 42.5 283.5 curveto
-35.84 277.4 32.84 268.29 31.66 259.43 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 35.14 259.08 moveto
-31.01 249.33 lineto
-28.16 259.53 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 35.14 259.08 moveto
-31.01 249.33 lineto
-28.16 259.53 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-42.5 272.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->Inst
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 227.04 302.94 moveto
-215.86 302.41 143.74 298.48 129.5 283.5 curveto
-81.89 233.43 121.83 143.92 146.14 100.3 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 149.26 101.89 moveto
-151.19 91.47 lineto
-143.19 98.41 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 149.26 101.89 moveto
-151.19 91.47 lineto
-143.19 98.41 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-113.5 183.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->NewEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 226.91 302.9 moveto
-215.95 302.19 151.65 297.46 139.5 283.5 curveto
-129.78 272.34 130.93 254.19 132.97 242.68 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 136.4 243.39 moveto
-135.24 232.86 lineto
-129.58 241.82 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 136.4 243.39 moveto
-135.24 232.86 lineto
-129.58 241.82 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-139.5 272.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Frame->NewPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 227.38 302.44 moveto
-223.53 300.44 210.73 293.28 204.5 283.5 curveto
-199.89 276.28 196.92 267.53 195 259.3 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 198.4 258.48 moveto
-193.08 249.32 lineto
-191.53 259.8 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 198.4 258.48 moveto
-193.08 249.32 lineto
-191.53 259.8 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-204.5 272.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->OldEvalStack
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 229.37 302.04 moveto
-231.73 299.36 238.25 291.46 240.5 283.5 curveto
-242.31 277.09 241.26 275.12 240.5 268.5 curveto
-237.59 243.33 236.35 236.74 227.5 213 curveto
-220.68 194.73 209.4 174.94 202.49 163.55 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 205.29 161.42 moveto
-197.02 154.8 lineto
-199.35 165.13 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 205.29 161.42 moveto
-197.02 154.8 lineto
-199.35 165.13 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-238.5 227.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Frame->Cond
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 230.04 302.79 moveto
-243.29 300.93 337.5 285.75 337.5 232 curveto
-337.5 232 337.5 232 337.5 73 curveto
-337.5 43.73 307.28 19.69 291.24 8.99 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 292.81 5.85 moveto
-282.47 3.54 lineto
-289.12 11.79 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 292.81 5.85 moveto
-282.47 3.54 lineto
-289.12 11.79 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-337.5 149.3 moveto 17 ('IP') alignedtext
-grestore
-% Returnvalue
-gsave
-0 0 0 nodecolor
-415.5 231 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-415.5 231 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->Returnvalue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 230.28 303.03 moveto
-241.52 303.16 303.55 302.94 348.5 283.5 curveto
-361.28 277.97 391.97 252.3 406.96 239.42 curveto
-stroke
-0 0 0 edgecolor
-newpath 409.37 241.97 moveto
-414.63 232.77 lineto
-404.78 236.68 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 409.37 241.97 moveto
-414.63 232.77 lineto
-404.78 236.68 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-371.5 272.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% Frame->Returnvalue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 230.18 302.98 moveto
-249.21 302.72 423.57 299.87 438.5 283.5 curveto
-450.21 270.65 434.6 250.84 423.94 239.91 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 426.13 237.17 moveto
-416.47 232.83 lineto
-421.32 242.25 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 426.13 237.17 moveto
-416.47 232.83 lineto
-421.32 242.25 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-443.5 272.3 moveto 49 ('variable') alignedtext
-grestore
-% OldEvalStack->Inst
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 196.1 151.14 moveto
-193.86 146.19 182.43 121.05 173.31 100.99 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 176.39 99.32 moveto
-169.07 91.66 lineto
-170.02 102.21 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 176.39 99.32 moveto
-169.07 91.66 lineto
-170.02 102.21 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-184.5 115.3 moveto 25 ('inst') alignedtext
-grestore
-% OldEvalStack->StackPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 197.1 151.14 moveto
-200.65 146.08 219.06 119.83 233.28 99.55 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 236.19 101.5 moveto
-239.06 91.31 lineto
-230.45 97.48 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 236.19 101.5 moveto
-239.06 91.31 lineto
-230.45 97.48 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-225.5 115.3 moveto 36 ('phase') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 18
techreport/general/images/rule_break.dot

@@ -1,18 +0,0 @@
-digraph {
-    Root [shape="point"]
-    UserRoot [shape="point"]
-    Frame [shape="point"]
-
-    OldPhase [label="'init'",color="blue"]
-    NewPhase [label="'finish'",color="green"]
-    OldIP [label="Break"]
-    NewIP [label="While"]
-
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> OldPhase [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> OldIP [label="'IP'",color="blue",style="dashed"]
-    Frame -> NewIP [label="'IP'",color="green",penwidth=4]
-    OldIP -> NewIP [label="'while'"]
-}

+ 0 - 427
techreport/general/images/rule_break.eps

@@ -1,427 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 333 331
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 333 331
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 297 295 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Root
-gsave
-0 0 0 nodecolor
-154.7 285 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-154.7 285 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-154.7 230 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-154.7 230 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 154.7 283.08 moveto
-154.7 278.3 154.7 255.96 154.7 242.13 curveto
-stroke
-0 0 0 edgecolor
-newpath 158.2 242.12 moveto
-154.7 232.12 lineto
-151.2 242.12 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 158.2 242.12 moveto
-154.7 232.12 lineto
-151.2 242.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-154.7 254.3 moveto 53 (username) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-154.7 176 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-154.7 176 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 154.7 228.1 moveto
-154.7 223.45 154.7 201.94 154.7 188.35 curveto
-stroke
-0 0 0 edgecolor
-newpath 158.2 188.1 moveto
-154.7 178.1 lineto
-151.2 188.1 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 158.2 188.1 moveto
-154.7 178.1 lineto
-151.2 188.1 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-154.7 199.3 moveto 37 ('frame') alignedtext
-grestore
-% OldPhase
-gsave
-1 setlinewidth
-0.66667 1 1 nodecolor
-29.7 105 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-18.2 101.3 moveto 23 ('init') alignedtext
-grestore
-% Frame->OldPhase
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 152.99 174.78 moveto
-145.27 173.75 112.91 168.83 89.7 156.5 curveto
-75.57 148.99 61.78 137.74 50.98 127.76 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 53.34 125.17 moveto
-43.69 120.79 lineto
-48.5 130.23 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 53.34 125.17 moveto
-43.69 120.79 lineto
-48.5 130.23 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-89.7 145.3 moveto 36 ('phase') alignedtext
-grestore
-% NewPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-116.7 105 33.6 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-98.7 101.3 moveto 36 ('finish') alignedtext
-grestore
-% Frame->NewPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 153.9 174.38 moveto
-151.16 172.21 141.96 164.63 136.7 156.5 curveto
-132.02 149.26 128.13 140.76 125.06 132.81 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 128.28 131.42 moveto
-121.63 123.18 lineto
-121.69 133.77 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 128.28 131.42 moveto
-121.63 123.18 lineto
-121.69 133.77 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-136.7 145.3 moveto 36 ('phase') alignedtext
-grestore
-% OldIP
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-208.7 105 31.7 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-192.2 101.3 moveto 33 (Break) alignedtext
-grestore
-% Frame->OldIP
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 155.43 174.33 moveto
-157.95 171.99 166.5 163.93 172.7 156.5 curveto
-179.46 148.4 186.32 139.11 192.21 130.72 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 195.16 132.61 moveto
-197.95 122.39 lineto
-189.39 128.63 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 195.16 132.61 moveto
-197.95 122.39 lineto
-189.39 128.63 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-184.7 145.3 moveto 17 ('IP') alignedtext
-grestore
-% NewIP
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-250.7 18 32.49 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-233.7 14.3 moveto 34 (While) alignedtext
-grestore
-% Frame->NewIP
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 156.36 174.64 moveto
-166.8 172.27 223.69 158.02 249.7 123 curveto
-268.61 97.54 277.41 85.26 269.7 54.5 curveto
-268.84 51.07 267.58 47.62 266.11 44.28 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 269.2 42.63 moveto
-261.57 35.28 lineto
-262.95 45.79 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 269.2 42.63 moveto
-261.57 35.28 lineto
-262.95 45.79 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-271.7 101.3 moveto 17 ('IP') alignedtext
-grestore
-% OldIP->NewIP
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 217 87.21 moveto
-223.02 75.02 231.27 58.32 238.1 44.49 curveto
-stroke
-0 0 0 edgecolor
-newpath 241.27 45.98 moveto
-242.56 35.47 lineto
-234.99 42.88 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 241.27 45.98 moveto
-242.56 35.47 lineto
-234.99 42.88 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-232.7 58.3 moveto 35 ('while') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 30
techreport/general/images/rule_call__call-no-params.dot

@@ -1,30 +0,0 @@
-digraph {
-    node [shape="point"]
-    Call [label="Call",shape="oval"]
-    Phase [label="'call'",shape="oval",color="blue"]
-    NewPhase [label="'finish'",shape="oval",color="green"]
-    Param [color="red"]
-    NPhase [label="'init'",shape="oval",color="green"]
-    NEvalStack [color="green"]
-    NSymbols [color="green"]
-    NewFrame [color="green"]
-    NewReturnValue [color="green"]
-    
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'",color="blue",style="dashed"]
-    UserRoot -> NewFrame [label="'frame'",color="green",penwidth=4]
-    Frame -> Call [label="'IP'"]
-    Frame -> Phase [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Call -> Param [label="'last_param'",color="red",style="dotted"]
-    Frame -> ReturnValue [label="'returnvalue'"]
-    ReturnValue -> Body [label="'body'"]
-
-    NewFrame -> NEvalStack [label="'evalstack'",color="green",penwidth=4]
-    NewFrame -> NSymbols [label="'symbols'",color="green",penwidth=4]
-    NewFrame -> NPhase [label="'phase'",color="green",penwidth=4]
-    NewFrame -> Frame [label="'prev'",color="green",penwidth=4]
-    NewFrame -> Call [label="'caller'",color="green",penwidth=4]
-    NewFrame -> Body [label="'IP'", color="green",penwidth=4]
-    NewFrame -> NewReturnValue [label="'returnvalue'",color="green",penwidth=4]
-}

+ 0 - 706
techreport/general/images/rule_call__call-no-params.eps

@@ -1,706 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 581 581
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 581 581
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 545 545 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Call
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-164.09 111 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-152.59 107.3 moveto 23 (Call) alignedtext
-grestore
-% Param
-gsave
-0 1 1 nodecolor
-164.09 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 1 1 nodecolor
-164.09 3 1.8 1.8 ellipse_path stroke
-grestore
-% Call->Param
-gsave
-1 setlinewidth
-dotted
-0 1 1 edgecolor
-newpath 164.09 92.97 moveto
-164.09 71.07 164.09 33.64 164.09 15.09 curveto
-stroke
-0 1 1 edgecolor
-newpath 167.59 15.04 moveto
-164.09 5.04 lineto
-160.59 15.04 lineto
-closepath fill
-1 setlinewidth
-solid
-0 1 1 edgecolor
-newpath 167.59 15.04 moveto
-164.09 5.04 lineto
-160.59 15.04 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-164.09 40.3 moveto 65 ('last_param') alignedtext
-grestore
-% Phase
-gsave
-1 setlinewidth
-0.66667 1 1 nodecolor
-510.09 111 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-497.59 107.3 moveto 25 ('call') alignedtext
-grestore
-% NewPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-431.09 111 33.6 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-413.09 107.3 moveto 36 ('finish') alignedtext
-grestore
-% NPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-316.09 243 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-304.59 239.3 moveto 23 ('init') alignedtext
-grestore
-% NEvalStack
-gsave
-0.33333 1 1 nodecolor
-2.09 243 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-2.09 243 1.8 1.8 ellipse_path stroke
-grestore
-% NSymbols
-gsave
-0.33333 1 1 nodecolor
-80.09 243 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-80.09 243 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame
-gsave
-0.33333 1 1 nodecolor
-206.09 360 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-206.09 360 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Call
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 205.2 358.02 moveto
-201.22 353.56 184.68 334.57 175.09 316.5 curveto
-162.79 293.34 159.6 286.83 155.09 261 curveto
-147.74 218.94 153.58 169.3 158.67 139.26 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 162.17 139.59 moveto
-160.49 129.13 lineto
-155.28 138.35 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 162.17 139.59 moveto
-160.49 129.13 lineto
-155.28 138.35 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-155.09 239.3 moveto 35 ('caller') alignedtext
-grestore
-% NewFrame->NPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 207.5 358.38 moveto
-214.99 355.08 250.41 338.76 272.09 316.5 curveto
-285.4 302.83 296.51 284.42 304.24 269.57 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 307.47 270.92 moveto
-308.81 260.41 lineto
-301.21 267.79 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 307.47 270.92 moveto
-308.81 260.41 lineto
-301.21 267.79 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-284.09 305.3 moveto 36 ('phase') alignedtext
-grestore
-% NewFrame->NEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 204.28 358.86 moveto
-186.61 357.49 44.34 345.6 16.09 316.5 curveto
--.05 299.88 -.38 270.61 .82 254.82 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 4.3 255.19 moveto
-1.94 244.86 lineto
--2.66 254.4 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 4.3 255.19 moveto
-1.94 244.86 lineto
--2.66 254.4 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-16.09 305.3 moveto 55 ('evalstack') alignedtext
-grestore
-% NewFrame->NSymbols
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 204.5 359.06 moveto
-192.29 359.46 112.89 360.26 81.09 316.5 curveto
-67.85 298.29 72.62 270.14 76.7 254.82 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 80.18 255.41 moveto
-79.78 244.82 lineto
-73.49 253.34 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 80.18 255.41 moveto
-79.78 244.82 lineto
-73.49 253.34 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-81.09 305.3 moveto 51 ('symbols') alignedtext
-grestore
-% NewReturnValue
-gsave
-0.33333 1 1 nodecolor
-201.09 243 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-201.09 243 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->NewReturnValue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 205.21 358.05 moveto
-201.3 353.7 185.34 335.15 180.09 316.5 curveto
-173.71 293.87 186.59 267.34 194.86 253.5 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 197.86 255.32 moveto
-200.35 245.02 lineto
-191.98 251.52 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 197.86 255.32 moveto
-200.35 245.02 lineto
-191.98 251.52 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-180.09 305.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-380.09 243 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-380.09 243 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Frame
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 207.64 358.78 moveto
-218.42 357.16 282.9 346.49 324.09 316.5 curveto
-347.79 299.24 366.4 269.23 374.95 253.8 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 378.1 255.33 moveto
-379.67 244.85 lineto
-371.91 252.07 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 378.1 255.33 moveto
-379.67 244.85 lineto
-371.91 252.07 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-341.09 305.3 moveto 29 ('prev') alignedtext
-grestore
-% Body
-gsave
-0 0 0 nodecolor
-283.09 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-283.09 3 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Body
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 207.41 358.16 moveto
-213.35 354.28 237.7 337.46 247.09 316.5 curveto
-273.86 256.71 250.74 234.6 258.09 169.5 curveto
-264.68 111.03 276.48 41.51 281.13 15 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 284.6 15.5 moveto
-282.9 5.05 lineto
-277.7 14.28 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 284.6 15.5 moveto
-282.9 5.05 lineto
-277.7 14.28 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-258.09 173.3 moveto 17 ('IP') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-369.09 534 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-369.09 534 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-369.09 451 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-369.09 451 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 369.09 532.09 moveto
-369.09 525.38 369.09 483.21 369.09 462.91 curveto
-stroke
-0 0 0 edgecolor
-newpath 372.59 462.8 moveto
-369.09 452.8 lineto
-365.59 462.8 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 372.59 462.8 moveto
-369.09 452.8 lineto
-365.59 462.8 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-369.09 489.3 moveto 53 (username) alignedtext
-grestore
-% UserRoot->NewFrame
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 368.04 449.43 moveto
-356.41 443.08 250.48 385.24 216.52 366.7 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 217.82 363.42 moveto
-207.37 361.7 lineto
-214.47 369.56 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 217.82 363.42 moveto
-207.37 361.7 lineto
-214.47 369.56 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-307.09 406.3 moveto 37 ('frame') alignedtext
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 369.13 449.08 moveto
-369.81 436.39 377.32 295.82 379.5 255.03 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 383 255.02 moveto
-380.04 244.85 lineto
-376.01 254.65 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 383 255.02 moveto
-380.04 244.85 lineto
-376.01 254.65 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-375.09 356.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Call
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 379.13 241.22 moveto
-371.73 235.23 322.7 195.83 279.09 169.5 curveto
-251.71 152.97 218.96 136.94 195.42 126.02 curveto
-stroke
-0 0 0 edgecolor
-newpath 196.81 122.8 moveto
-186.26 121.81 lineto
-193.88 129.16 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 196.81 122.8 moveto
-186.26 121.81 lineto
-193.88 129.16 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-302.09 173.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->Phase
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 381.23 241.29 moveto
-388.46 236.78 428.24 211.48 455.09 184.5 curveto
-469.67 169.85 483.71 151.23 493.96 136.53 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 497.06 138.19 moveto
-499.82 127.96 lineto
-491.28 134.24 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 497.06 138.19 moveto
-499.82 127.96 lineto
-491.28 134.24 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-469.09 173.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->NewPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 380.55 241.21 moveto
-383.46 236.24 399.44 208.58 409.09 184.5 curveto
-415.01 169.71 420.25 152.68 424.13 138.85 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 427.57 139.55 moveto
-426.82 128.98 lineto
-420.82 137.71 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 427.57 139.55 moveto
-426.82 128.98 lineto
-420.82 137.71 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-415.09 173.3 moveto 36 ('phase') alignedtext
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-318.09 111 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-318.09 111 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 379.38 241.26 moveto
-374.92 236.57 350.56 210.32 338.09 184.5 curveto
-328.2 164.04 322.52 137.9 319.89 123.25 curveto
-stroke
-0 0 0 edgecolor
-newpath 323.29 122.38 moveto
-318.23 113.07 lineto
-316.38 123.5 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 323.29 122.38 moveto
-318.23 113.07 lineto
-316.38 123.5 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-338.09 173.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% ReturnValue->Body
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 317.69 108.81 moveto
-314.65 99.6 294.77 39.38 286.59 14.61 curveto
-stroke
-0 0 0 edgecolor
-newpath 289.89 13.45 moveto
-283.43 5.05 lineto
-283.24 15.64 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 289.89 13.45 moveto
-283.43 5.05 lineto
-283.24 15.64 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-299.09 40.3 moveto 32 ('body') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 34
techreport/general/images/rule_call__call-params.dot

@@ -1,34 +0,0 @@
-digraph {
-    node [shape="point"]
-    Call [label="Call",shape="oval"]
-    Phase [label="'call'",shape="oval",color="blue"]
-    NewPhase [label="'finish'",color="green",shape="oval"]
-    NVariable [color="green"]
-    mid [color="green",width=0]
-    ParamA_mid [width=0]
-    Name_actual [label="a",shape="oval"]
-    
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'",color="blue",style="dashed"]
-    UserRoot -> NewFrame [label="'frame'",color="green",penwidth=4]
-    Frame -> Call [label="'IP'"]
-    Frame -> Phase [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Call -> ParamN [label="'last_param'"]
-    Frame -> ReturnValue [label="'returnvalue'"]
-
-    ParamN -> Name_actual [label="'name'"]
-
-    NewFrame -> NSymbols [label="'symbols'"]
-    NewFrame -> Frame [label="'prev'"]
-    NewFrame -> Call [label="'caller'"]
-    NewFrame -> Body [label="'IP'"]
-    Signature -> Body [label="'body'"]
-    Signature -> Params [label="'params'"]
-
-    NSymbols -> mid [arrowhead="none",color="green",penwidth=4]
-    mid -> NVariable [color="green",penwidth=4]
-    NVariable -> ReturnValue [color="green",label="'value'",penwidth=4]
-    mid -> ParamA [color="green",penwidth=4]
-    Params -> ParamA [label="a"]
-}

+ 0 - 808
techreport/general/images/rule_call__call-params.eps

@@ -1,808 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 494 463
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 494 463
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 458 427 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Call
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-36.9 160 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-25.4 156.3 moveto 23 (Call) alignedtext
-grestore
-% ParamN
-gsave
-0 0 0 nodecolor
-36.9 89 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-36.9 89 1.8 1.8 ellipse_path stroke
-grestore
-% Call->ParamN
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 36.9 141.94 moveto
-36.9 129.37 36.9 112.61 36.9 101.57 curveto
-stroke
-0 0 0 edgecolor
-newpath 40.4 101.39 moveto
-36.9 91.39 lineto
-33.4 101.39 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 40.4 101.39 moveto
-36.9 91.39 lineto
-33.4 101.39 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-36.9 112.3 moveto 65 ('last_param') alignedtext
-grestore
-% Phase
-gsave
-1 setlinewidth
-0.66667 1 1 nodecolor
-304.9 160 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-292.4 156.3 moveto 25 ('call') alignedtext
-grestore
-% NewPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-144.9 160 33.6 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-126.9 156.3 moveto 36 ('finish') alignedtext
-grestore
-% NVariable
-gsave
-0.33333 1 1 nodecolor
-326.9 89 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-326.9 89 1.8 1.8 ellipse_path stroke
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-260.9 18 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-260.9 18 1.8 1.8 ellipse_path stroke
-grestore
-% NVariable->ReturnValue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 326.15 87.23 moveto
-320.58 81.4 284.98 44.18 268.84 27.3 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 270.99 24.49 moveto
-261.55 19.68 lineto
-265.93 29.33 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 270.99 24.49 moveto
-261.55 19.68 lineto
-265.93 29.33 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-309.9 58.3 moveto 34 ('value') alignedtext
-grestore
-% mid
-gsave
-0.33333 1 1 nodecolor
-365.9 160 0 0 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-365.9 160 0 0 ellipse_path stroke
-grestore
-% mid->NVariable
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 365.87 158.95 moveto
-364.97 157.36 342.83 118.19 332.33 99.61 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 335.29 97.73 moveto
-327.32 90.75 lineto
-329.19 101.18 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 335.29 97.73 moveto
-327.32 90.75 lineto
-329.19 101.18 lineto
-closepath stroke
-grestore
-% ParamA
-gsave
-0 0 0 nodecolor
-397.9 89 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-397.9 89 1.8 1.8 ellipse_path stroke
-grestore
-% mid->ParamA
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 365.92 158.95 moveto
-366.65 157.38 384.39 119.12 393.13 100.28 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 396.32 101.71 moveto
-397.36 91.16 lineto
-389.97 98.76 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 396.32 101.71 moveto
-397.36 91.16 lineto
-389.97 98.76 lineto
-closepath stroke
-grestore
-% ParamA_mid
-gsave
-0 0 0 nodecolor
-287.9 417 0 0 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-287.9 417 0 0 ellipse_path stroke
-grestore
-% Name_actual
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-36.9 18 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-33.4 14.3 moveto 7 (a) alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-260.9 417 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-260.9 417 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-260.9 362 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-260.9 362 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 260.9 415.08 moveto
-260.9 410.3 260.9 387.96 260.9 374.13 curveto
-stroke
-0 0 0 edgecolor
-newpath 264.4 374.12 moveto
-260.9 364.12 lineto
-257.4 374.12 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 264.4 374.12 moveto
-260.9 364.12 lineto
-257.4 374.12 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-260.9 386.3 moveto 53 (username) alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-178.9 236 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-178.9 236 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 261.44 360.27 moveto
-266.72 353.11 308.16 294.75 281.9 261.5 curveto
-270.6 247.21 215.05 240.36 190.55 238 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 190.7 234.5 moveto
-180.44 237.11 lineto
-190.09 241.47 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 190.7 234.5 moveto
-180.44 237.11 lineto
-190.09 241.47 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-290.9 298.3 moveto 37 ('frame') alignedtext
-grestore
-% NewFrame
-gsave
-0 0 0 nodecolor
-152.9 302 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-152.9 302 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot->NewFrame
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 259.68 360.35 moveto
-250.21 355.26 187.8 321.75 163.02 308.44 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 164.43 305.22 moveto
-153.96 303.57 lineto
-161.12 311.39 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 164.43 305.22 moveto
-153.96 303.57 lineto
-161.12 311.39 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-226.9 331.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Call
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 177.3 234.17 moveto
-166.6 228.59 104.5 196.23 66.57 176.46 curveto
-stroke
-0 0 0 edgecolor
-newpath 67.97 173.25 moveto
-57.49 171.73 lineto
-64.74 179.46 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 67.97 173.25 moveto
-57.49 171.73 lineto
-64.74 179.46 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-129.9 199.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->Phase
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 180.2 234.68 moveto
-187.12 232.93 220.05 224.19 243.9 210.5 curveto
-257.6 202.63 271.4 191.75 282.39 182.18 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 284.73 184.79 moveto
-289.86 175.52 lineto
-280.07 179.57 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 284.73 184.79 moveto
-289.86 175.52 lineto
-280.07 179.57 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-265.9 199.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->NewPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 178.51 234.17 moveto
-176.37 229.5 165.58 206.02 156.8 186.9 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 159.92 185.32 moveto
-152.57 177.7 lineto
-153.56 188.25 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 159.92 185.32 moveto
-152.57 177.7 lineto
-153.56 188.25 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-167.9 199.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->ReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 179.99 234.41 moveto
-184.28 232.03 200.07 222.71 207.9 210.5 curveto
-246.44 150.31 257.31 62.11 260.05 30.67 curveto
-stroke
-0 0 0 edgecolor
-newpath 263.57 30.57 moveto
-260.82 20.33 lineto
-256.59 30.05 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 263.57 30.57 moveto
-260.82 20.33 lineto
-256.59 30.05 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-247.9 112.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% NewFrame->Call
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 151.27 300.72 moveto
-143.94 299.38 113.51 292.99 95.9 276.5 curveto
-69.74 252.02 53.31 213.37 44.62 187.6 curveto
-stroke
-0 0 0 edgecolor
-newpath 47.85 186.21 moveto
-41.46 177.76 lineto
-41.18 188.35 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 47.85 186.21 moveto
-41.46 177.76 lineto
-41.18 188.35 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-69.9 232.3 moveto 35 ('caller') alignedtext
-grestore
-% NewFrame->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 151.25 300.82 moveto
-143.87 299.91 113.61 295.12 101.9 276.5 curveto
-98.35 270.86 97.96 266.88 101.9 261.5 curveto
-116.94 240.93 149.41 237.21 167 236.79 curveto
-stroke
-0 0 0 edgecolor
-newpath 166.98 240.29 moveto
-177.01 236.89 lineto
-167.04 233.29 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 166.98 240.29 moveto
-177.01 236.89 lineto
-167.04 233.29 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-101.9 265.3 moveto 29 ('prev') alignedtext
-grestore
-% NSymbols
-gsave
-0 0 0 nodecolor
-242.9 236 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-242.9 236 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->NSymbols
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 153.4 299.85 moveto
-155.75 294.65 166.08 273.12 180.9 261.5 curveto
-196.3 249.41 218.43 242.6 231.66 239.37 curveto
-stroke
-0 0 0 edgecolor
-newpath 232.54 242.76 moveto
-241.58 237.23 lineto
-231.06 235.92 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 232.54 242.76 moveto
-241.58 237.23 lineto
-231.06 235.92 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-180.9 265.3 moveto 51 ('symbols') alignedtext
-grestore
-% Body
-gsave
-0 0 0 nodecolor
-297.9 236 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-297.9 236 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Body
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 154.45 300.66 moveto
-162.69 298.85 202 289.85 231.9 276.5 curveto
-253.11 267.03 275.98 252.18 288.45 243.65 curveto
-stroke
-0 0 0 edgecolor
-newpath 290.83 246.25 moveto
-297.01 237.64 lineto
-286.81 240.52 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 290.83 246.25 moveto
-297.01 237.64 lineto
-286.81 240.52 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-260.9 265.3 moveto 17 ('IP') alignedtext
-grestore
-% ParamN->Name_actual
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 36.9 87.02 moveto
-36.9 82.52 36.9 63.24 36.9 46.35 curveto
-stroke
-0 0 0 edgecolor
-newpath 40.4 46.29 moveto
-36.9 36.29 lineto
-33.4 46.29 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 40.4 46.29 moveto
-36.9 36.29 lineto
-33.4 46.29 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-36.9 58.3 moveto 35 ('name') alignedtext
-grestore
-% NSymbols->mid
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 244.24 234.79 moveto
-254.53 233.2 321.03 222.51 336.9 210.5 curveto
-356.59 195.59 365.34 163.11 365.87 161.1 curveto
-stroke
-grestore
-% Signature
-gsave
-0 0 0 nodecolor
-395.9 302 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-395.9 302 1.8 1.8 ellipse_path stroke
-grestore
-% Signature->Body
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 394.79 300.28 moveto
-386.24 294.69 330.09 258.02 307.39 243.2 curveto
-stroke
-0 0 0 edgecolor
-newpath 309.15 240.17 moveto
-298.87 237.63 lineto
-305.32 246.03 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 309.15 240.17 moveto
-298.87 237.63 lineto
-305.32 246.03 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-355.9 265.3 moveto 32 ('body') alignedtext
-grestore
-% Params
-gsave
-0 0 0 nodecolor
-416.9 203 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-416.9 203 1.8 1.8 ellipse_path stroke
-grestore
-% Signature->Params
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 396.13 299.91 moveto
-397.92 291.64 409.45 238.4 414.51 215 curveto
-stroke
-0 0 0 edgecolor
-newpath 417.99 215.47 moveto
-416.69 204.96 lineto
-411.15 213.99 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 417.99 215.47 moveto
-416.69 204.96 lineto
-411.15 213.99 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-404.9 265.3 moveto 45 ('params') alignedtext
-grestore
-% Params->ParamA
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 416.68 200.74 moveto
-415.03 191.01 404.24 127.38 399.8 101.21 curveto
-stroke
-0 0 0 edgecolor
-newpath 403.21 100.38 moveto
-398.08 91.11 lineto
-396.31 101.55 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 403.21 100.38 moveto
-398.08 91.11 lineto
-396.31 101.55 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-412.9 156.3 moveto 7 (a) alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 37
techreport/general/images/rule_call__params-first-multi.dot

@@ -1,37 +0,0 @@
-digraph {
-    node [shape="point"]
-    Call [label="Call",shape="oval"]
-    NewEvalStack [color="green"]
-    NPhase [label="'init'",shape="oval",color="green"]
-    NEvalStack [color="green"]
-    NSymbols [color="green"]
-    NewFrame [color="green"]
-    NewPhase [label="'init'",color="green",shape="oval"]
-    NewReturnValue [color="green"]
-    
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Call [label="'IP'",color="blue",style="dashed"]
-    Frame -> ParamValue [label="'IP'",color="green",penwidth=4]
-    Frame -> Param [label="'phase'",color="blue",style="dashed"]
-    Param -> ParamValue [label="'value'"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> OldEvalStack [label="'evalstack'",color="blue",style="dashed"]
-    Frame -> NewEvalStack [label="'evalstack'",color="green",penwidth=4]
-    NewEvalStack -> OldEvalStack [label="'prev'",color="green",penwidth=4]
-    Param -> Param2 [label="'next_param'"]
-    OldEvalStack -> Call [label="'inst'",color="green",penwidth=4]
-    Call -> Param [label="'params'"]
-    OldEvalStack -> Param2 [label="'phase'",color="green",penwidth=4]
-    Frame -> ReturnValue [label="'returnvalue'"]
-    ReturnValue -> Body [label="'body'"]
-    ReturnValue -> Params [label="'params'"]
-
-    NewFrame -> NEvalStack [label="'evalstack'",color="green",penwidth=4]
-    NewFrame -> NSymbols [label="'symbols'",color="green",penwidth=4]
-    NewFrame -> NPhase [label="'phase'",color="green",penwidth=4]
-    NewFrame -> Frame [label="'prev'",color="green",penwidth=4]
-    NewFrame -> Call [label="'caller'",color="green",penwidth=4]
-    NewFrame -> Body [label="'IP'", color="green",penwidth=4]
-    NewFrame -> NewReturnValue [label="'returnvalue'",color="green",penwidth=4]
-}

+ 0 - 936
techreport/general/images/rule_call__params-first-multi.eps

@@ -1,936 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 629 593
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 629 593
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 593 557 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Call
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-223.8 141 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-212.3 137.3 moveto 23 (Call) alignedtext
-grestore
-% Param
-gsave
-0 0 0 nodecolor
-268.8 63 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-268.8 63 1.8 1.8 ellipse_path stroke
-grestore
-% Call->Param
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 233.34 123.88 moveto
-242.32 108.72 255.48 86.5 262.98 73.83 curveto
-stroke
-0 0 0 edgecolor
-newpath 266.16 75.34 moveto
-268.24 64.95 lineto
-260.13 71.77 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 266.16 75.34 moveto
-268.24 64.95 lineto
-260.13 71.77 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-255.8 89.3 moveto 45 ('params') alignedtext
-grestore
-% NewEvalStack
-gsave
-0.33333 1 1 nodecolor
-108.8 311 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-108.8 311 1.8 1.8 ellipse_path stroke
-grestore
-% OldEvalStack
-gsave
-0 0 0 nodecolor
-153.8 226 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-153.8 226 1.8 1.8 ellipse_path stroke
-grestore
-% NewEvalStack->OldEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 108.47 309.16 moveto
-106.42 303.85 96.02 274.64 106.8 255.5 curveto
-114.42 241.97 131.35 234.12 142.67 230.2 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 143.68 233.55 moveto
-152.27 227.35 lineto
-141.69 226.84 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 143.68 233.55 moveto
-152.27 227.35 lineto
-141.69 226.84 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-106.8 259.3 moveto 29 ('prev') alignedtext
-grestore
-% NPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-265.8 408 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-254.3 404.3 moveto 23 ('init') alignedtext
-grestore
-% NEvalStack
-gsave
-0.33333 1 1 nodecolor
-324.8 408 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-324.8 408 1.8 1.8 ellipse_path stroke
-grestore
-% NSymbols
-gsave
-0.33333 1 1 nodecolor
-402.8 408 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-402.8 408 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame
-gsave
-0.33333 1 1 nodecolor
-324.8 487 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-324.8 487 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Call
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 323.34 485.92 moveto
-302.01 484.67 53.8 468.92 53.8 409 curveto
-53.8 409 53.8 409 53.8 225 curveto
-53.8 166.28 136.71 149.1 186.73 144.07 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 187.21 147.54 moveto
-196.86 143.17 lineto
-186.59 140.57 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 187.21 147.54 moveto
-196.86 143.17 lineto
-186.59 140.57 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-53.8 307.3 moveto 35 ('caller') alignedtext
-grestore
-% NewFrame->NPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 323.32 485.59 moveto
-317.51 483.9 296.05 476.94 284.8 463.5 curveto
-278.23 455.66 273.88 445.4 271.03 435.91 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 274.37 434.86 moveto
-268.48 426.05 lineto
-267.59 436.61 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 274.37 434.86 moveto
-268.48 426.05 lineto
-267.59 436.61 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-284.8 452.3 moveto 36 ('phase') alignedtext
-grestore
-% NewFrame->NEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 324.8 485.14 moveto
-324.8 478.84 324.8 439.72 324.8 420.14 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 328.3 419.96 moveto
-324.8 409.96 lineto
-321.3 419.96 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 328.3 419.96 moveto
-324.8 409.96 lineto
-321.3 419.96 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-324.8 452.3 moveto 55 ('evalstack') alignedtext
-grestore
-% NewFrame->NSymbols
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 326.43 485.81 moveto
-333.77 484.87 364.19 480.08 380.8 463.5 curveto
-392.84 451.48 398.53 431.99 401.03 419.87 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 404.5 420.35 moveto
-402.7 409.91 lineto
-397.6 419.19 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 404.5 420.35 moveto
-402.7 409.91 lineto
-397.6 419.19 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-391.8 452.3 moveto 51 ('symbols') alignedtext
-grestore
-% NewReturnValue
-gsave
-0.33333 1 1 nodecolor
-476.8 408 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-476.8 408 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->NewReturnValue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 326.54 485.88 moveto
-339.9 484.95 426.19 478.37 446.8 463.5 curveto
-461.56 452.85 469.89 432.59 473.86 420 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 477.34 420.53 moveto
-476.59 409.96 lineto
-470.59 418.69 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 477.34 420.53 moveto
-476.59 409.96 lineto
-470.59 418.69 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-459.8 452.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-218.8 408 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-218.8 408 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Frame
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 323.01 486.03 moveto
-313.59 486.07 269.13 485.09 243.8 463.5 curveto
-230.45 452.12 223.84 432.1 220.88 419.75 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 224.32 419.06 moveto
-218.93 409.93 lineto
-217.45 420.42 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 224.32 419.06 moveto
-218.93 409.93 lineto
-217.45 420.42 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-243.8 452.3 moveto 29 ('prev') alignedtext
-grestore
-% Body
-gsave
-0 0 0 nodecolor
-547.8 226 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-547.8 226 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Body
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 326.45 485.95 moveto
-345.06 485.32 515.7 479.17 530.8 463.5 curveto
-592.6 399.37 562.08 274.71 551.15 237.64 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 554.47 236.54 moveto
-548.15 228.03 lineto
-547.79 238.62 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 554.47 236.54 moveto
-548.15 228.03 lineto
-547.79 238.62 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-567.8 356.3 moveto 17 ('IP') alignedtext
-grestore
-% NewPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-287.8 311 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-276.3 307.3 moveto 23 ('init') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-1.8 547 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-1.8 547 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-1.8 487 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-1.8 487 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 1.8 544.99 moveto
-1.8 539.61 1.8 513.93 1.8 498.94 curveto
-stroke
-0 0 0 edgecolor
-newpath 5.3 498.86 moveto
-1.8 488.86 lineto
--1.7 498.86 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 5.3 498.86 moveto
-1.8 488.86 lineto
--1.7 498.86 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-1.8 513.3 moveto 53 (username) alignedtext
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 3.19 485.51 moveto
-19.05 479.88 166.48 427.57 207.98 412.84 curveto
-stroke
-0 0 0 edgecolor
-newpath 209.29 416.09 moveto
-217.54 409.45 lineto
-206.94 409.49 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 209.29 416.09 moveto
-217.54 409.45 lineto
-206.94 409.49 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-103.8 452.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Call
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 218.82 406.04 moveto
-219.08 392.27 222.07 233.94 223.29 169.27 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 226.79 169.09 moveto
-223.48 159.03 lineto
-219.79 168.96 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 226.79 169.09 moveto
-223.48 159.03 lineto
-219.79 168.96 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-221.8 259.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->NewEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 217.14 407.14 moveto
-204.35 408.1 121.23 412.5 87.8 367.5 curveto
-76.89 352.81 91.23 331.79 101.03 320.29 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 103.68 322.58 moveto
-107.91 312.87 lineto
-98.54 317.83 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 103.68 322.58 moveto
-107.91 312.87 lineto
-98.54 317.83 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-87.8 356.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Frame->NewPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 219.37 406.06 moveto
-220.97 403.47 225.61 395.99 229.8 390 curveto
-236.99 379.73 239.3 377.54 246.8 367.5 curveto
-254.56 357.11 263.09 345.58 270.36 335.73 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 273.24 337.71 moveto
-276.36 327.58 lineto
-267.61 333.56 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 273.24 337.71 moveto
-276.36 327.58 lineto
-267.61 333.56 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-258.8 356.3 moveto 36 ('phase') alignedtext
-grestore
-% ParamValue
-gsave
-0 0 0 nodecolor
-448.8 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-448.8 2 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ParamValue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 219.05 406.18 moveto
-219.95 403.34 223.33 393.97 229.8 390 curveto
-311.3 339.96 356.07 405.58 443.8 367.5 curveto
-478.34 352.51 507.8 349.65 507.8 312 curveto
-507.8 312 507.8 312 507.8 62 curveto
-507.8 34.96 476.42 15.98 459.43 7.69 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 460.82 4.47 moveto
-450.26 3.57 lineto
-457.95 10.86 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 460.82 4.47 moveto
-450.26 3.57 lineto
-457.95 10.86 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-507.8 186.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->Param
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 219.2 405.9 moveto
-220.37 402.89 224.01 394.46 229.8 390 curveto
-255.36 370.33 272.32 385.92 298.8 367.5 curveto
-324.64 349.52 342.8 343.48 342.8 312 curveto
-342.8 312 342.8 312 342.8 140 curveto
-342.8 104.01 299.67 78.68 279.27 68.7 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 280.64 65.48 moveto
-270.08 64.52 lineto
-277.73 71.85 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 280.64 65.48 moveto
-270.08 64.52 lineto
-277.73 71.85 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-342.8 222.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->OldEvalStack
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 218.09 406.32 moveto
-212.67 401.02 177.43 365.65 163.8 329 curveto
-152.14 297.64 152.21 257.31 153.08 238.11 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 156.57 238.25 moveto
-153.71 228.05 lineto
-149.59 237.81 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 156.57 238.25 moveto
-153.71 228.05 lineto
-149.59 237.81 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-163.8 307.3 moveto 55 ('evalstack') alignedtext
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-392.8 311 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-392.8 311 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 219.06 406.19 moveto
-219.99 403.41 223.47 394.2 229.8 390 curveto
-277.56 358.3 309.02 399.17 356.8 367.5 curveto
-373.28 356.57 383.88 335.24 389.05 322.44 curveto
-stroke
-0 0 0 edgecolor
-newpath 392.36 323.58 moveto
-392.5 312.98 lineto
-385.78 321.18 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 392.36 323.58 moveto
-392.5 312.98 lineto
-385.78 321.18 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-372.8 356.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% Param->ParamValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 270.36 61.49 moveto
-285.1 56.66 400.51 18.83 437.46 6.72 curveto
-stroke
-0 0 0 edgecolor
-newpath 438.99 9.9 moveto
-447.41 3.46 lineto
-436.81 3.25 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 438.99 9.9 moveto
-447.41 3.46 lineto
-436.81 3.25 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-380.8 28.3 moveto 34 ('value') alignedtext
-grestore
-% Param2
-gsave
-0 0 0 nodecolor
-193.8 2 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-193.8 2 1.8 1.8 ellipse_path stroke
-grestore
-% Param->Param2
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 267.96 61.34 moveto
-261.64 56.37 221.38 24.7 202.97 10.21 curveto
-stroke
-0 0 0 edgecolor
-newpath 204.97 7.34 moveto
-194.95 3.9 lineto
-200.64 12.84 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 204.97 7.34 moveto
-194.95 3.9 lineto
-200.64 12.84 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-238.8 28.3 moveto 70 ('next_param') alignedtext
-grestore
-% OldEvalStack->Call
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 154.59 224.07 moveto
-159.46 218.29 185.91 186.93 204.66 164.7 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 207.39 166.88 moveto
-211.16 156.98 lineto
-202.04 162.37 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 207.39 166.88 moveto
-211.16 156.98 lineto
-202.04 162.37 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-188.8 186.3 moveto 25 ('inst') alignedtext
-grestore
-% OldEvalStack->Param2
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 153.98 224.01 moveto
-156.46 210.24 184.1 56.84 191.81 14.03 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 195.31 14.38 moveto
-193.64 3.91 lineto
-188.42 13.14 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 195.31 14.38 moveto
-193.64 3.91 lineto
-188.42 13.14 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-179.8 89.3 moveto 36 ('phase') alignedtext
-grestore
-% ReturnValue->Body
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 393.79 309.47 moveto
-404.76 303.59 503.92 250.5 537.07 232.75 curveto
-stroke
-0 0 0 edgecolor
-newpath 539.05 235.65 moveto
-546.22 227.85 lineto
-535.75 229.48 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 539.05 235.65 moveto
-546.22 227.85 lineto
-535.75 229.48 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-492.8 259.3 moveto 32 ('body') alignedtext
-grestore
-% Params
-gsave
-0 0 0 nodecolor
-398.8 226 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-398.8 226 1.8 1.8 ellipse_path stroke
-grestore
-% ReturnValue->Params
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 392.75 308.65 moveto
-392.53 302.5 391.77 276.6 393.8 255.5 curveto
-394.35 249.76 395.41 243.44 396.42 238.21 curveto
-stroke
-0 0 0 edgecolor
-newpath 399.92 238.59 moveto
-398.55 228.08 lineto
-393.07 237.15 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 399.92 238.59 moveto
-398.55 228.08 lineto
-393.07 237.15 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-393.8 259.3 moveto 45 ('params') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 38
techreport/general/images/rule_call__params-first-single.dot

@@ -1,38 +0,0 @@
-digraph {
-    node [shape="point"]
-    Call [label="Call",shape="oval"]
-    CallString [label="'call'",shape="oval",color="green"]
-    NewEvalStack [color="green"]
-    NPhase [label="'init'",shape="oval",color="green"]
-    NEvalStack [color="green"]
-    NSymbols [color="green"]
-    NewFrame [color="green"]
-    NewPhase [label="'init'",color="green",shape="oval"]
-    NReturnValue [color="green"]
-    
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Call [label="'IP'",color="blue",style="dashed"]
-    Frame -> ParamValue [label="'IP'",color="green",penwidth=4]
-    Param -> ParamValue [label="'value'"]
-    Frame -> Param [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> OldEvalStack [label="'evalstack'",color="blue",style="dashed"]
-    Frame -> NewEvalStack [label="'evalstack'",color="green",penwidth=4]
-    NewEvalStack -> OldEvalStack [label="'prev'",color="green",penwidth=4]
-    Call -> Param [label="'params'"]
-    Call -> Param [label="'last_param'"]
-    OldEvalStack -> Call [label="'inst'",color="green",penwidth=4]
-    OldEvalStack -> CallString [label="'phase'",color="green",penwidth=4]
-    Frame -> ReturnValue [label="'returnvalue'"]
-    ReturnValue -> Body [label="'body'"]
-    ReturnValue -> Params [label="'params'"]
-
-    NewFrame -> NEvalStack [label="'evalstack'",color="green",penwidth=4]
-    NewFrame -> NSymbols [label="'symbols'",color="green",penwidth=4]
-    NewFrame -> NPhase [label="'phase'",color="green",penwidth=4]
-    NewFrame -> Frame [label="'prev'",color="green",penwidth=4]
-    NewFrame -> Call [label="'caller'",color="green",penwidth=4]
-    NewFrame -> Body [label="'IP'", color="green",penwidth=4]
-    NewFrame -> NReturnValue [label="'returnvalue'", color="green",penwidth=4]
-}

+ 0 - 936
techreport/general/images/rule_call__params-first-single.eps

@@ -1,936 +0,0 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: graphviz version 2.38.0 (20140413.2041)
-%%Title: %3
-%%Pages: 1
-%%BoundingBox: 36 36 869 818
-%%EndComments
-save
-%%BeginProlog
-/DotDict 200 dict def
-DotDict begin
-
-/setupLatin1 {
-mark
-/EncodingVector 256 array def
- EncodingVector 0
-
-ISOLatin1Encoding 0 255 getinterval putinterval
-EncodingVector 45 /hyphen put
-
-% Set up ISO Latin 1 character encoding
-/starnetISO {
-        dup dup findfont dup length dict begin
-        { 1 index /FID ne { def }{ pop pop } ifelse
-        } forall
-        /Encoding EncodingVector def
-        currentdict end definefont
-} def
-/Times-Roman starnetISO def
-/Times-Italic starnetISO def
-/Times-Bold starnetISO def
-/Times-BoldItalic starnetISO def
-/Helvetica starnetISO def
-/Helvetica-Oblique starnetISO def
-/Helvetica-Bold starnetISO def
-/Helvetica-BoldOblique starnetISO def
-/Courier starnetISO def
-/Courier-Oblique starnetISO def
-/Courier-Bold starnetISO def
-/Courier-BoldOblique starnetISO def
-cleartomark
-} bind def
-
-%%BeginResource: procset graphviz 0 0
-/coord-font-family /Times-Roman def
-/default-font-family /Times-Roman def
-/coordfont coord-font-family findfont 8 scalefont def
-
-/InvScaleFactor 1.0 def
-/set_scale {
-       dup 1 exch div /InvScaleFactor exch def
-       scale
-} bind def
-
-% styles
-/solid { [] 0 setdash } bind def
-/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
-/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
-/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
-/bold { 2 setlinewidth } bind def
-/filled { } bind def
-/unfilled { } bind def
-/rounded { } bind def
-/diagonals { } bind def
-/tapered { } bind def
-
-% hooks for setting color 
-/nodecolor { sethsbcolor } bind def
-/edgecolor { sethsbcolor } bind def
-/graphcolor { sethsbcolor } bind def
-/nopcolor {pop pop pop} bind def
-
-/beginpage {	% i j npages
-	/npages exch def
-	/j exch def
-	/i exch def
-	/str 10 string def
-	npages 1 gt {
-		gsave
-			coordfont setfont
-			0 0 moveto
-			(\() show i str cvs show (,) show j str cvs show (\)) show
-		grestore
-	} if
-} bind def
-
-/set_font {
-	findfont exch
-	scalefont setfont
-} def
-
-% draw text fitted to its expected width
-/alignedtext {			% width text
-	/text exch def
-	/width exch def
-	gsave
-		width 0 gt {
-			[] 0 setdash
-			text stringwidth pop width exch sub text length div 0 text ashow
-		} if
-	grestore
-} def
-
-/boxprim {				% xcorner ycorner xsize ysize
-		4 2 roll
-		moveto
-		2 copy
-		exch 0 rlineto
-		0 exch rlineto
-		pop neg 0 rlineto
-		closepath
-} bind def
-
-/ellipse_path {
-	/ry exch def
-	/rx exch def
-	/y exch def
-	/x exch def
-	matrix currentmatrix
-	newpath
-	x y translate
-	rx ry scale
-	0 0 1 0 360 arc
-	setmatrix
-} bind def
-
-/endpage { showpage } bind def
-/showpage { } def
-
-/layercolorseq
-	[	% layer color sequence - darkest to lightest
-		[0 0 0]
-		[.2 .8 .8]
-		[.4 .8 .8]
-		[.6 .8 .8]
-		[.8 .8 .8]
-	]
-def
-
-/layerlen layercolorseq length def
-
-/setlayer {/maxlayer exch def /curlayer exch def
-	layercolorseq curlayer 1 sub layerlen mod get
-	aload pop sethsbcolor
-	/nodecolor {nopcolor} def
-	/edgecolor {nopcolor} def
-	/graphcolor {nopcolor} def
-} bind def
-
-/onlayer { curlayer ne {invis} if } def
-
-/onlayers {
-	/myupper exch def
-	/mylower exch def
-	curlayer mylower lt
-	curlayer myupper gt
-	or
-	{invis} if
-} def
-
-/curlayer 0 def
-
-%%EndResource
-%%EndProlog
-%%BeginSetup
-14 default-font-family set_font
-1 setmiterlimit
-% /arrowlength 10 def
-% /arrowwidth 5 def
-
-% make sure pdfmark is harmless for PS-interpreters other than Distiller
-/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
-% make '<<' and '>>' safe on PS Level 1 devices
-/languagelevel where {pop languagelevel}{1} ifelse
-2 lt {
-    userdict (<<) cvn ([) cvn load put
-    userdict (>>) cvn ([) cvn load put
-} if
-
-%%EndSetup
-setupLatin1
-%%Page: 1 1
-%%PageBoundingBox: 36 36 869 818
-%%PageOrientation: Portrait
-0 0 1 beginpage
-gsave
-36 36 833 782 boxprim clip newpath
-1 1 set_scale 0 rotate 40 40 translate
-% Call
-gsave
-1 setlinewidth
-0 0 0 nodecolor
-597 199 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-585.5 195.3 moveto 23 (Call) alignedtext
-grestore
-% Param
-gsave
-0 0 0 nodecolor
-561 88 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-561 88 1.8 1.8 ellipse_path stroke
-grestore
-% Call->Param
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 576.39 186.94 moveto
-559.87 176.79 537.88 160.07 528 138.5 curveto
-520.36 121.82 539.21 104.46 551.47 95.39 curveto
-stroke
-0 0 0 edgecolor
-newpath 553.61 98.16 moveto
-559.92 89.65 lineto
-549.68 92.37 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 553.61 98.16 moveto
-559.92 89.65 lineto
-549.68 92.37 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-528 127.3 moveto 45 ('params') alignedtext
-grestore
-% Call->Param
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 591.68 181.1 moveto
-586.89 165.97 579.6 143.21 573 123.5 curveto
-570.29 115.4 567.1 106.27 564.7 99.43 curveto
-stroke
-0 0 0 edgecolor
-newpath 567.94 98.11 moveto
-561.3 89.85 lineto
-561.34 100.45 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 567.94 98.11 moveto
-561.3 89.85 lineto
-561.34 100.45 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-578 127.3 moveto 65 ('last_param') alignedtext
-grestore
-% CallString
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-525 199 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-512.5 195.3 moveto 25 ('call') alignedtext
-grestore
-% NewEvalStack
-gsave
-0.33333 1 1 nodecolor
-605 438 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-605 438 1.8 1.8 ellipse_path stroke
-grestore
-% OldEvalStack
-gsave
-0 0 0 nodecolor
-554 319 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-554 319 1.8 1.8 ellipse_path stroke
-grestore
-% NewEvalStack->OldEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 604.43 435.69 moveto
-599.93 425.38 570.21 357.19 558.62 330.6 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 561.71 328.93 moveto
-554.5 321.16 lineto
-555.29 331.72 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 561.71 328.93 moveto
-554.5 321.16 lineto
-555.29 331.72 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-578 366.3 moveto 29 ('prev') alignedtext
-grestore
-% NPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-27 575 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-15.5 571.3 moveto 23 ('init') alignedtext
-grestore
-% NEvalStack
-gsave
-0.33333 1 1 nodecolor
-86 575 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-86 575 1.8 1.8 ellipse_path stroke
-grestore
-% NSymbols
-gsave
-0.33333 1 1 nodecolor
-164 575 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-164 575 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame
-gsave
-0.33333 1 1 nodecolor
-238 685 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-238 685 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Call
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 239.81 684.02 moveto
-272.61 684.27 739 685.89 739 576 curveto
-739 576 739 576 739 318 curveto
-739 261.91 672.66 227.37 630.67 211.12 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 631.68 207.77 moveto
-621.09 207.57 lineto
-629.25 214.33 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 631.68 207.77 moveto
-621.09 207.57 lineto
-629.25 214.33 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-739 434.3 moveto 35 ('caller') alignedtext
-grestore
-% NewFrame->NPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 236.39 683.89 moveto
-220.6 682.74 93.39 672.84 64 650.5 curveto
-48.58 638.77 39.16 618.88 33.68 602.6 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 37.03 601.58 moveto
-30.77 593.03 lineto
-30.34 603.62 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 37.03 601.58 moveto
-30.77 593.03 lineto
-30.34 603.62 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-64 639.3 moveto 36 ('phase') alignedtext
-grestore
-% NewFrame->NEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 236.3 684.06 moveto
-224.53 684.37 154.37 684.7 116 650.5 curveto
-97.19 633.74 89.99 603.52 87.38 587.2 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 90.8 586.37 moveto
-86.07 576.89 lineto
-83.86 587.25 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 90.8 586.37 moveto
-86.07 576.89 lineto
-83.86 587.25 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-116 639.3 moveto 55 ('evalstack') alignedtext
-grestore
-% NewFrame->NSymbols
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 236.71 683.62 moveto
-229.94 681.56 198.16 671 183 650.5 curveto
-168.81 631.31 165.17 602.57 164.27 586.99 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 167.76 586.73 moveto
-163.99 576.83 lineto
-160.77 586.92 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 167.76 586.73 moveto
-163.99 576.83 lineto
-160.77 586.92 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-183 639.3 moveto 51 ('symbols') alignedtext
-grestore
-% NReturnValue
-gsave
-0.33333 1 1 nodecolor
-238 575 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0.33333 1 1 nodecolor
-238 575 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->NReturnValue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 238 682.79 moveto
-238 673.44 238 612.61 238 587.17 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 241.5 587.07 moveto
-238 577.07 lineto
-234.5 587.07 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 241.5 587.07 moveto
-238 577.07 lineto
-234.5 587.07 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-238 639.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% Frame
-gsave
-0 0 0 nodecolor
-532 575 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-532 575 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Frame
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 239.36 683.54 moveto
-247.94 680.63 295.5 664.46 334 650.5 curveto
-405.86 624.45 491.75 591.51 521.36 580.11 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 522.68 583.35 moveto
-530.75 576.48 lineto
-520.16 576.82 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 522.68 583.35 moveto
-530.75 576.48 lineto
-520.16 576.82 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-373 639.3 moveto 29 ('prev') alignedtext
-grestore
-% Body
-gsave
-0 0 0 nodecolor
-324 319 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-324 319 1.8 1.8 ellipse_path stroke
-grestore
-% NewFrame->Body
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 239.67 683.78 moveto
-248.44 682.55 289.46 675.54 306 650.5 curveto
-323.95 623.33 324.22 385.13 324.05 330.94 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 327.55 330.84 moveto
-324.01 320.86 lineto
-320.55 330.88 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 327.55 330.84 moveto
-324.01 320.86 lineto
-320.55 330.88 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-322 503.3 moveto 17 ('IP') alignedtext
-grestore
-% NewPhase
-gsave
-1 setlinewidth
-0.33333 1 1 nodecolor
-413 438 27 18 ellipse_path stroke
-0 0 0 nodecolor
-14 /Times-Roman set_font
-401.5 434.3 moveto 23 ('init') alignedtext
-grestore
-% Root
-gsave
-0 0 0 nodecolor
-772 771 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-772 771 1.8 1.8 ellipse_path stroke
-grestore
-% UserRoot
-gsave
-0 0 0 nodecolor
-772 685 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-772 685 1.8 1.8 ellipse_path stroke
-grestore
-% Root->UserRoot
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 772 769.06 moveto
-772 762.06 772 717.94 772 697 curveto
-stroke
-0 0 0 edgecolor
-newpath 775.5 696.83 moveto
-772 686.83 lineto
-768.5 696.83 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 775.5 696.83 moveto
-772 686.83 lineto
-768.5 696.83 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-772 724.3 moveto 53 (username) alignedtext
-grestore
-% UserRoot->Frame
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 770.93 683.52 moveto
-755.91 676.76 587.14 600.81 542.68 580.81 curveto
-stroke
-0 0 0 edgecolor
-newpath 543.97 577.55 moveto
-533.42 576.64 lineto
-541.1 583.93 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 543.97 577.55 moveto
-533.42 576.64 lineto
-541.1 583.93 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-695 639.3 moveto 37 ('frame') alignedtext
-grestore
-% Frame->Call
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 533.66 573.53 moveto
-544.09 570.5 600.68 552.53 621 514.5 curveto
-647.4 465.1 616.28 293.85 602.72 227.01 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 606.14 226.31 moveto
-600.7 217.22 lineto
-599.29 227.72 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 606.14 226.31 moveto
-600.7 217.22 lineto
-599.29 227.72 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-627 366.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->NewEvalStack
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 532.42 572.92 moveto
-535.11 566.11 550.18 528.44 566 499.5 curveto
-576.32 480.62 590.4 459.77 598.52 448.14 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 601.48 450.01 moveto
-604.4 439.82 lineto
-595.77 445.96 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 601.48 450.01 moveto
-604.4 439.82 lineto
-595.77 445.96 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-566 503.3 moveto 55 ('evalstack') alignedtext
-grestore
-% Frame->NewPhase
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 530.38 573.85 moveto
-517.96 572.56 437.29 562.46 407 514.5 curveto
-397.93 500.14 399.54 481.04 403.36 465.65 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 406.83 466.27 moveto
-406.26 455.69 lineto
-400.11 464.32 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 406.83 466.27 moveto
-406.26 455.69 lineto
-400.11 464.32 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-407 503.3 moveto 36 ('phase') alignedtext
-grestore
-% ParamValue
-gsave
-0 0 0 nodecolor
-408 3 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-408 3 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ParamValue
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 530.48 573.72 moveto
-518.74 571.47 441.92 555.48 398 514.5 curveto
-370.23 488.6 358 476.97 358 439 curveto
-358 439 358 439 358 87 curveto
-358 55.36 384.98 25.42 399.3 11.75 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 402.03 14 moveto
-407.13 4.71 lineto
-397.36 8.8 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 402.03 14 moveto
-407.13 4.71 lineto
-397.36 8.8 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-358 263.3 moveto 17 ('IP') alignedtext
-grestore
-% Frame->Param
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 533.21 573.63 moveto
-542.57 570.72 603.78 550.69 638 514.5 curveto
-663.68 487.35 675 476.37 675 439 curveto
-675 439 675 439 675 198 curveto
-675 162.63 671.74 148.79 647 123.5 curveto
-626.2 102.24 590.59 93.69 572.41 90.59 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 572.83 87.11 moveto
-562.44 89.15 lineto
-571.84 94.04 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 572.83 87.11 moveto
-562.44 89.15 lineto
-571.84 94.04 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-675 315.3 moveto 36 ('phase') alignedtext
-grestore
-% Frame->OldEvalStack
-gsave
-1 setlinewidth
-dashed
-0.66667 1 1 edgecolor
-newpath 532.01 573.02 moveto
-532.07 563.34 532.77 483.93 539 420 curveto
-542.17 387.46 548.67 349.35 551.97 330.99 curveto
-stroke
-0.66667 1 1 edgecolor
-newpath 555.44 331.45 moveto
-553.81 320.98 lineto
-548.56 330.18 lineto
-closepath fill
-1 setlinewidth
-solid
-0.66667 1 1 edgecolor
-newpath 555.44 331.45 moveto
-553.81 320.98 lineto
-548.56 330.18 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-539 434.3 moveto 55 ('evalstack') alignedtext
-grestore
-% ReturnValue
-gsave
-0 0 0 nodecolor
-460 438 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-460 438 1.8 1.8 ellipse_path stroke
-grestore
-% Frame->ReturnValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 530.48 573.48 moveto
-520.95 570.14 469.28 550.62 451 514.5 curveto
-440.23 493.22 449.15 464.37 455.32 449.23 curveto
-stroke
-0 0 0 edgecolor
-newpath 458.66 450.36 moveto
-459.59 439.8 lineto
-452.28 447.47 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 458.66 450.36 moveto
-459.59 439.8 lineto
-452.28 447.47 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-451 503.3 moveto 67 ('returnvalue') alignedtext
-grestore
-% Param->ParamValue
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 560.02 86.47 moveto
-549.19 80.59 451.31 27.5 418.6 9.75 curveto
-stroke
-0 0 0 edgecolor
-newpath 420.02 6.54 moveto
-409.56 4.85 lineto
-416.69 12.69 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 420.02 6.54 moveto
-409.56 4.85 lineto
-416.69 12.69 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-499 42.3 moveto 34 ('value') alignedtext
-grestore
-% OldEvalStack->Call
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 554.48 316.67 moveto
-557.66 307.95 575.83 258.09 587.37 226.44 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 590.72 227.47 moveto
-590.85 216.88 lineto
-584.14 225.07 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 590.72 227.47 moveto
-590.85 216.88 lineto
-584.14 225.07 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-576 263.3 moveto 25 ('inst') alignedtext
-grestore
-% OldEvalStack->CallString
-gsave
-4 setlinewidth
-0.33333 1 1 edgecolor
-newpath 553.19 317.01 moveto
-549.52 312.48 534.53 293.21 529 274.5 curveto
-524.52 259.36 523.4 241.74 523.46 227.44 curveto
-stroke
-0.33333 1 1 edgecolor
-newpath 526.96 227.33 moveto
-523.69 217.25 lineto
-519.96 227.16 lineto
-closepath fill
-4 setlinewidth
-solid
-0.33333 1 1 edgecolor
-newpath 526.96 227.33 moveto
-523.69 217.25 lineto
-519.96 227.16 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-529 263.3 moveto 36 ('phase') alignedtext
-grestore
-% ReturnValue->Body
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 459.5 436 moveto
-458.1 433.26 453.9 425.42 449 420 curveto
-411.57 378.61 355.95 340.62 333.7 326.17 curveto
-stroke
-0 0 0 edgecolor
-newpath 335.42 323.11 moveto
-325.11 320.69 lineto
-331.66 329.01 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 335.42 323.11 moveto
-325.11 320.69 lineto
-331.66 329.01 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-401 366.3 moveto 32 ('body') alignedtext
-grestore
-% Params
-gsave
-0 0 0 nodecolor
-460 319 1.8 1.8 ellipse_path fill
-1 setlinewidth
-filled
-0 0 0 nodecolor
-460 319 1.8 1.8 ellipse_path stroke
-grestore
-% ReturnValue->Params
-gsave
-1 setlinewidth
-0 0 0 edgecolor
-newpath 460 435.69 moveto
-460 425.47 460 358.43 460 331.34 curveto
-stroke
-0 0 0 edgecolor
-newpath 463.5 331.16 moveto
-460 321.16 lineto
-456.5 331.16 lineto
-closepath fill
-1 setlinewidth
-solid
-0 0 0 edgecolor
-newpath 463.5 331.16 moveto
-460 321.16 lineto
-456.5 331.16 lineto
-closepath stroke
-0 0 0 edgecolor
-14 /Times-Roman set_font
-460 366.3 moveto 45 ('params') alignedtext
-grestore
-endpage
-showpage
-grestore
-%%PageTrailer
-%%EndPage: 1
-%%Trailer
-end
-restore
-%%EOF

+ 0 - 40
techreport/general/images/rule_call__params-last.dot

@@ -1,40 +0,0 @@
-digraph {
-    node [shape="point"]
-    Call [label="Call",shape="oval"]
-    CallString [label="'call'",shape="oval",color="green"]
-    NewEvalStack [color="green"]
-    NewPhase [label="'init'",color="green",shape="oval"]
-    NVariable [color="green"]
-    mid [color="green",width=0]
-    NameA [label="a",shape="oval"]
-    
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Call [label="'IP'",color="blue",style="dashed"]
-    Frame -> Param2Value [label="'IP'",color="green",penwidth=4]
-    Param2 -> Param2Value [label="'value'"]
-    Frame -> Param2 [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> OldEvalStack [label="'evalstack'",color="blue",style="dashed"]
-    Frame -> NewEvalStack [label="'evalstack'",color="green",penwidth=4]
-    NewEvalStack -> OldEvalStack [label="'prev'",color="green",penwidth=4]
-    Call -> Param2 [label="'last_param'"]
-    Param1 -> Param2 [label="'next_param'"]
-    Param1 -> NameA [label="'name'"]
-    OldEvalStack -> Call [label="'inst'",color="green",penwidth=4]
-    OldEvalStack -> CallString [label="'phase'",color="green",penwidth=4]
-    Frame -> ReturnValue [label="'returnvalue'"]
-
-    NewFrame -> NSymbols [label="'symbols'"]
-    NewFrame -> Frame [label="'prev'"]
-    NewFrame -> Call [label="'caller'"]
-    NewFrame -> Body [label="'IP'"]
-    Signature -> Body [label="'body'"]
-    Signature -> Params [label="'params'"]
-
-    NSymbols -> mid [arrowhead="none",color="green",penwidth=4]
-    mid -> NVariable [color="green",penwidth=4]
-    NVariable -> ReturnValue [color="green",label="'value'",penwidth=4]
-    mid -> ParamA [color="green",penwidth=4]
-    Params -> ParamA [label="a"]
-}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1010
techreport/general/images/rule_call__params-last.eps


+ 0 - 39
techreport/general/images/rule_call__params-next.dot

@@ -1,39 +0,0 @@
-digraph {
-    node [shape="point"]
-    Call [label="Call",shape="oval"]
-    NewEvalStack [color="green"]
-    NewPhase [label="'init'",color="green",shape="oval"]
-    NVariable [color="green"]
-    mid [color="green",width=0]
-    NameA [label="a",shape="oval"]
-    
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Call [label="'IP'",color="blue",style="dashed"]
-    Frame -> Param2Value [label="'IP'",color="green",penwidth=4]
-    Param2 -> Param2Value [label="'value'"]
-    Frame -> Param2 [label="'phase'",color="blue",style="dashed"]
-    Frame -> NewPhase [label="'phase'",color="green",penwidth=4]
-    Frame -> OldEvalStack [label="'evalstack'",color="blue",style="dashed"]
-    Frame -> NewEvalStack [label="'evalstack'",color="green",penwidth=4]
-    NewEvalStack -> OldEvalStack [label="'prev'",color="green",penwidth=4]
-    Param1 -> Param2 [label="'next_param'"]
-    Param2 -> Param3 [label="'next_param'"]
-    Param1 -> NameA [label="'name'"]
-    OldEvalStack -> Call [label="'inst'",color="green",penwidth=4]
-    OldEvalStack -> Param3 [label="'phase'",color="green",penwidth=4]
-    Frame -> ReturnValue [label="'returnvalue'"]
-
-    NewFrame -> NSymbols [label="'symbols'"]
-    NewFrame -> Frame [label="'prev'"]
-    NewFrame -> Call [label="'caller'"]
-    NewFrame -> Body [label="'IP'"]
-    Signature -> Body [label="'body'"]
-    Signature -> Params [label="'params'"]
-
-    NSymbols -> mid [arrowhead="none",color="green",penwidth=4]
-    mid -> NVariable [color="green",penwidth=4]
-    NVariable -> ReturnValue [color="green",label="'value'",penwidth=4]
-    mid -> ParamA [color="green",penwidth=4]
-    Params -> ParamA [label="a"]
-}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 1005
techreport/general/images/rule_call__params-next.eps


+ 0 - 21
techreport/general/images/rule_call__resolve-no-params.dot

@@ -1,21 +0,0 @@
-digraph {
-    node [shape="point"]
-    Call [label="Call",shape="oval"]
-    CallString [label="'call'",shape="oval",color="green"]
-    Phase [label="'init'",shape="oval"]
-    NewEvalStack [color="green"]
-    Param [color="red"]
-    
-    Root -> UserRoot [label="username"]
-    UserRoot -> Frame [label="'frame'"]
-    Frame -> Call [label="'IP'",color="blue",style="dashed"]
-    Frame -> Phase [label="'phase'"]
-    Frame -> OldEvalStack [label="'evalstack'",color="blue",style="dashed"]
-    Frame -> NewEvalStack [label="'evalstack'",color="green",penwidth=4]
-    NewEvalStack -> OldEvalStack [label="'prev'",color="green",penwidth=4]
-    Call -> Func [label="'func'"]
-    Call -> Param [label="'params'",color="red",style="dotted"]
-    Frame -> Func [label="'IP'",color="green",penwidth=4]
-    OldEvalStack -> Call [label="'inst'",color="green",penwidth=4]
-    OldEvalStack -> CallString [label="'phase'",color="green",penwidth=4]
-}

+ 0 - 0
techreport/general/images/rule_call__resolve-no-params.eps


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.