You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by se...@apache.org on 2014/06/27 22:32:23 UTC

[5/5] git commit: Add first files for system internals documentation

Add first files for system internals documentation

[ci skip]


Project: http://git-wip-us.apache.org/repos/asf/incubator-flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-flink/commit/5b390d54
Tree: http://git-wip-us.apache.org/repos/asf/incubator-flink/tree/5b390d54
Diff: http://git-wip-us.apache.org/repos/asf/incubator-flink/diff/5b390d54

Branch: refs/heads/master
Commit: 5b390d5467cc040b33e6f17329dc87e0693baf5c
Parents: 05ff333
Author: Stephan Ewen <se...@apache.org>
Authored: Fri Jun 27 22:25:36 2014 +0200
Committer: Stephan Ewen <se...@apache.org>
Committed: Fri Jun 27 22:31:49 2014 +0200

----------------------------------------------------------------------
 docs/internals/general_arch.md           |   8 +
 docs/internals/overview.md               |  39 ++
 docs/internals/projects_dependencies.svg | 567 +++++++++++++++++++++++++
 docs/internals/stack.svg                 | 587 ++++++++++++++++++++++++++
 4 files changed, 1201 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-flink/blob/5b390d54/docs/internals/general_arch.md
----------------------------------------------------------------------
diff --git a/docs/internals/general_arch.md b/docs/internals/general_arch.md
new file mode 100644
index 0000000..a2e5ac7
--- /dev/null
+++ b/docs/internals/general_arch.md
@@ -0,0 +1,8 @@
+---
+title:  "General Architecture and Process Model"
+---
+
+<img src="projects_dependencies.svg" alt="The Flink sub-projects and their dependencies" height="400px"/>
+
+
+<img src="stack.svg" alt="The Flink component stack" height="400px"/>

http://git-wip-us.apache.org/repos/asf/incubator-flink/blob/5b390d54/docs/internals/overview.md
----------------------------------------------------------------------
diff --git a/docs/internals/overview.md b/docs/internals/overview.md
new file mode 100644
index 0000000..4c639b4
--- /dev/null
+++ b/docs/internals/overview.md
@@ -0,0 +1,39 @@
+---
+title:  "Overview of Flink System Architecture & Internals"
+---
+
+# Overview
+
+This documentation provides an overview of the architecture of the Flink system
+and its components. It is intended as guide to contributors, and people
+that are interested in the technology behind Flink.
+
+*This documentation is maintained by the contributors of the individual components.
+We kindly ask anyone that adds and changes components to eventually provide a patch
+or pull request that updates these documents as well.*
+
+
+### Architectures and Components
+
+- [General Architecture and Process Model](general_arch.html)
+
+- [Life Cycle of a Program](program_life_cycle.html)
+
+- [Jobs and Scheduling](job_scheduling.html)
+
+- [Distributed Runtime](distributed_runtime.html)
+
+- [Runtime Algorithms and Memory Management](distributed_runtime.html)
+
+- [Program Optimizer](optimizer.html)
+
+- [How-to: Adding a new Operator](add_operator.html)
+
+<!--
+- [Java API, Types, and Type Extraction](types.html)
+-->
+
+<!--
+- [RPC and JobManager Communication](rpc_transfer.html)
+-->
+

http://git-wip-us.apache.org/repos/asf/incubator-flink/blob/5b390d54/docs/internals/projects_dependencies.svg
----------------------------------------------------------------------
diff --git a/docs/internals/projects_dependencies.svg b/docs/internals/projects_dependencies.svg
new file mode 100644
index 0000000..a9ba5af
--- /dev/null
+++ b/docs/internals/projects_dependencies.svg
@@ -0,0 +1,567 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+   version="1.0"
+   width="184.83mm"
+   height="182.98mm"
+   id="svg2985"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="Picture1.emf">
+  <metadata
+     id="metadata3185">
+    <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>
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview3183"
+     showgrid="false"
+     inkscape:zoom="1.5284853"
+     inkscape:cx="327.45474"
+     inkscape:cy="324.17715"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2985" />
+  <defs
+     id="defs2987" />
+  <g
+     id="g2989">
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 260.48364 21.380326   C 260.48364 18.510862 262.80922 16.185282 265.69744 16.185282   L 378.24423 16.185282   C 381.13245 16.185282 383.45803 18.510862 383.45803 21.380326   L 383.45803 42.216767   C 383.45803 45.086232 381.13245 47.411811 378.24423 47.411811   L 265.69744 47.411811   C 262.80922 47.411811 260.48364 45.086232 260.48364 42.216767   z"
+       id="path2991" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 260.48364 21.380326   C 260.48364 18.510862 262.80922 16.185282 265.69744 16.185282   L 378.24423 16.185282   C 381.13245 16.185282 383.45803 18.510862 383.45803 21.380326   L 383.45803 42.216767   C 383.45803 45.086232 381.13245 47.411811 378.24423 47.411811   L 265.69744 47.411811   C 262.80922 47.411811 260.48364 45.086232 260.48364 42.216767   z"
+       id="path2993" />
+    <text
+       xml:space="preserve"
+       x="275.28831"
+       y="39.668396"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text2995">flink</text>
+    <text
+       xml:space="preserve"
+       x="316.69863"
+       y="39.668396"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text2997">-</text>
+    <text
+       xml:space="preserve"
+       x="325.70087"
+       y="39.668396"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text2999">core</text>
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 130.86073 96.502166   C 130.86073 93.670211 133.1488 91.372763 135.98075 91.372763   L 233.41127 91.372763   C 236.23385 91.372763 238.5313 93.670211 238.5313 96.502166   L 238.5313 116.98227   C 238.5313 119.81422 236.23385 122.10229 233.41127 122.10229   L 135.98075 122.10229   C 133.1488 122.10229 130.86073 119.81422 130.86073 116.98227   z"
+       id="path3001" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.5037487px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 130.86073 96.502166   C 130.86073 93.670211 133.1488 91.372763 135.98075 91.372763   L 233.41127 91.372763   C 236.23385 91.372763 238.5313 93.670211 238.5313 96.502166   L 238.5313 116.98227   C 238.5313 119.81422 236.23385 122.10229 233.41127 122.10229   L 135.98075 122.10229   C 133.1488 122.10229 130.86073 119.81422 130.86073 116.98227   z"
+       id="path3003" />
+    <text
+       xml:space="preserve"
+       x="138.4718"
+       y="114.6131"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3005">flink</text>
+    <text
+       xml:space="preserve"
+       x="179.88211"
+       y="114.6131"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3007">-</text>
+    <text
+       xml:space="preserve"
+       x="188.88436"
+       y="114.6131"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3009">java</text>
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 260.48364 96.567807   C 260.48364 93.754607 262.77171 91.466537 265.58491 91.466537   L 363.05295 91.466537   C 365.86615 91.466537 368.15422 93.754607 368.15422 96.567807   L 368.15422 117.0104   C 368.15422 119.8236 365.86615 122.11167 363.05295 122.11167   L 265.58491 122.11167   C 262.77171 122.11167 260.48364 119.8236 260.48364 117.0104   z"
+       id="path3011" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 260.48364 96.567807   C 260.48364 93.754607 262.77171 91.466537 265.58491 91.466537   L 363.05295 91.466537   C 365.86615 91.466537 368.15422 93.754607 368.15422 96.567807   L 368.15422 117.0104   C 368.15422 119.8236 365.86615 122.11167 363.05295 122.11167   L 265.58491 122.11167   C 262.77171 122.11167 260.48364 119.8236 260.48364 117.0104   z"
+       id="path3013" />
+    <text
+       xml:space="preserve"
+       x="264.04551"
+       y="114.65651"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3015">flink</text>
+    <text
+       xml:space="preserve"
+       x="305.45583"
+       y="114.65651"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3017">-</text>
+    <text
+       xml:space="preserve"
+       x="314.45807"
+       y="114.65651"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3019">scala</text>
+    <text
+       xml:space="preserve"
+       x="20.936318"
+       y="28.495681"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3021">c</text>
+    <text
+       xml:space="preserve"
+       x="28.738261"
+       y="28.495681"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3023">ore types, common API, utils,</text>
+    <text
+       xml:space="preserve"
+       x="102.25658"
+       y="46.500168"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3025">core data structures</text>
+    <text
+       xml:space="preserve"
+       x="277.67823"
+       y="145.73346"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3027">Scala API</text>
+    <text
+       xml:space="preserve"
+       x="152.42842"
+       y="145.73346"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3029">Java API</text>
+    <text
+       xml:space="preserve"
+       x="127.97233"
+       y="163.73794"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3031">Old Record API</text>
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 260.48364 198.25564   C 260.48364 195.0861 263.05303 192.51671 266.20382 192.51671   L 399.26822 192.51671   C 402.419 192.51671 404.98839 195.0861 404.98839 198.25564   L 404.98839 221.13634   C 404.98839 224.30588 402.419 226.87527 399.26822 226.87527   L 266.20382 226.87527   C 263.05303 226.87527 260.48364 224.30588 260.48364 221.13634   z"
+       id="path3033" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 260.48364 198.25564   C 260.48364 195.0861 263.05303 192.51671 266.20382 192.51671   L 399.26822 192.51671   C 402.419 192.51671 404.98839 195.0861 404.98839 198.25564   L 404.98839 221.13634   C 404.98839 224.30588 402.419 226.87527 399.26822 226.87527   L 266.20382 226.87527   C 263.05303 226.87527 260.48364 224.30588 260.48364 221.13634   z"
+       id="path3035" />
+    <text
+       xml:space="preserve"
+       x="268.52797"
+       y="217.56563"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3037">flink</text>
+    <text
+       xml:space="preserve"
+       x="309.93829"
+       y="217.56563"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3039">-</text>
+    <text
+       xml:space="preserve"
+       x="318.94053"
+       y="217.56563"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3041">runtime</text>
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 260.48364 262.94051   C 260.48364 259.77097 263.05303 257.22033 266.20382 257.22033   L 399.26822 257.22033   C 402.419 257.22033 404.98839 259.77097 404.98839 262.94051   L 404.98839 285.83996   C 404.98839 288.99074 402.419 291.56013 399.26822 291.56013   L 266.20382 291.56013   C 263.05303 291.56013 260.48364 288.99074 260.48364 285.83996   z"
+       id="path3043" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 260.48364 262.94051   C 260.48364 259.77097 263.05303 257.22033 266.20382 257.22033   L 399.26822 257.22033   C 402.419 257.22033 404.98839 259.77097 404.98839 262.94051   L 404.98839 285.83996   C 404.98839 288.99074 402.419 291.56013 399.26822 291.56013   L 266.20382 291.56013   C 263.05303 291.56013 260.48364 288.99074 260.48364 285.83996   z"
+       id="path3045" />
+    <text
+       xml:space="preserve"
+       x="264.77703"
+       y="282.25536"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3047">flink</text>
+    <text
+       xml:space="preserve"
+       x="306.18735"
+       y="282.25536"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3049">-</text>
+    <text
+       xml:space="preserve"
+       x="315.18959"
+       y="282.25536"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3051">compiler</text>
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 260.48364 326.7439   C 260.48364 323.57436 263.05303 321.02373 266.20382 321.02373   L 399.26822 321.02373   C 402.419 321.02373 404.98839 323.57436 404.98839 326.7439   L 404.98839 349.64335   C 404.98839 352.79414 402.419 355.36353 399.26822 355.36353   L 266.20382 355.36353   C 263.05303 355.36353 260.48364 352.79414 260.48364 349.64335   z"
+       id="path3053" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 260.48364 326.7439   C 260.48364 323.57436 263.05303 321.02373 266.20382 321.02373   L 399.26822 321.02373   C 402.419 321.02373 404.98839 323.57436 404.98839 326.7439   L 404.98839 349.64335   C 404.98839 352.79414 402.419 355.36353 399.26822 355.36353   L 266.20382 355.36353   C 263.05303 355.36353 260.48364 352.79414 260.48364 349.64335   z"
+       id="path3055" />
+    <text
+       xml:space="preserve"
+       x="275.72976"
+       y="346.05788"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3057">flink</text>
+    <text
+       xml:space="preserve"
+       x="317.14008"
+       y="346.05788"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3059">-</text>
+    <text
+       xml:space="preserve"
+       x="326.14232"
+       y="346.05788"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3061">clients</text>
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 333.49558 397.91788   L 333.94569 363.25925   L 331.45132 363.22174   L 331.00121 397.88037   z  M 338.07172 370.17972   L 332.7454 360.74612   L 327.1565 370.02968   C 326.80016 370.62983 326.98771 371.39877 327.58786 371.75511   C 328.16926 372.11145 328.9382 371.92391 329.29454 371.32376   L 329.29454 371.32376   L 333.7769 363.87815   L 331.62011 363.8594   L 335.89618 371.41753   C 336.23376 372.01768 337.00271 372.22398 337.60286 371.8864   C 338.203 371.54881 338.40931 370.77987 338.07172 370.17972   z"
+       id="path3063" />
+    <text
+       xml:space="preserve"
+       x="90.010614"
+       y="280.17295"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3065">compiler </text>
+    <text
+       xml:space="preserve"
+       x="159.62796"
+       y="280.17295"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3067">/ </text>
+    <text
+       xml:space="preserve"
+       x="171.78098"
+       y="280.17295"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3069">optimizer</text>
+    <text
+       xml:space="preserve"
+       x="48.60059"
+       y="208.5999"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3071">l</text>
+    <text
+       xml:space="preserve"
+       x="52.651599"
+       y="208.5999"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3073">ocal/distributed execution,</text>
+    <text
+       xml:space="preserve"
+       x="71.706347"
+       y="226.60439"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3075">runtime </text>
+    <text
+       xml:space="preserve"
+       x="135.92234"
+       y="226.60439"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3077">web monitor</text>
+    <text
+       xml:space="preserve"
+       x="73.125502"
+       y="323.98799"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3079">local/remote execution</text>
+    <text
+       xml:space="preserve"
+       x="124.13821"
+       y="341.99247"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3081">CLI </text>
+    <text
+       xml:space="preserve"
+       x="154.44576"
+       y="341.99247"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3083">client</text>
+    <text
+       xml:space="preserve"
+       x="74.775913"
+       y="359.99696"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3085">compiler web frontend</text>
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 413.72807 12.678158   C 421.54877 12.678158 427.9066 13.72842 427.9066 15.041247   L 427.9066 68.229498   C 427.9066 69.52357 434.24568 70.592586 442.08513 70.592586   C 434.24568 70.592586 427.9066 71.642848 427.9066 72.955675   L 427.9066 126.14393   C 427.9066 127.45675 421.54877 128.50701 413.72807 128.50701 "
+       id="path3087" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 409.35823 181.56398   C 417.17893 181.56398 423.53676 182.61424 423.53676 183.92707   L 423.53676 273.18056   C 423.53676 274.49338 429.87584 275.54364 437.7153 275.54364   C 429.87584 275.54364 423.53676 276.61266 423.53676 277.90673   L 423.53676 367.17897   C 423.53676 368.47305 417.17893 369.54206 409.35823 369.54206 "
+       id="path3089" />
+    <text
+       xml:space="preserve"
+       x="464.00202"
+       y="69.388546"
+       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3091">Needed to </text>
+    <text
+       xml:space="preserve"
+       x="486.95774"
+       y="90.393779"
+       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3093">write </text>
+    <text
+       xml:space="preserve"
+       x="467.00277"
+       y="111.39901"
+       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3095">programs</text>
+    <text
+       xml:space="preserve"
+       x="440.46593"
+       y="265.59638"
+       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3097">Needed </text>
+    <text
+       xml:space="preserve"
+       x="512.93399"
+       y="265.59638"
+       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3099">in addition for </text>
+    <text
+       xml:space="preserve"
+       x="472.87401"
+       y="286.60161"
+       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3101">embedded </text>
+    <text
+       xml:space="preserve"
+       x="571.14849"
+       y="286.60161"
+       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3103">and </text>
+    <text
+       xml:space="preserve"
+       x="445.41717"
+       y="307.60684"
+       style="font-size:17.554373px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3105">distributed execution</text>
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 126.70657 484.20813   C 126.70657 479.61323 130.43875 475.88105 135.05239 475.88105   L 288.46561 475.88105   C 293.07926 475.88105 296.81144 479.61323 296.81144 484.20813   L 296.81144 517.57269   C 296.81144 522.16759 293.07926 525.91852 288.46561 525.91852   L 135.05239 525.91852   C 130.43875 525.91852 126.70657 522.16759 126.70657 517.57269   z"
+       id="path3107" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 126.70657 484.20813   C 126.70657 479.61323 130.43875 475.88105 135.05239 475.88105   L 288.46561 475.88105   C 293.07926 475.88105 296.81144 479.61323 296.81144 484.20813   L 296.81144 517.57269   C 296.81144 522.16759 293.07926 525.91852 288.46561 525.91852   L 135.05239 525.91852   C 130.43875 525.91852 126.70657 522.16759 126.70657 517.57269   z"
+       id="path3109" />
+    <text
+       xml:space="preserve"
+       x="161.02009"
+       y="496.75874"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3111">flink</text>
+    <text
+       xml:space="preserve"
+       x="202.4304"
+       y="496.75874"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3113">-</text>
+    <text
+       xml:space="preserve"
+       x="211.43265"
+       y="496.75874"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3115">java</text>
+    <text
+       xml:space="preserve"
+       x="253.59315"
+       y="496.75874"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3117">-</text>
+    <text
+       xml:space="preserve"
+       x="164.17087"
+       y="520.76472"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3119">examples</text>
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 68.867157 548.64918   C 68.867157 544.12931 72.543072 540.45339 77.062948 540.45339   L 251.57517 540.45339   C 256.09505 540.45339 259.77097 544.12931 259.77097 548.64918   L 259.77097 581.43235   C 259.77097 585.95223 256.09505 589.62814 251.57517 589.62814   L 77.062948 589.62814   C 72.543072 589.62814 68.867157 585.95223 68.867157 581.43235   z"
+       id="path3121" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 68.867157 548.64918   C 68.867157 544.12931 72.543072 540.45339 77.062948 540.45339   L 251.57517 540.45339   C 256.09505 540.45339 259.77097 544.12931 259.77097 548.64918   L 259.77097 581.43235   C 259.77097 585.95223 256.09505 589.62814 251.57517 589.62814   L 77.062948 589.62814   C 72.543072 589.62814 68.867157 585.95223 68.867157 581.43235   z"
+       id="path3123" />
+    <text
+       xml:space="preserve"
+       x="109.65675"
+       y="560.90686"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3125">flink</text>
+    <text
+       xml:space="preserve"
+       x="151.06706"
+       y="560.90686"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3127">-</text>
+    <text
+       xml:space="preserve"
+       x="160.06931"
+       y="560.90686"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3129">scala</text>
+    <text
+       xml:space="preserve"
+       x="210.18179"
+       y="560.90686"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3131">-</text>
+    <text
+       xml:space="preserve"
+       x="116.85854"
+       y="584.91284"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3133">examples</text>
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 273.3681 606.75116   C 273.3681 603.22528 276.25632 600.33706 279.7822 600.33706   L 402.92538 600.33706   C 406.48877 600.33706 409.37699 603.22528 409.37699 606.75116   L 409.37699 632.52008   C 409.37699 636.04595 406.48877 638.93417 402.92538 638.93417   L 279.7822 638.93417   C 276.25632 638.93417 273.3681 636.04595 273.3681 632.52008   z"
+       id="path3135" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.5131261px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 273.3681 606.75116   C 273.3681 603.22528 276.25632 600.33706 279.7822 600.33706   L 402.92538 600.33706   C 406.48877 600.33706 409.37699 603.22528 409.37699 606.75116   L 409.37699 632.52008   C 409.37699 636.04595 406.48877 638.93417 402.92538 638.93417   L 279.7822 638.93417   C 276.25632 638.93417 273.3681 636.04595 273.3681 632.52008   z"
+       id="path3137" />
+    <text
+       xml:space="preserve"
+       x="292.11598"
+       y="627.49492"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3139">flink</text>
+    <text
+       xml:space="preserve"
+       x="333.5263"
+       y="627.49492"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3141">-</text>
+    <text
+       xml:space="preserve"
+       x="342.52854"
+       y="627.49492"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3143">tests</text>
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 298.83695 81.395278   L 308.45809 60.108725   L 306.17002 59.077218   L 296.56763 80.382525   z  M 309.47085 68.098215   L 308.34557 57.333033   L 299.51212 63.615848   C 298.94948 64.009696 298.81819 64.797393 299.2308 65.360033   C 299.62464 65.922673 300.41234 66.053956 300.97498 65.641353   L 308.04549 60.615101   L 306.07625 59.733631   L 306.97648 68.36078   C 307.05149 69.054703 307.6704 69.542325 308.34557 69.467306   C 309.03949 69.411042 309.52711 68.792138 309.47085 68.098215   z"
+       id="path3145" />
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.0093773361px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 214.32839 88.962788   L 264.78784 60.765138   L 263.56879 58.589596   L 213.10934 86.777869   z  M 260.83998 67.788763   L 266.34448 58.467691   L 255.52303 58.261389   C 254.82911 58.252012 254.25709 58.805275 254.24771 59.48982   C 254.23834 60.183743 254.78222 60.755761 255.47615 60.765138   L 264.15956 60.924553   L 263.09992 59.039708   L 258.69257 66.522823   C 258.33623 67.113595 258.53316 67.882536 259.13331 68.229498   C 259.72408 68.585836 260.49302 68.388912 260.83998 67.788763   z"
+       id="path3147" />
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 358.60809 184.69601   L 363.55932 174.3997   L 365.97867 169.27967   L 368.34176 164.19716   L 370.64859 159.1709   L 372.86164 154.20092   L 374.96216 149.30595   L 376.95016 144.50475   L 378.78812 139.77857   L 380.47604 135.16492   L 381.97641 130.6638   L 383.30799 126.31272   L 383.87063 124.21219   L 384.39576 122.11167   L 384.88338 120.06741   L 385.27723 118.06066   L 385.63357 116.09142   L 385.93365 114.17844   L 386.13995 112.30298   L 386.30874 110.48377   L 386.38376 108.70208   L 386.40251 106.97665   L 386.365 105.28873   L 386.27123 103.65707   L 386.10244 102.04417   L 385.87738 100.48753   L 385.61482 98.949651   L 385.29599 97.449277   L 384.48954 94.561058   L 383.49554 91.804121   L 382.33275 89.140957   L 381.01992 86.590322   L 379.55706 84.114705   L 377.98166 81.714107   L 376.29374 79.351018   L 374.53081 77.062948   L 372.67409 74.812388   L 370.76112 72.580582   L 368.4918 70.011192   L 370.36727 68.342026   L 372.67409 70.948925   L 374.6
 0582 73.21824   L 376.50005 75.54382   L 378.338 77.906909   L 380.08219 80.326261   L 381.7326 82.839387   L 383.23297 85.446287   L 384.62082 88.14696   L 385.83987 90.96016   L 386.89013 93.885889   L 387.73409 96.942901   L 388.07168 98.518293   L 388.353 100.1312   L 388.59681 101.80036   L 388.7656 103.48828   L 388.87813 105.23247   L 388.91564 107.01416   L 388.89688 108.83336   L 388.78436 110.69008   L 388.63432 112.60305   L 388.39051 114.55354   L 388.09043 116.54153   L 387.73409 118.56704   L 387.30274 120.63005   L 386.83387 122.73058   L 386.28998 124.84985   L 385.68984 127.04415   L 384.35825 131.47025   L 382.82037 136.02764   L 381.11369 140.6788   L 379.25698 145.44248   L 377.26899 150.29994   L 375.14971 155.23242   L 372.9179 160.22117   L 370.61108 165.26617   L 368.22924 170.34869   L 365.80988 175.46871   L 360.8774 185.76503   z  M 369.8984 77.944418   L 367.77912 67.310519   L 378.07544 70.705114   C 378.7131 70.93017 379.06944 71.624093 378.86313 72.280
 507   C 378.63808 72.93692 377.94416 73.293259 377.28774 73.086958   L 369.03569 70.36753   L 370.64859 68.923421   L 372.33651 77.456796   C 372.48655 78.131965 372.03643 78.788378 371.36127 78.919661   C 370.6861 79.050944 370.02968 78.619586 369.8984 77.944418   z"
+       id="path3149" />
+    <path
+       style="fill:#ffffff;fill-rule:evenodd;fill-opacity:1;stroke:none;"
+       d="  M 259.48965 415.00339   C 259.48965 411.89011 262.02153 409.35823 265.1348 409.35823   L 399.36199 409.35823   C 402.47527 409.35823 404.98839 411.89011 404.98839 415.00339   L 404.98839 437.50899   C 404.98839 440.62227 402.47527 443.1354 399.36199 443.1354   L 265.1348 443.1354   C 262.02153 443.1354 259.48965 440.62227 259.48965 437.50899   z"
+       id="path3151" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:2.4943714px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 259.48965 415.00339   C 259.48965 411.89011 262.02153 409.35823 265.1348 409.35823   L 399.36199 409.35823   C 402.47527 409.35823 404.98839 411.89011 404.98839 415.00339   L 404.98839 437.50899   C 404.98839 440.62227 402.47527 443.1354 399.36199 443.1354   L 265.1348 443.1354   C 262.02153 443.1354 259.48965 440.62227 259.48965 437.50899   z"
+       id="path3153" />
+    <text
+       xml:space="preserve"
+       x="263.06067"
+       y="434.12154"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3155">flink</text>
+    <text
+       xml:space="preserve"
+       x="304.47099"
+       y="434.12154"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3157">-</text>
+    <text
+       xml:space="preserve"
+       x="313.47323"
+       y="434.12154"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3159">test</text>
+    <text
+       xml:space="preserve"
+       x="350.83254"
+       y="434.12154"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3161">-</text>
+    <text
+       xml:space="preserve"
+       x="359.83478"
+       y="434.12154"
+       style="font-size:19.954971px;fill:#000000;font-style:normal;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3163">utils</text>
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 333.9832 252.40038   L 333.9832 237.32162   L 331.48883 237.32162   L 331.48883 252.40038   z  M 338.18425 244.18583   L 332.7454 234.84601   L 327.28779 244.18583   C 326.93145 244.78598 327.13775 245.55492 327.7379 245.91126   C 328.31929 246.24885 329.08823 246.04255 329.44457 245.46115   L 333.81441 237.95928   L 331.65762 237.95928   L 336.02746 245.46115   L 336.02746 245.46115   C 336.3838 246.04255 337.15274 246.24885 337.73414 245.91126   C 338.33429 245.55492 338.54059 244.78598 338.18425 244.18583   z"
+       id="path3165" />
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 333.9832 314.38457   L 333.9832 299.28706   L 331.48883 299.28706   L 331.48883 314.38457   z  M 338.18425 306.17002   L 332.7454 296.81144   L 327.28779 306.17002   C 326.93145 306.77017 327.13775 307.52036 327.7379 307.8767   C 328.31929 308.23304 329.08823 308.02674 329.44457 307.42659   L 333.81441 299.92472   L 331.65762 299.92472   L 336.02746 307.42659   L 336.02746 307.42659   C 336.3838 308.02674 337.15274 308.23304 337.73414 307.8767   C 338.33429 307.52036 338.54059 306.77017 338.18425 306.17002   z"
+       id="path3167" />
+    <text
+       xml:space="preserve"
+       x="165.18987"
+       y="432.03911"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3169">Test </text>
+    <text
+       xml:space="preserve"
+       x="129.63101"
+       y="450.0436"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3171">environments</text>
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 334.03947 589.66565   L 331.05747 457.10763   L 333.55185 457.05136   L 336.53384 589.60939   z  M 327.00647 464.08437   L 332.23902 454.61326   L 337.90293 463.84055   C 338.27802 464.42195 338.09048 465.19089 337.49033 465.54723   C 336.90893 465.92232 336.13999 465.73478 335.78365 465.13463   L 335.78365 465.13463   L 331.22627 457.74529   L 333.40181 457.68902   L 329.18201 465.28466   C 328.84442 465.88481 328.09424 466.10987 327.49409 465.77229   C 326.87518 465.4347 326.66888 464.68451 327.00647 464.08437   z"
+       id="path3173" />
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.037509345px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 266.72895 617.7789   L 259.33961 617.55385   L 252.1003 617.29128   L 248.49941 617.10374   L 244.97353 616.91619   L 241.56018 616.69113   L 238.18434 616.42857   L 234.92102 616.09098   L 231.77024 615.7534   L 228.73198 615.30329   L 225.80625 614.81567   L 223.03056 614.25303   L 220.44242 613.61537   L 217.9668 612.90269   L 215.71624 612.07748   L 213.61572 611.17726   L 211.70274 610.127   L 209.97731 609.03923   L 208.40192 607.87644   L 206.97656 606.60112   L 205.66374 605.28829   L 204.53846 603.90045   L 203.48819 602.43758   L 202.58797 600.97472   L 201.76276 599.47434   L 201.01258 597.93646   L 200.33741 596.36107   L 199.13711 593.21028   L 198.87454 592.38508   L 201.23763 591.59738   L 201.5002 592.34757   L 202.62548 595.38583   L 203.26314 596.84869   L 203.97582 598.27405   L 204.68849 599.66189   L 205.55121 601.01223   L 206.45143 602.28754   L 207.46418 603.56286   L 208.62697 604.72565   L 209.90229 605.85093   L 211.29014 606.9387   L 212.865
 53 607.95146   L 214.62847 608.85168   L 216.54145 609.7144   L 218.67948 610.50209   L 221.00506 611.17726   L 223.55569 611.81492   L 226.21886 612.34005   L 229.06957 612.82767   L 232.03281 613.24027   L 235.14608 613.61537   L 238.37188 613.91544   L 241.71022 614.17801   L 245.12357 614.40306   L 248.61194 614.62812   L 252.17532 614.77816   L 259.41463 615.04072   L 266.80397 615.26578   z  M 197.11161 600.26204   L 199.24964 589.6469   L 207.42668 596.73616   C 207.95181 597.18627 208.02682 597.97397 207.5392 598.4991   C 207.08909 599.02423 206.30139 599.06174 205.77626 598.61163   L 199.21213 592.94772   L 201.27514 592.23504   L 199.54971 600.74966   C 199.43718 601.42483 198.76202 601.87494 198.08685 601.7249   C 197.41168 601.57487 196.96157 600.93721 197.11161 600.26204   z"
+       id="path3175" />
+    <path
+       style="fill:#000000;fill-rule:nonzero;fill-opacity:1;stroke:#000000;stroke-width:0.018754672px;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;"
+       d="  M 310.91496 593.04149   L 306.28255 588.76543   L 301.70641 584.52687   L 297.28031 580.32582   L 295.12352 578.24406   L 293.04175 576.21855   L 291.01625 574.17429   L 289.08452 572.1863   L 287.22781 570.21706   L 285.46487 568.28532   L 283.7957 566.40986   L 282.23906 564.55314   L 280.81371 562.7527   L 279.50088 560.98976   L 278.33809 559.28308   L 277.28783 557.61392   L 276.36885 556.00101   L 275.58115 554.42562   L 274.86848 552.88774   L 274.26833 551.36861   L 273.76195 549.90575   L 273.34935 548.48039   L 272.97425 547.07379   L 272.69293 545.68594   L 272.26158 543.02278   L 271.98026 540.39713   L 271.9615 540.30335   L 274.45587 540.11581   L 274.45587 540.13456   L 274.73719 542.62893   L 275.13104 545.17957   L 275.41236 546.45489   L 275.73119 547.76771   L 276.12504 549.09929   L 276.61266 550.46839   L 277.15655 551.85623   L 277.79421 553.28159   L 278.54439 554.76321   L 279.42586 556.30109   L 280.4011 557.87648   L 281.52639 559.50814   L 282.
 76419 561.19606   L 284.17079 562.959   L 285.67117 564.75945   L 287.30282 566.61616   L 289.02825 568.51038   L 290.86621 570.44211   L 292.79794 572.41135   L 294.78594 574.4181   L 296.86771 576.46236   L 298.98699 578.52538   L 303.41309 582.70767   L 307.97047 586.92747   L 312.62163 591.20353   z  M 268.34185 547.50515   L 273.01176 537.73396   L 279.21956 546.60492   C 279.61341 547.18632 279.46337 547.95526 278.90073 548.34911   C 278.33809 548.74296 277.55039 548.61167 277.15655 548.04903   L 272.18656 540.92226   L 274.34335 540.75347   L 270.59241 548.57416   C 270.29234 549.21182 269.54215 549.47439 268.92325 549.17431   C 268.30434 548.87424 268.04178 548.12405 268.34185 547.50515   z"
+       id="path3177" />
+    <text
+       xml:space="preserve"
+       x="441.23605"
+       y="616.32234"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3179">integration tests</text>
+    <text
+       xml:space="preserve"
+       x="435.68466"
+       y="634.32683"
+       style="font-size:15.003737px;fill:#000000;font-style:italic;font-weight:normal;text-align:start;text-anchor:start;font-family:Verdana;"
+       id="text3181">(entire programs)</text>
+  </g>
+</svg>