Check-in [a14540dfb7]
Not logged in
Overview
Comment:Sinalgo, ns3, etc.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a14540dfb73b3e7bbe4c652c04867265814c2d9c
User & Date: vhost7825ssh on 2018-06-19 17:03:54
Other Links: manifest | tags
Context
2018-06-21 05:31
ns3 doc check-in: b48ea0d79f user: vhost7825ssh tags: trunk
2018-06-19 17:03
Sinalgo, ns3, etc. check-in: a14540dfb7 user: vhost7825ssh tags: trunk
2018-06-14 15:26
rhash check-in: 1f25119683 user: vhost7825ssh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/COMMENTS.txt version [3cd2e341be].

            1  +
            2  +Home page:
            3  +
            4  +    http://disco.ethz.ch/projects/sinalgo/index.html
            5  +
            6  +    https://sourceforge.net/projects/sinalgo/
            7  +

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index.html version [0f80fe017f].

            1  +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
            2  +<!-- saved from url=(0056)http://disco.ethz.ch/projects/sinalgo/tutorial/tuti.html -->
            3  +<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            4  +    <title>Sinalgo</title>
            5  +	
            6  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, simulation, network algorithm, validation, Sinalgo">
            7  +	<link rel="SHORTCUT ICON" href="http://disco.ethz.ch/projects/sinalgo/pics/favicon.ico">
            8  +	<link rel="stylesheet" href="./index_files/printStyle.css" type="text/css">
            9  +	<!--<base href="http://disco.ethz.ch/projects/sinalgo/">--><base href=".">
           10  +</head>
           11  +
           12  +<body class="text" bgcolor="#FFFFFF">
           13  +
           14  +<table align="center" width="100%" style="margin-bottom:0px" cellpadding="0" cellspacing="0" border="0">
           15  +<tbody><tr class="height60" valign="middle">
           16  +    <td><a href="http://disco.ethz.ch/" target="_blank"><img src="./index_files/dcgPrint.jpg" alt="Distributed Computing Group" border="0" height="50" width="160"></a></td>
           17  +    <td align="center"><a class="nav_link_header" href="http://disco.ethz.ch/projects/sinalgo/">Sinalgo - Simulator for Network Algorithms</a></td>
           18  +</tr>
           19  +<tr class="height2"><td class="horizontalLine"></td><td class="horizontalLine"></td></tr>
           20  +</tbody></table>
           21  +<div class="bodyText">
           22  +<p class="tutiTitle" align="center">Sinalgo Tutorial</p><h1>Welcome to Sinalgo</h1>
           23  +<p>
           24  +
           25  + Sinalgo is a simulation framework for testing and validating network
           26  + algorithms. Unlike most other network simulators, which spend most
           27  + time simulating the different layers of the network stack, Sinalgo focuses on the verification of network algorithms, and abstracts from
           28  + the underlying layers: It offers a message passing view of the
           29  + network, which captures well the view of actual network devices.
           30  + Sinalgo was designed, but is not limited to simulate wireless
           31  + networks.
           32  +
           33  + </p><p>The key to successful development of network algorithms is a
           34  + comprehensive test suite. Thanks to the fast algorithm prototyping in
           35  + JAVA, Sinalgo offers itself as a first test environment, prior to
           36  + deploy the algorithm to the hardware. Prototyping in JAVA instead of
           37  + the hardware specific language is not only much faster and easier,
           38  + but also simplifies debugging. Sinalgo offers a broad set of
           39  + network conditions, under which you may test your algorithms. In
           40  + addition, Sinalgo may be used as a stand-alone application to obtain
           41  + simulation results in network algorithms research.
           42  +
           43  + </p><p>Sinalgo's view of network devices is close
           44  + to the view of real hardware devices (e.g. in TinyOS): A node may
           45  + send a message to a specific neighbor or all its neighbors, react to
           46  + received messages, set timers to schedule actions in the future, and
           47  + much more. 
           48  +
           49  + </p><p>Some of the key features of Sinalgo:
           50  +
           51  +</p><ul class="unstiled extra-space">
           52  + <li>Quick prototyping of your network algorithms in JAVA</li>
           53  + <li>Straight forward extensibility to cover nearly any simulation scenario</li>
           54  + <li>Many built-in, but still adjustable plug-ins</li>
           55  + <li>High performance - run simulations with 100000s of nodes in acceptable time</li>
           56  + <li>Support for 2D and 3D</li>
           57  + <li>Asynchronous and synchronous simulation</li>
           58  + <li>Customizable visualization of the network graph</li>
           59  + <li>Platform independent - the project is written in Java</li>
           60  + <li>Sinalgo is for <i>free</i>, published under a BSD license</li>
           61  +</ul>
           62  +
           63  +  To guarantee easy extensibility, Sinalgo offers a set of extension
           64  +  points, the so called <i>models</i>. The following list gives an
           65  +  overview of the available models, to each of which you may add your
           66  +  own extension. To facilitate your life, Sinalgo ships with a
           67  +  set of frequently used models.
           68  +
           69  +<ul class="unstiled extra-space">
           70  + <li>The <i>mobility model</i> describes how the nodes change their
           71  + position over time. Examples are <i>random waypoint</i>, <i>random
           72  + walk</i>, <i>random direction</i>, and many others.</li>
           73  +
           74  + <li>The <i>connectivity model</i> defines when two nodes are in
           75  + communication range. The best known examples are the <i>unit disk
           76  + graph (UDG)</i> and the <i>quasi-UDG (QUDG)</i>.
           77  +
           78  + </li><li>The <i>distribution model</i> is responsible to initially place
           79  + the network nodes in the simulation area. E.g. place the nodes
           80  + <i>randomly</i>, evenly distributed on a <i>line</i> or <i>grid</i>
           81  + or according to a stationary regime of a mobility model.</li>
           82  +
           83  + <li>Use the <i>interference model</i> to define whether simultaneous
           84  + message transmissions may interfere.</li>
           85  +
           86  + <li>The <i>reliability model</i> is a simplified form of the
           87  + interference model and lets you define for every message whether it
           88  + should arrive or not. E.g. drop one percent of all messages.</li>
           89  +
           90  + <li>Last but not least, the <i>transmission model</i> lets you define
           91  + how long a message takes until it arrives at its destination.</li>
           92  +</ul>
           93  +
           94  +<p>Please refer to the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Documentation.html" class="nav_link">Tutorial</a> for more information on how to get started.</p>
           95  +
           96  +<p>This software was developed by the <a href="http://disco.ethz.ch/" class="nav_link" target="_blank">Distributed Computing Group</a> at <a href="http://www.ethz.ch/" class="nav_link" target="_blank">ETH Zurich</a>.</p>
           97  +
           98  +<p>
           99  +<a href="http://disco.ethz.ch/projects/sinalgo/pics/screenshot1.png" target="_blank" class="nav_link"><img src="./index_files/screenshotSmall1.png" alt="screenshot1"></a>
          100  +<a href="http://disco.ethz.ch/projects/sinalgo/pics/screenshot2.png" target="_blank" class="nav_link"><img src="./index_files/screenshotSmall2.png" alt="screenshot2"></a>
          101  +<a href="http://disco.ethz.ch/projects/sinalgo/pics/screenshot3.png" target="_blank" class="nav_link"><img src="./index_files/screenshotSmall3.png" alt="screenshot3"></a>
          102  +<a href="http://disco.ethz.ch/projects/sinalgo/pics/screenshot4.png" target="_blank" class="nav_link"><img src="./index_files/screenshotSmall4.png" alt="screenshot4"></a>
          103  +<a href="http://disco.ethz.ch/projects/sinalgo/pics/screenshot5.png" target="_blank" class="nav_link"><img src="./index_files/screenshotSmall5.png" alt="screenshot5"></a>
          104  +<br>
          105  +<span class="caption">Screenshots</span>
          106  +
          107  +</p><hr class="blue"><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          108  +<h1>Getting Started</h1>
          109  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          110  +
          111  + This tutorial gives you a brief introduction to Sinalgo. It covers
          112  + details from the installation process to a detailed look into the
          113  + clockwork of Sinalgo. 
          114  +
          115  + <p>Running a simulation is actually quite easy. The real difficulty
          116  + is to understand what one has simulated, and to interpret the
          117  + obtained results in this context. With this in mind, we hope to give
          118  + you enough information to not only understand how you can use this
          119  + simulation framework, but also understand on a high level how the
          120  + simulation executes. For this purpose, we have added a section <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Architecture.html" class="nav_link">Architecture</a>
          121  + that gives an insight into the clockwork of Sinalgo. 
          122  +
          123  +</p><h2>Roadmap of this Tutorial</h2>
          124  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          125  +
          126  +<ul class="unstyled extra-space">
          127  +
          128  +<li>We start with some information on how to <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Installation.html" class="nav_link">setup</a> Sinalgo on your machine. Don't worry, it's quite easy.</li>
          129  +
          130  +<li>The <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Execution.html" class="nav_link">Execution</a> section describes the different ways to start Sinalgo, as well as the command-line arguments to pre-configure Sinalgo.</li>
          131  +
          132  +<li>In the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Project.html" class="nav_link">Projects</a> section, we describe how you can add your own project to Sinalgo...</li>
          133  +
          134  +<li>... and how to <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html" class="nav_link">implement</a> the desired behavior.</li>
          135  +
          136  +<li>The <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html" class="nav_link">Configuration</a> section shows how you can configure the framework to your needs, and also add your project-specific configuration settings.</li>
          137  +
          138  +<li>Don't miss the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Tools.html" class="nav_link">Tools</a> page! It contains many hints on how to use the framework and describes the tools Sinalgo already provides.</li>
          139  +
          140  +<li>Finally, some information on how Sinalgo works is given in the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Architecture.html" class="nav_link">Architecture</a> section.</li>
          141  +
          142  +</ul>
          143  +
          144  +
          145  +<h2>Printable Version of this Tutorial</h2>
          146  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          147  +
          148  + If you wisth to print the entire tutorial, try the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/tuti.html" class="nav_link"><b><span class="red">All-in-One Tutorial</span></b></a>,
          149  + which contains all sections of the tutorial on a single website.  To
          150  + print some pages of this tutorial, click on the <b>Printable
          151  + Version</b> link on top of each site to get a printer friendly
          152  + version of the page.
          153  +<hr class="blue"><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          154  +<h1>Sinalgo Setup</h1>
          155  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          156  +
          157  + There are two flavors of Sinalgo: The <a href="http://disco.ethz.ch/projects/sinalgo/download.html" class="nav_link" target="main">toy release</a> and the <a href="http://disco.ethz.ch/projects/sinalgo/download.html" class="nav_link" target="main">regular
          158  + release</a>. Download the toy release if you just want to have a
          159  + glance at the project, but do not intend to run any simulations. For
          160  + any other objectives, download the regular release for full access to
          161  + all features of Sinalgo. 
          162  +
          163  +<h2>Requirements<a name="Requirements"></a></h2>
          164  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          165  +
          166  +<ul class="unstyled extra-space">
          167  + <li>Sinalgo requires <a href="http://java.sun.com/j2se/1.5.0/download.jsp" target="_blank" class="nav_link">Java 5.0 (J2SE 5.0 JDK)</a> or
          168  + a more recent version.</li>
          169  +
          170  + <li>Optionally, you may install a development tool, e.g. <a href="http://www.eclipse.org/" target="_blank" class="nav_link">Eclipse</a>. In the following, we will briefly
          171  + sketch the setup of Sinalgo with Eclipse. </li>
          172  +
          173  + <li>Optionally, you may also install <a href="http://ant.apache.org/" target="_blank" class="nav_link">Apache ANT</a>, a tool that
          174  + lets you easily build the framework from the command-line. </li>
          175  +</ul>
          176  +
          177  +<h2>Toy Release<a name="Toy Release"></a></h2>
          178  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          179  +
          180  + After downloading the toy release, unpack the compressed folder and
          181  + double click the included jar file. 
          182  +
          183  + <p>In case you have several versions of Java installed, ensure that
          184  + the default version is 5.0 or higher.
          185  +
          186  + </p><p class="note"><b>Note:</b> If another application than java
          187  + executes jar files on your system, you may need to launch Sinalgo from
          188  + the command line. This is probably the case if you see a window showing
          189  + a directory structure after double clicking the jar file. To start
          190  + Sinalgo from the command line, open the a command line and change
          191  + to the unpacked directory of the toy release. Then, type <span class="code">java -jar sinalgo.jar</span>
          192  +	</p>
          193  +
          194  +<h2>Regular Release<a name="Regular Release"></a></h2>
          195  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          196  + 
          197  + After downloading the regular release, unpack the compressed folder
          198  + to your favorite location to work from. Depending on the IDE you are
          199  + using, the following steps may differ. We first describe the general
          200  + settings you need to achieve and then how to obtain these settings
          201  + with Eclipse.
          202  +
          203  +<div class="subsubBody">
          204  +<h3>Class Paths<a name="Class Paths"></a></h3>
          205  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          206  + The following settings need to be set, either in your IDE, or on the
          207  + command-line to compile and run the application. 
          208  +
          209  +<ul>
          210  +<li>The source-code is located in the folder <span class="code">src</span></li>
          211  +<li>The binaries are located in the folder <span class="code">binaries/bin</span></li>
          212  +</ul>
          213  +
          214  + To compile from the command-line using ANT, call <span class="code">ant compile</span>.
          215  +
          216  + <p>To run the application from the command line, call (for
          217  + example)
          218  +
          219  + <br> <span class="code">java -cp binaries/bin
          220  + sinalgo.Run</span>
          221  +
          222  + <br> Refer to the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Execution.html#Cmd Args" class="nav_link">Command Line Arguments</a> section of the tutorial
          223  + for more information about the command-line arguments to Sinalgo.
          224  +</p></div>
          225  +
          226  +<div class="subsubBody">
          227  +<h3>Setup in Eclipse<a name="Setup in Eclipse"></a></h3>
          228  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          229  +
          230  + To setup Sinalgo for Eclipse, you need to create a new project in
          231  + Eclipse and associate it with the downloaded regular release of Sinalgo.
          232  +
          233  +<ol>
          234  +
          235  +<li>Start Eclipse, and create a new project ('File' -&gt; 'New' -&gt;
          236  +'Project')</li>
          237  +
          238  +<li>Select to create a 'Java Project' and click to proceed</li>
          239  +
          240  +<li>Name the new project, e.g. 'sinalgo'</li>
          241  +
          242  +<li>If you wish to import Sinalgo into your workspace, then
          243  +	<ol>
          244  +		<li>Click on 'Finish' to create an empty project.</li>
          245  +		<li>Unpack the regular release to a temporary directory, and copy its content into the new project, overwriting the .classpath file.</li>
          246  +	</ol>
          247  +
          248  +	If you wish to store the source of Sinalgo in any different
          249  +	location, then
          250  +	<ol>
          251  +        <li>Unpack the regular release to the desired location</li>
          252  +		<li>Select to create the project from an existing source, and point to
          253  +		the unpacked regular release of Sinalgo.</li>
          254  +
          255  +		<li>Click on 'Finish' to create the project. The required settings are
          256  +		set automatically.</li>
          257  +	</ol>
          258  +	</li>
          259  +
          260  +	<li>Ensure that Eclipse is configured to use Java 5.0 or later:<br>
          261  +	Open the Preferences dialog ('Window' -&gt; 'Preferences') and select
          262  +	'Java' -&gt; 'Compiler'. The compiler compliance level should be set to
          263  +	5.0 or higher. <br>
          264  +	Also, ensure that Eclipse uses the JRE 5.0 or higher. In the
          265  +	Preferences dialog, ('Window' -&gt; 'Preferences'), select 'Java' -&gt;
          266  +	'Installed JREs'. Ensure that the installed JRE points to the correct
          267  +	Java installation.</li>
          268  +</ol>
          269  +
          270  +<b>Note:</b> Do not use the option <i>Java Project from Existing Ant Build File</i>.
          271  +This feature creates symbolic links to the source of Sinalgo, and
          272  +creates a local copy of the binaries only. Such a setup is not supported
          273  +by Sinalgo, which expects the <span class="code">src</span> and <span class="code">bin</span>
          274  +folder to be located in the same directory.
          275  +
          276  +<p>To start the application, right-click on the <span class="code">src</span>
          277  +folder in the Package Explorer or the Navigator of Eclipse, and select
          278  +'Run As' -&gt; 'Java Application'.</p></div>
          279  +
          280  +<hr class="blue"><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          281  +<h1>Running Sinalgo</h1>
          282  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          283  +
          284  + We have already seen that the toy release of Sinalgo only needs a double
          285  + click to start. This section describes the more advanced
          286  + possibilities to launch and configure Sinalgo.<br>
          287  +
          288  +<ul class="unstyled extra-space">
          289  + <li>To launch Sinalgo from within your IDE, execute the <span class="code">Run</span> class, which is located in the folder <span class="code">sinalgo</span>. Remember that your IDE needs to have the
          290  + class paths set as described in the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Installation.html#Class Paths">installation</a>
          291  + tutorial.  <p class="note"><b>For Eclipse Users:</b> In the
          292  + <i>Navigator</i> or <i>Package Explorer</i> of Eclipse, open the
          293  + folder <span class="code">src/sinalgo/</span>. Right-click on <span class="code">Run.java</span> and select <i>Run As</i> -&gt; <i>Java
          294  + Application</i>. (There are several alternatives to launch an
          295  + application in Eclipse, please consult the documentation of Eclipse
          296  + for more details.)
          297  + </p>
          298  + </li>
          299  +
          300  + <li>To launch the framework from the command line, change to the root
          301  + directory of the Sinalgo installation and execute the following command<br>
          302  + 
          303  + <span class="code">java -cp binaries/bin sinalgo.Run</span></li>
          304  +</ul>
          305  +
          306  +<h2>Increase the VM Memory<a name="VM Memory"></a></h2>
          307  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          308  +
          309  + With increasing size of the networks you simulate, Sinalgo requires more
          310  + memory. By default, Java provides only around 128MB. In order to increase the
          311  + amount of memory Java is allowed to use, modify the configuration file
          312  + of your project and set the entry <span class="code">javaVMmaxMem</span> to an appropriate 
          313  + value (in MB). 
          314  +
          315  + <p><b>Note:</b> Do not use the <span class="code">-Xmx</span> flag for the 
          316  + virtual machine. This flag only affects the <span class="code">Run</span> application, 
          317  + which starts the simulation in a separate process. </p>
          318  + 
          319  +
          320  +<h2>The <span class="code">Run</span> Command<a name="Run"></a></h2>
          321  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          322  + 
          323  + The <span class="code">Run</span> command used to launch Sinalgo is a 
          324  + helper process to start the simulation process. I.e. when starting Sinalgo 
          325  + through <span class="code">java -cp binaries/bin Sinalgo.Run</span>, the 
          326  + initial java process launches a second process, in which the simulation takes 
          327  + place. This allows the first process to read the configuration file of the 
          328  + selected project, set the maximum memory that may be used by the simulation process,
          329  + and start the simulation process using the additional commands specified in the
          330  + config file. 
          331  + 
          332  + <p>Depending on your OS and installed applications, you may have several tools at hand that
          333  + may facilitate simulations with Sinalgo. Below is a brief list of how you may edit
          334  + the <span class="code">javaCmd</span> field in the config file: </p><p>
          335  + 
          336  +<table border="1" cellpadding="5" cellspacing="0">
          337  +<tbody><tr>
          338  +<td valign="top" class="code" width="30%">java</td>
          339  +<td>The default. Just start the simulation process.</td>
          340  +</tr>
          341  +
          342  +<tr>
          343  +<td valign="top" class="code">nice -n XX java</td>
          344  +<td>Start Sinalgo with modified priority XX.</td>
          345  +</tr>
          346  +
          347  +<tr>
          348  +<td valign="top" class="code">time java</td>
          349  +<td>Display the total running time of the simulation (after the simulation stopped).</td>
          350  +</tr>
          351  +
          352  +</tbody></table>
          353  +<span class="caption">Suggestions on how to modify <span class="code">javaCmd</span> in the config file.</span>
          354  +
          355  +
          356  +</p><h2>Command Line Configuration of Sinalgo<a name="Cmd Args"></a></h2>
          357  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          358  +
          359  + Calling Sinalgo without any arguments opens the project selection
          360  + dialog. This dialog shows the available projects you may choose from,
          361  + and gives you the possibility to alter the configuration of the
          362  + projects. Refer to the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">Configuration</a> section of the
          363  + tutorial to learn more about how to configure your project.
          364  +
          365  + <p>By passing on arguments on the command line (or through your IDE),
          366  + you can influence the execution of Sinalgo. The following list describes
          367  + the recognized command line arguments.
          368  +
          369  +</p><p>
          370  +
          371  +<table border="1" cellpadding="5" cellspacing="0">
          372  +<tbody><tr>
          373  +<td valign="top" class="code" width="30%">-help</td>
          374  +<td>Prints the recognized command line arguments.</td>
          375  +</tr>
          376  +
          377  +<tr>
          378  +<td valign="top" class="code">-gui</td>
          379  +<td>Starts the framework in GUI mode (default)</td>
          380  +</tr>
          381  +
          382  +<tr>
          383  +<td valign="top" class="code">-batch</td>
          384  +<td>Starts the framework in batch mode, i.e. no windows. This mode is best suited to run long-lasting well-defined simulations.</td>
          385  +</tr>
          386  +
          387  +<tr>
          388  +<td valign="top" class="code">-project XX</td>
          389  +<td>Indicates that Sinalgo should be started for project XX. If this argument is missing, the project selector dialog will be displayed.</td>
          390  +</tr>
          391  +
          392  +<tr>
          393  +<td valign="top" class="code">-rounds XX</td>
          394  +<td>The framework performs XX simulation rounds immediately after startup. Defaults to zero.</td>
          395  +</tr>
          396  +
          397  +<tr>
          398  +<td valign="top" class="code">-refreshRate XX</td>
          399  +<td>Sets that the GUI should be updated only every XX round. Defaults to 1.</td>
          400  +</tr>
          401  +
          402  +<tr>
          403  +<td valign="top" class="code">-gen ...</td>
          404  +<td>
          405  +This argument lets you automatically generate network nodes. It has
          406  +the following form:<br><span class="code">-gen #n T D {(params)} {CIMR
          407  +{(params)}}*</span>
          408  +
          409  +<br>The command generates <span class="code">#n</span> nodes of node-type <span class="code">T</span> and distributes them according to the
          410  +distribution model <span class="code">D</span>. (Optionally, the
          411  +distribution model may take parameters in parentheses.)
          412  +<p>
          413  + Optionally, you may specify in arbitrary order the connectivity,
          414  + interference, mobility, and reliability models by appending the
          415  + corresponding model name(*) to the <span class="code">-gen </span>
          416  + command. If a model is not specified, the default model (as specified
          417  + in the project's configuration file) is used. (Again, any of the
          418  + model names may be followed by model-specific arguments enclosed in
          419  + parentheses.)
          420  +
          421  + </p><p>(*) <b>Model and Node Naming Convention:</b> The name of models is
          422  + composed of the project name in which the model is located and the
          423  + name of the model itself: <span class="code">projectName:modelName</span>. The same holds for the
          424  + name of the node. <i>Exception:</i> Models and nodes stored in the
          425  + defaultProject of the framework need not be prefixed with
          426  + "<span class="code">defaultProject:</span>".
          427  +
          428  + </p><p>For disambiguation, the models may be prefixed with <span class="code">X=</span>, where <span class="code">X={C|I|M|R}</span>. The mapping is as following: 
          429  + <br><span class="code">C</span> - Connectivity Model
          430  + <br><span class="code">I</span> - Interference Model
          431  + <br><span class="code">M</span> - Mobility Model
          432  + <br><span class="code">R</span> - Reliability Model
          433  +</p></td>
          434  +</tr>
          435  +
          436  +<tr>
          437  +<td valign="top" class="code">-overwrite key=value (key=value)*</td>
          438  +
          439  +<td>Overwrites the configuration entry named <span class="code">key</span> to have the new value <span class="code">value</span>.  <span class="code">key</span> may specify
          440  +a framework configuration entry, or a custom configuration entry
          441  +specified in the project's configuration file.
          442  +</td>
          443  +</tr>
          444  +</tbody></table>
          445  +<span class="caption">Command line parameters that may be used to configure a simulation.</span>
          446  +
          447  +</p><h3>Example 1<a name="Examples"></a></h3>
          448  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          449  +
          450  + The following arguments open project <span class="code">sample1</span>, and generate 1000 nodes of type <span class="code">S1Node</span> from project <span class="code">sample1</span>. The nodes are distributed according to
          451  + the <span class="code">Random</span> distribution model. After
          452  + generating the nodes, the framework performs 10 rounds, but only
          453  + draws the GUI every second round.
          454  +
          455  +<p><span class="code">
          456  +-project sample1 -gen 1000 sample1:S1Node Random -rounds 10 -refreshRate 2
          457  +</span>
          458  +
          459  +</p><h3>Example 2</h3>
          460  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          461  + 
          462  + The following arguments open project <span class="code">sample2</span>, and generate 10000 nodes of type <span class="code">S2Node</span> from project sample2. The nodes are
          463  + distributed according to the <span class="code">Random</span>
          464  + distribution model. Furthermore, the connectivity model is set to
          465  + <span class="code">QUDG</span> (which is in the default project), and
          466  + the mobility model is set to <span class="code">LakeAvoid</span> from
          467  + project <span class="code">sample2</span>.
          468  +
          469  +<p><span class="code">
          470  +-project sample2 -gen 10000 sample2:S2Node Random C=QUDG M=sample2:LakeAvoid
          471  +</span>
          472  +
          473  +</p><p> Note that in this case, the disambiguation is not necessary, and the
          474  + following arguments result in the same behavior.
          475  +
          476  +</p><p><span class="code">
          477  +-project sample2 -gen 10000 sample2:S2Node Random QUDG sample2:LakeAvoid
          478  +</span>
          479  +
          480  +</p><h3>Example 3</h3>
          481  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          482  +
          483  + In order to enable mobility, disable interference, and set <span class="code">rMax</span> of the <span class="code">GeometricNodeCollection</span> to <span class="code">50</span> you would add the following <span class="code">-overwrite</span> argument:
          484  +
          485  +<p><span class="code">
          486  +-overwrite mobility=true interference=false GeometricNodeCollection/rMax=50
          487  +</span>
          488  +
          489  +</p><h3>Example 4</h3>
          490  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          491  + 
          492  + You may place several <span class="code">-gen</span> arguments to
          493  + generate distinct sets of nodes:
          494  +
          495  +<p><span class="code">
          496  +-project sample1 -gen 100 sample1:S1Node Random UDG -gen 50 DummyNode Circle QUDG -gen 10 sample2:S2Node Random 
          497  +</span>
          498  +
          499  + </p><p>Thus, it is possible to use nodes and models from several
          500  + projects. But note that the configuration is loaded from the selected
          501  + project.
          502  +
          503  +
          504  +</p><h2>True batch mode without windows<a name="Headless"></a></h2>
          505  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          506  +
          507  + Running Sinalgo without any windows in <it>true</it> batch mode
          508  + may require that you start the application with the flag
          509  +
          510  +<p><span class="code">
          511  + -Djava.awt.headless=true
          512  +</span>
          513  +</p><p>
          514  +
          515  + If you launch Sinalgo via the Run class, you may need to specify
          516  + this flag twice: once for calling Run, and once in the project
          517  + configuration through the <span class="code">javaCmd</span> property.
          518  +<br>
          519  +<span class="caption">Thanks to Denis Rochat for pointing out this issue.</span> 
          520  +
          521  +
          522  +</p><h2>Running Sinalgo from Scripts<a name="Scripts"></a></h2>
          523  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          524  +
          525  + Instead of typing the basic java command for every run, you may make use of a 
          526  + script (batch) file that encapsulates the call to java with the necessary 
          527  + parameters described above. Two such scripts are included in the root directory
          528  + of the regular release: <span class="code">sinalgo.bat</span> for the Microsoft 
          529  + Windows <i>cmd</i> shell, and <span class="code">sinalgo</span> for <i>bash</i> 
          530  + shells. Instead of typing
          531  +<p></p><div class="code codeTab">
          532  + java -cp binaries/bin sinalgo.Run -project sample1
          533  +</div>
          534  + <p>only write:
          535  +</p><p></p><div class="code codeTab">
          536  + <b>sinalgo</b> -project sample1
          537  +</div>
          538  +
          539  +
          540  +<h3>Automating Sinalgo</h3>
          541  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          542  +
          543  + A simulation often consists of several runs of Sinalgo, each time with 
          544  + slightly different parameters. The variation of the parameters is achieved easiest
          545  + by using the <span class="code">-overwrite</span> command line parameter, as
          546  + described above. To call Sinalgo automatically several times with the distinct
          547  + command line parameters, we propose to use a scripting language, the example below
          548  + uses <i>perl</i>.
          549  + 
          550  +<br><br><br>
          551  +<div class="subsubBody">
          552  +<table border="1" cellpadding="5" cellspacing="0" bgcolor="#eeeeee"> <tbody><tr><td>
          553  +<div class="code codeTab">
          554  +<span class="CKey">#!/usr/bin/perl</span><br>
          555  +<br>
          556  +<span class="CVar">$numRounds</span> = 100; <span class="CCom"># number of rounds to perform per simulation</span><br>
          557  +<br>
          558  +<span class="CKey">for</span>(<span class="CVar">$numNodes</span>=200; <span class="CVar">$numNodes</span>&lt;=500; <span class="CVar">$numNodes</span>+=100) {
          559  +<div class="codeTab">
          560  +  <span class="CKey">system</span>("java -cp binaries/bin sinalgo.Run " .
          561  +  <div class="codeTab">
          562  +		 "-project sample1 " .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="CCom"># choose the project</span><br>
          563  +		 "-gen <span class="CVar">$numNodes</span> sample1:S1Node Random RandomDirection " . <span class="CCom"># generate nodes</span><br>
          564  +		 "-overwrite " .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="CCom"># Overwrite configuration file parameters</span><br>
          565  +		 "exitAfter=true exitAfter/Rounds=<span class="CVar">$numRounds</span> " . <span class="CCom"># number of rounds to perform &amp; stop</span><br>
          566  +		 "exitOnTerminationInGUI=true " .&nbsp;&nbsp;<span class="CCom"># Close GUI when hasTerminated() returns true</span><br>
          567  +		 "AutoStart=true " .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="CCom"># Automatically start communication protocol</span><br>
          568  +		 "outputToConsole=false " .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="CCom"># Create a framework log-file for each run</span><br>
          569  +		 "extendedControl=false " .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="CCom"># Don't show the extended control in the GUI</span><br>
          570  +		 "-rounds <span class="CVar">$numRounds</span> " .&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="CCom"># Number of rounds to start simulation</span><br>
          571  +		 "-refreshRate 20");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="CCom"># Don't draw GUI often</span><br>
          572  +</div>
          573  +</div> 
          574  +}
          575  +</div>
          576  +</td></tr></tbody></table>
          577  +<span class="caption">A sample perl script that demonstrates how Sinalgo may be called several 
          578  +times in sequence with modified command line arguments. In this example, project sample1 is started 
          579  +with 200, 300, 400, and 500 nodes, respectively.</span>
          580  +</div>
          581  +
          582  + <p>The flags <span class="code">-project</span>,
          583  + <span class="code">-gen</span>, <span class="code">-rounds</span>, 
          584  + and <span class="code">-refreshRate</span> are presented above. The 
          585  + remaining parameters overwrite the default entries in the project specific
          586  + configuration file. Alternatively, we could add the flag <span class="code">-batch</span>
          587  + to run the simulation in batch mode. For huge simulations with many nodes, this may 
          588  + be preferable. But if memory is not a limiting factor, the GUI may provide a good
          589  + interface to supervise the simulation. Setting the refresh rate to a fairly high value, 
          590  + the GUI does not use a significant amount of simulation time. Note that pressing 
          591  + the stop button, and then continuing a simulation is perfectly OK and does not change
          592  + the simulation result.
          593  + 
          594  + </p><p><b>Note:</b> Project <span class="code">sample1</span> contains a more 
          595  + sophisticated run-script to demonstrate the possibilities of perl. 
          596  + 
          597  + </p><p><b>Remember:</b> Depending on your platform, you may need to adjust the class path 
          598  + separator. In the example above, we used the semicolon. But for instance on Linux,
          599  + the separator is a colon, and yet other separators may be used on other platforms. 
          600  +
          601  + </p><p><b>Hint:</b> Set the <span class="code">logToTimeDirectory</span> such that 
          602  + log-files are not overwritten by a subsequent simulation. To collect simulation data 
          603  + from the different simulations, designate a log-file to which each simulation appends
          604  + to. See <a class="navLink" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Tools.html#Logging">Logging</a> for more 
          605  + information.
          606  + 
          607  + </p><p><b>Installing perl: </b>You may obtain a copy of perl from <a class="nav_link" href="http://www.perl.org/">www.perl.org</a>. Alternatively, install <a class="nav_link" href="http://www.cygwin.com/">Cygwin</a> and include the perl package. 
          608  + 
          609  +
          610  +</p><h2>Debugging<a name="Debugging"></a></h2>
          611  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          612  +
          613  + The <span class="code">Run</span> class launches Sinalgo in a separate process. This 
          614  + has immediate consequences for running a debugger, as the simulation itself does not
          615  + run in launched application. In order to use the debugger of 
          616  + your IDE to analyze the implemented algorithms, you probably need to do one of the steps 
          617  + below. 
          618  + 
          619  + <p><b>a)</b> Start Sinalgo directly using the following slightly modified command line.</p><p>
          620  +</p><div class="subsubBody">  
          621  + <span class="code">java <b>-Xmx800m</b> -cp binaries/bin sinalgo.<b>runtime.Main</b></span>
          622  + 
          623  + <p>This launches the simulation process directly, but does not allow to specify the maximum 
          624  + memory to be used through the config file. The <span class="code">-Xmx800m</span> flag indicates
          625  + that the JVM may use at most 800 MB of memory, adjust the value to your needs. 
          626  +</p></div>
          627  +
          628  + <p><b>b)</b> Use remote debugging: Some java debuggers can be attached to a remote process (even 
          629  + running on a different machine). Remote debugging requires two steps. 
          630  +</p><div class="subsubBody"> 
          631  + <p><b>b.1)</b> First, modify the run 
          632  + command for the simulation process s.t. it can communicate with the debugger. I.e. set the 
          633  + <span class="code">javaCmd</span> entry of the config file to</p>
          634  +
          635  + <p><span class="code">java -agentlib:jdwp=transport=dt_socket,address=localhost:8000,suspend=n,server=y</span></p>
          636  + 
          637  + <p>This configures the JVM to receive connections. You are free to choose any (unused) port 
          638  + number in the address-flag.</p>
          639  +
          640  + <p><b>b.2)</b> After starting the simulation, launch the debugger and attach it to the application. 
          641  + In Eclipse, call <span class="code">Run -&gt; Debug...</span> and create a new configuration for a 
          642  + <i>Remote Java Application</i>. Select the Connection Type to be <i>Standard (Socket Attach)</i>, and the 
          643  + Connection Properties to match the address specified in the <span class="code">javaCmd</span>. </p>
          644  +</div>
          645  +
          646  +
          647  +<h2>Hot Code Replace<a name="Hot Code Replace"></a></h2>
          648  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          649  +
          650  + The exchange of class files at runtime is called 'hot code replace' and can be performed 
          651  + by most IDEs, e.g. Eclipse. For that purpose, your IDE transfers the new class files over 
          652  + the debugging channel to the JVM running Sinalgo. Therefore, hot code replace requires
          653  + Sinalgo to run in <a class="navLink" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Execution.html#Debugging">debugging mode</a>. 
          654  + 
          655  + <p><b>Note:</b> Hot code replace is only possible if the signature of the replaced class 
          656  + files remains the same. I.e. you may change the body of a method, but not the signature of
          657  + the method. It is neither possible to add/remove methods or global variables. </p>
          658  +
          659  +
          660  +<h2>GUI Description<a name="GUI"></a></h2>
          661  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          662  +
          663  + This section summarizes the methods and helper-functions provided
          664  + through the GUI of Sinalgo. 
          665  +
          666  +<div class="subsubBody">
          667  +<h3>Menus</h3>
          668  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          669  +
          670  + <p>The <span class="code"><b>Graph</b></span> menu provides the
          671  + following tasks:
          672  +
          673  +</p><p><table border="1" cellpadding="5" cellspacing="0">
          674  +
          675  +<tbody><tr><td valign="top"><span class="code">
          676  +Generate Nodes
          677  + <img src="./index_files/addnodes.gif" alt="AddNodes"> 
          678  +</span></td><td>
          679  + Opens a dialog that adds new nodes to the simulation. You can specify
          680  + the number of nodes to add, their initial distribution, as well as the
          681  + node specific models. 
          682  +</td></tr>
          683  +
          684  +<tr><td valign="top"><span class="code">
          685  +Clear Graph
          686  + <img src="./index_files/cleargraph.gif" alt="ClearGraph">
          687  +</span></td><td>
          688  + Removes all nodes from the simulation. 
          689  +</td></tr>
          690  +
          691  +<tr><td valign="top"><span class="code">
          692  +Reevaluate Connections
          693  +</span></td><td>
          694  + Loops over all nodes and determines for each node the set of neighbor
          695  + nodes, according to the node's connectivity model. This function is
          696  + especially useful in the asynchronous simulation mode, where the connections
          697  + are not updated automatically. 
          698  +</td></tr>
          699  +
          700  +<tr><td valign="top"><span class="code">
          701  +Infos
          702  +</span></td><td>
          703  + Prints some information about the current network graph, including
          704  + the number of nodes and the number of (unidirectional) edges. 
          705  +</td></tr>
          706  +
          707  +<tr><td valign="top"><span class="code">
          708  +Export
          709  +</span></td><td>
          710  + Creates a vector graphic image of the current view of the network graph and 
          711  + writes it to an EPS or PDF file. 
          712  + <br>
          713  + To output the graphic in PDF format, your machine needs to provide a
          714  + tool that can convert from EPS to PDF. By default, the framework
          715  + calls the <span class="code">epstopdf</span> application. Change the
          716  + field <span class="code">epsToPdfCommand</span> in the framework
          717  + section of the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">configuration file</a> to specify
          718  + a different application.
          719  +</td></tr>
          720  +
          721  +<tr><td valign="top"><span class="code">
          722  +Preferences
          723  +</span></td><td>
          724  + Some preferences you are allowed to change at runtime. This includes 
          725  + the type of the edges and the message transmission model, which is the
          726  + same for all nodes.
          727  +</td></tr>
          728  +
          729  +</tbody></table>
          730  +<span class="caption">Methods provided in the <span class="code">Graph</span> menu</span>
          731  +
          732  + </p><p>The <span class="code"><b>Global</b></span> menu contains all <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#CustomGlobal" class="nav_link">global custom methods</a> and the <span class="code">Settings</span> dialog, which displays a list of all
          733  + settings.
          734  +
          735  +</p></div> 
          736  +
          737  +<div class="subsubBody">
          738  +<h3>GUI Interaction</h3>
          739  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          740  +
          741  +<p><table border="1" cellpadding="5" cellspacing="0">
          742  +<tbody><tr><td valign="top">
          743  +Perform a simulation step / execute the next event
          744  +</td><td>
          745  + Press the <img src="./index_files/GUI_run.gif" alt="RUN_BUTTON"> button. In
          746  + synchronous simulation mode, this executes the number of rounds
          747  + specified in the <i>Rounds to Perform</i> text field. In asynchronous
          748  + simulation mode, this executes the number of events specified in the
          749  + <i>Events to Perform</i> text field.
          750  +</td></tr>
          751  +
          752  +<tr><td valign="top">
          753  + Abort a running simulation 
          754  +</td><td>
          755  + Press the <img src="./index_files/GUI_abort.gif" alt="ABORT_BUTTON">
          756  + button. After pressing the button, the simulation will finish the
          757  + currently executing round/event before it stops. Thus, this button is
          758  + only useful if you set the <i>Rounds to Perform</i> or <i>Events to
          759  + Perform</i> field to a value above 1. 
          760  +
          761  + <p>The framework finishes the current round/event to ensure integrity of
          762  + the system, and that the simulation can be continued by pressing <img src="./index_files/GUI_run.gif" alt="RUN_BUTTON">.
          763  +</p></td></tr>
          764  +
          765  +<tr><td valign="top">
          766  + Add an edge from node <span class="code">A</span> to node <span class="code">B</span>.
          767  +</td><td>
          768  + Left-click on node <span class="code">A</span>. Keep the mouse pressed, move it to 
          769  + node <span class="code">B</span> and release it. 
          770  +</td></tr>
          771  +
          772  +<tr><td valign="top">
          773  + Move a node in in 2D
          774  +</td><td>
          775  + Right-click on the node and drag it to the new place. Alternatively,
          776  + right-click on the node to obtain the popup menu for the node and select
          777  + the 'Info' dialog to key in the new coordinates. The latter approach
          778  + is also supported in 3D.
          779  +</td></tr>
          780  +
          781  +<tr><td valign="top">
          782  + Zoom in / Zoom out
          783  +</td><td>
          784  + Position the mouse in the area containing the network and use the
          785  + wheel to change the zoom factor. Alternatively, use the zoom-in /
          786  + zoom-out buttons <img src="./index_files/zoominimage.gif" alt="zoom"> <img src="./index_files/zoomoutimage.gif" alt="zoom">.  
          787  +
          788  + <p>This operation may also be performed in the 'View' panel of the
          789  + extended control panel.
          790  +</p></td></tr>
          791  +
          792  +<tr><td valign="top">
          793  + Zoom to Fit
          794  +</td><td>
          795  + Press the <img src="./index_files/zoomtofit.gif" alt="zoom"> button to set the
          796  + zoom factor such that the simulation area just fits on the screen. 
          797  +
          798  + <p> In 3D mode, press the <img src="./index_files/zoomtofit3d.gif" alt="zoom">
          799  + button to reset the default view of the cube. 
          800  +</p></td></tr>
          801  +
          802  +<tr><td valign="top">
          803  + Translate the displayed simulation area 
          804  +</td><td>
          805  + Press the right mouse-button on a free spot of the simulation
          806  + area. Keep the mouse button pressed and move the mouse to translate
          807  + the simulation area. 
          808  +
          809  + <p>This operation may also be performed in the 'View' panel of the
          810  + extended control panel, with the difference that the network graph is
          811  + only updated once the mouse button is released. This may be handy for
          812  + huge networks graphs with a long drawing time.
          813  +</p></td></tr>
          814  +
          815  +<tr><td valign="top">
          816  + Rotate the 3D cube
          817  +</td><td>
          818  + Press the left mouse-button on a free spot of the simulation
          819  + area. Keep the mouse button pressed and move the mouse to rotate the
          820  + simulation area. By default, the rotation keeps the Z-axis
          821  + vertical. To turn off this feature, press the <span class="code">Ctrl</span> button while pressing the left mouse-button.
          822  +
          823  + <p>This operation may also be performed in the 'View' panel of the
          824  + extended control panel, with the difference that the network graph is
          825  + only updated once the mouse button is released. This may be handy for
          826  + huge networks graphs with a long drawing time.
          827  +</p></td></tr>
          828  +</tbody></table>
          829  +
          830  +</p><p><table border="0" cellpadding="5" cellspacing="0"><tbody><tr><td>
          831  + The view panel in the extended control shows the entire cube even
          832  + though the main view of the network graph only shows a cut-out. The
          833  + red rectangle indicates the portion of the simulation area currently
          834  + displayed. The zoom, translate and rotate operations may also be
          835  + performed in this area. 
          836  +
          837  +</td><td>
          838  +<img src="./index_files/gui3DView.png" alt="&#39;View&#39; panel of the GUI in 3D mode">
          839  +</td></tr></tbody></table>
          840  +
          841  +</p></div>
          842  +<hr class="blue"><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          843  +<h1>Sinalgo Project</h1>
          844  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          845  +
          846  + Once Sinalgo is installed, you may run several independent simulations
          847  + with the same installation. To distinguish between the different
          848  + simulations, the files belonging to one simulations are grouped in a
          849  + project. This includes the project specific configurations and the
          850  + actual network implementations. At startup of the framework, Sinalgo asks which project to use and then initializes as defined in the
          851  + chosen project.
          852  +
          853  + <p><b>Note:</b> It is recommended to generate a project for each
          854  + algorithm one simulates. However, this often results in quite a lot
          855  + of common code, e.g. models that are used for several
          856  + projects. Instead of <i>copying</i> this code to all projects, it is
          857  + preferred to create a <i>dummy project</i> that holds this common
          858  + code from where all other projects access it. In fact, the <span class="code">defaultProject</span> shipped with Sinalgo is such a dummy
          859  + project and gathers quite some default implementations that may be
          860  + handy for you.
          861  + 
          862  +</p><h2>Creating a Project<a name="New Project"></a></h2>
          863  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          864  +
          865  + From the view of a developer, a project is nothing else than a folder
          866  + located in the <span class="code">src/projects/</span> folder of
          867  + Sinalgo. The name of the project is given by the name of this
          868  + folder. The content of the project folder for a project named <span class="code">sample1</span> may look as following:
          869  +
          870  +<p><img src="./index_files/projectFolders.png" alt=""><br></p>
          871  +
          872  + To create a new project, rename a copy of the <span class="code">template</span> project. This gives you an empty folder
          873  + structure as shown above. 
          874  +
          875  +<h2>Project Content<a name="Project Content"></a></h2>
          876  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          877  +
          878  + The project folder contains three sub-folders: 
          879  +<ul class="unstyled extra-space"> 
          880  +<li><span class="code">images</span> This folder contains the images for project specific buttons.</li>
          881  +<li><span class="code">models</span> All project specific model implementations are stored in the corresponding sub-folder.</li>
          882  +<li><span class="code">nodes</span> This folder contains network-node specific implementations, stored in the following four sub-folders:
          883  +<ul class="unstyled extra-space"> 
          884  +<li><span class="code">edges</span> Classes describing project specific connection-behavior.</li>
          885  +<li><span class="code">messages</span> Classes describing the messages this project uses.</li>
          886  +<li><span class="code">nodeImplementations</span> Classes describing the network-nodes and their behavior.</li>
          887  +<li><span class="code">timers</span> Classes describing project specific timers.</li>
          888  +</ul>
          889  +</li>
          890  +</ul>
          891  +
          892  + <b>Note:</b> You may omit any of the folders if it does not contain any files. 
          893  +
          894  + <p>Each project contains the four following files in the root directory:
          895  +
          896  +</p><ul class="unstyled extra-space"> 
          897  +
          898  +<li><span class="code">Config.xml</span> contains the project specific
          899  +configuration. When you select Sinalgo to work with a project, the
          900  +framework initializes according to this configuration file in the
          901  +project's root folder. The file contains framework specific settings
          902  +as well as project specific setting, which you may extend
          903  +to fit your needs.</li>
          904  +
          905  +<li><span class="code">description.txt</span> contains a user-defined
          906  +description of the project. This text is shown in the project selector
          907  +dialog.</li>
          908  +
          909  +<li><span class="code">CustomGlobal.java</span> contains
          910  +framework-wide visible methods for this project.</li>
          911  +
          912  +<li><span class="code">LogL.java</span> is used to specify custom
          913  +Log-Levels to control the logging. Check the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Tools.html#Logging" class="nav_link">documentation of
          914  +the Logger</a> to get more information about the logging
          915  +mechanism.</li>
          916  +
          917  +</ul>
          918  +
          919  +<hr class="blue"><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          920  +<h1>Node Implementation</h1>
          921  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          922  +
          923  + The implementation of a project consists of several tasks:
          924  +
          925  +<ul class="unstyled extra-space">
          926  +<li>Implement the node behavior</li>
          927  +<li>Implement additional models as needed</li>
          928  +<li>Configure the project using the configuration file</li>
          929  +</ul>
          930  +
          931  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          932  +<h2>Node Basics</h2>
          933  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          934  +
          935  + Each simulated node is an instance of a subclass of <span class="code">sinalgo.nodes.Node</span>. Each node has its proper
          936  + instances of the Mobility, Connectivity, Interference, and
          937  + Reliability model. These four model instances are created when the
          938  + node is created.  The Message Transmission Model is globally unique,
          939  + and the distribution model is only used to initially place the nodes
          940  + and is created for each set of generated nodes.
          941  +
          942  + <p>As in reality, the nodes implement their own behavior. Among
          943  + others, they have a method that is called when the node receives a
          944  + message, and they implement the functionality to send messages to
          945  + neighboring nodes. Depending on the simulation mode, the node's
          946  + methods are called in a slightly different way. The following shows a
          947  + high-level picture of the calling-sequences of the synchronous and
          948  + asynchronous mode, which are described in more detail in the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Architecture.html#Sync vs Async" class="nav_link">Architecture</a> section of this tutorial.
          949  +
          950  +</p><div class="subsubBody">
          951  +<h3>Calling Sequence in Synchronous Simulation<a name="Sync Call Sequence"></a></h3>
          952  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
          953  +
          954  + In the synchronous simulation mode, the framework performs the
          955  + following actions for each <b>round</b>. Bold text indicates methods that
          956  + you may overwrite or implement to define the behavior of the network
          957  + nodes and the simulation. Note that the execution is strictly sequential, 
          958  + i.e. a single thread executes the following actions. As a result, no 
          959  + synchronization is needed to access global information.
          960  +
          961  +<ol class="unstyled extra-space">
          962  +<li>The framework increments the global time by 1.</li>
          963  +<li><span class="code"><b>CustomGlobal.preRound();</b></span> <i class="smallBodyText">(Optional, project specific code. This method is called at the beginning of every round.)</i></li>
          964  +
          965  +<li>The framework handles <b>global timers</b> that fire in this round.</li>
          966  +
          967  +<li>The framework moves the nodes according to their <b>mobility models</b>, if mobility is enabled.</li>
          968  +
          969  +<li>The framework calls each node to update its set of outgoing connections according to its <b>connectivity models</b>.</li>
          970  +
          971  +<li>The framework calls <b>interference</b> tests for all messages being sent, if interference is enabled.</li>
          972  +
          973  +<li>The framework iterates over all nodes and calls <span class="code">Node.<b>step()</b></span> on each node. <i class="smallBodyText"> The method 'step' performs the following
          974  +actions for each node:</i><br>
          975  +
          976  +<ol class="unstyled extra-space">
          977  +<li>The node gathers all  messages that arrive in this round.</li>
          978  +<li><span class="code"><b>Node.preStep();</b></span> <i class="smallBodyText">(Optional, project specific code. This method is called at the beginning of very step.)</i></li>
          979  +<li>If this node's set of outgoing connections has changed in this round, the node calls <span class="code"><b>Node.neighborhoodChange();</b></span></li>
          980  +<li>The node handles <b>timers</b> that fire in this round.</li>
          981  +<li><span class="code"><b>Node.handleNAckMessages();</b></span> <i class="smallBodyText">(Handle dropped messages, if</i> <span class="code">generateNAckMessages</span><i class="smallBodyText"> is enabled.)</i></li>
          982  +<li><span class="code"><b>Node.handleMessages();</b></span> <i class="smallBodyText">(Handle the arriving messages.)</i></li>
          983  +<li><span class="code"><b>Node.postStep();</b></span> <i class="smallBodyText">(Optional, project specific code. This method is called at the end of each step.)</i></li>
          984  +</ol>
          985  +
          986  +</li>
          987  +
          988  +<li><span class="code"><b>CustomGlobal.postRound();</b></span> <i class="smallBodyText">(Optional, project specific code. This method is called at the end of every round.)</i></li>
          989  +
          990  +<li>If <span class="code"><b>CustomGlobal.hasTerminated();</b></span> returns true, the simulation exits.</li>
          991  +</ol>
          992  +
          993  +</div>
          994  +
          995  +<div class="subsubBody">
          996  +<h3>Events in Asynchronous Simulation<a name="Async Call Sequence"></a></h3>
          997  +<!-- - - - - - - - - - - - - - - -->
          998  +
          999  + In asynchronous simulation mode, there are only two events upon which
         1000  + nodes react: Arriving messages and timer events. Thus, only the
         1001  + methods <span class="code">Node.<b>handleMessages()</b></span>,
         1002  + (<span class="code">Node.<b>handleNAckMessages()</b></span>), and
         1003  + <span class="code">Timer.<b>fire()</b></span> are called. Before
         1004  + performing a scheduled event, the global time of the system is set to
         1005  + the time when the event happens.
         1006  +
         1007  + <p>Remember that mobility is not possible in the asynchronous
         1008  + mode. However, the messages may be checked for interference if
         1009  + interference is turned on in the configuration file.
         1010  +</p></div>
         1011  +
         1012  +
         1013  +<h2>Node Behavior<a name="Node Behavior"></a></h2>
         1014  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1015  +
         1016  + To implement the node behavior (this includes your algorithm), create
         1017  + a class which inherits from <span class="code">sinalgo.nodes.Node</span>
         1018  + and place the source file in the <span class="code">node/nodeImplementation/</span> folder of your
         1019  + project. Implement the method <span class="code"><b>Node.handleMessages();</b></span> and optionally any
         1020  + of the other abstract methods from the <span class="code">sinalgo.nodes.Node</span> class.
         1021  +
         1022  + <p>The following list gives the most useful members of the <span class="code">sinalgo.nodes.Node</span> class you may use. For a complete
         1023  + description of their functionality, refer to the documentation in the
         1024  + code.
         1025  +
         1026  +</p><p>
         1027  +<table border="1" cellpadding="5" cellspacing="0">
         1028  +<tbody><tr><td colspan="2"><b>Public Member Variables</b></td></tr>
         1029  +
         1030  +<tr><td valign="top" class="code">
         1031  +int ID
         1032  +</td><td>
         1033  +Each node is assigned a unique ID when it is created. This ID may be used to distinguish the nodes.
         1034  +</td></tr>
         1035  +
         1036  +<tr><td valign="top" class="code">
         1037  +Connections outgoingConnections;
         1038  +</td><td>
         1039  +A collection of all edges outgoing from this node. Note that all edges are directed, the bidirectional edges just ensure that there is an edge in both directions.
         1040  +</td></tr>
         1041  +
         1042  +<tr><td colspan="2"><b>Methods</b></td></tr>
         1043  +
         1044  +<tr><td valign="top" class="code">
         1045  +void send(Message m, int target) throws NoConnectionException;
         1046  +</td><td>
         1047  +Sends a message to a neighbor node with the default intensity of the node.
         1048  +</td></tr>
         1049  +
         1050  +<tr><td valign="top" class="code">
         1051  +void send(Message m, int target, double intensity) throws NoConnectionException;
         1052  +</td><td>
         1053  +Sends a message to a neighbor node with the given intensity.
         1054  +</td></tr>
         1055  +
         1056  +<tr><td valign="top" class="code">
         1057  +void send(Message m, Node target) throws NoConnectionException;
         1058  +</td><td>
         1059  +Sends a message to a neighbor node with the default intensity of the node.
         1060  +</td></tr>
         1061  +
         1062  +<tr><td valign="top" class="code">
         1063  +void send(Message m, Node target, double intensity) throws NoConnectionException;
         1064  +</td><td>
         1065  +Sends a message to a neighbor node with the given intensity.
         1066  +</td></tr>
         1067  +
         1068  +<tr><td valign="top" class="code">
         1069  +void sendDirect(Message msg, Node target);
         1070  +</td><td>
         1071  +Sends a message to any node in the network, independent of whether there is a connection between the two nodes or not.
         1072  +</td></tr>
         1073  +
         1074  +<tr><td valign="top" class="code">
         1075  +void broadcast(Message m);
         1076  +</td><td>
         1077  +Broadcasts a message to all neighboring nodes with the default intensity of the node.
         1078  +</td></tr>
         1079  +
         1080  +<tr><td valign="top" class="code">
         1081  +void broadcast(Message m, double intensity);
         1082  +</td><td>
         1083  +Broadcasts a message to all neighboring nodes with the given intensity.
         1084  +</td></tr>
         1085  +
         1086  +<tr><td valign="top" class="code">
         1087  +Position getPosition();
         1088  +</td><td>
         1089  +Returns the current position of the node.
         1090  +</td></tr>
         1091  +
         1092  +<tr><td valign="top" class="code">
         1093  +TimerCollection getTimers();
         1094  +</td><td>
         1095  +Returns a collection of all timers currently active at the node.
         1096  +</td></tr>
         1097  +
         1098  +<tr><td valign="top" class="code">
         1099  +void setRadioIntensity(double i);
         1100  +</td><td>
         1101  +Sets the radio intensity of the node.
         1102  +</td></tr>
         1103  +
         1104  +<tr><td valign="top" class="code">
         1105  +double getRadioIntensity();
         1106  +</td><td>
         1107  +Gets the radio intensity of the node.
         1108  +</td></tr>
         1109  +
         1110  +<tr><td valign="top" class="code">
         1111  +void setColor(Color c); 
         1112  +</td><td>
         1113  +Sets the color in which the node is painted on the GUI.
         1114  +</td></tr>
         1115  +
         1116  +<tr><td valign="top" class="code">
         1117  +Color getColor();
         1118  +</td><td>
         1119  +Gets the color in which the node is painted on the GUI.
         1120  +</td></tr>
         1121  +
         1122  +<tr><td valign="top" class="code">
         1123  +void draw(...);
         1124  +</td><td>
         1125  +Implements how the node is drawn on the GUI. You may overwrite this method in your subclass 
         1126  +of <span class="code">sinalgo.node.Node</span> to define a customized drawing.
         1127  +</td></tr>
         1128  +
         1129  +<tr><td valign="top" class="code">
         1130  +void drawAsDisk(..., int sizeInPixels);
         1131  +</td><td>
         1132  +A helper method provided by <span class="code">sinalgo.node.Node</span> that draws the node
         1133  +as a disk. Call this method in your <span class="code">draw(...)</span> method.
         1134  +</td></tr>
         1135  +
         1136  +<tr><td valign="top" class="code">
         1137  +void drawNodeWithText(..., String text, int fontSize, Color textColor);
         1138  +</td><td>
         1139  +A helper method provided by <span class="code">sinalgo.node.Node</span> that draws the node
         1140  +as a disk and with text. Call this method in your <span class="code">draw(...)</span> method.
         1141  +</td></tr>
         1142  +
         1143  +<tr><td valign="top" class="code">
         1144  +void drawToPostScript(...);
         1145  +</td><td>
         1146  +Implements how the node is exported to PostScript. You may overwrite this method in your subclass 
         1147  +of <span class="code">sinalgo.node.Node</span> to define a customized drawing to PostScript.
         1148  +</td></tr>
         1149  +
         1150  +</tbody></table>
         1151  +<span class="caption">Methods of the superclass <span class="code">sinalgo.nodes.Node</span> you may use to implement the node behavior.</span>
         1152  +
         1153  +
         1154  + </p><p>To control the creation of a node object, the super-class provides
         1155  + the two methods <span class="code">init()</span> and <span class="code">checkRequirements()</span> which you may overwrite in
         1156  + your subclass:
         1157  +
         1158  + <br><span class="code">Node.<b>init()</b></span> is called once at the
         1159  + beginning of the lifecycle of a node object. It may be used to
         1160  + initialize the start state of the node. Note that this function may
         1161  + not depend on the neighborhood of the node as the init function is
         1162  + called before the connections are set up and before the set of all
         1163  + nodes is available.
         1164  +
         1165  + <br><span class="code">Node.<b>checkRequirements()</b></span> is called
         1166  + after the init() method to check whether all requirements to use this
         1167  + node type are met. This may include a test whether appropriate models
         1168  + have been selected.
         1169  +
         1170  +
         1171  +</p><h2>Project Specific Popup Methods<a name="Popup Menu"></a></h2>
         1172  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1173  +
         1174  + To facilitate interaction in the GUI mode, you may register methods
         1175  + of your <span class="code">Node</span> subclass to a popup menu that
         1176  + shows up when the user right-clicks on a node.
         1177  +
         1178  +<table border="0" width="100%"><tbody><tr><td>
         1179  +
         1180  + The annotation <span class="code">@NodePopupMethod(menuText="XXX")</span> in the following
         1181  + code sample declares the method <span class="code">myPopupMenu()</span> to be included in the popup menu
         1182  + with the menu text <span class="code">XXX</span>. Note that the
         1183  + methods to register with the popup menu may not take any parameters
         1184  + and need to be located in the source-file of the specific <span class="code">Node</span> subclass.
         1185  +
         1186  +<p></p><div class="code codeTab">
         1187  +@NodePopupMethod(menuText="Multicast 2")<br>
         1188  +<b>public</b> <b>void</b> myPopupMethod() {<br>
         1189  +<div class="codeTab">IntMessage msg = <b>new</b> IntMessage(2);<br>
         1190  +MessageTimer timer = <b>new</b> MessageTimer(msg);<br>
         1191  +timer.startRelative(1, <b>this</b>);</div>
         1192  +}
         1193  +</div>
         1194  +</td><td align="center"><img src="./index_files/popup.png" alt="Image of popup menu">
         1195  +<br><span class="caption">Customized node popup menu</span>
         1196  +</td></tr></tbody></table>
         1197  +
         1198  + <p>The sample code generates a message carrying an int-value, and
         1199  + broadcasts it to all its neighbors. Note that the method does not
         1200  + broadcast the message directly, but creates a timer, which will be
         1201  + triggered in the next round when the node performs its step. This is
         1202  + necessary for the synchronous simulation mode, because nodes are only
         1203  + allowed to send messages while they are executing their <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Sync Call Sequence">step</a>. However,
         1204  + the user can only interact with the GUI while the simulation is not
         1205  + running. Therefore, the methods called through the popup menu always
         1206  + execute when the simulation is stopped. The preferred solution is to
         1207  + create a timer which fires in the next round and performs the desired
         1208  + action.
         1209  +
         1210  + </p><p><b>Note:</b> The <span class="code">MessageTimer</span> is
         1211  + available in the <span class="code">defaultProject</span>. This timer
         1212  + may send a unicast message to a given node, or multicast a message to
         1213  + all immediate neighbors. Please consult the documentation of the
         1214  + source code for more details. 
         1215  + 
         1216  + </p><p>In some cases, it may be desirable to determine only at runtime the set of
         1217  + methods to be included in the menu, and on their menu text. This is possible
         1218  + because the popup menu for the node is assembled every time the user right-clicks
         1219  + on a node. The framework includes all methods annotated with the <span class="code">NodePopupMenu</span>
         1220  + annotation of the corresponding node class. But before including such a method 
         1221  + in the list, the framework calls the node-method 
         1222  + <span class="code">includeMethodInPopupMenu(Method m, String defaultText)</span>, 
         1223  + which allows to decide at runtime whether the menu should be included or not, and, 
         1224  + change the menu text if necessary. 
         1225  +
         1226  + </p><p>To obtain control over the included menu entries, overwrite the 
         1227  + <span class="code">includeMethodInPopupMenu(Method m, String defaultText)</span> 
         1228  + method in your node subclass. Return <span class="code">null</span> if the method
         1229  + should not be included, otherwise the menu text to be displayed. 
         1230  +
         1231  +</p><h2>Messages<a name="Messages"></a></h2>
         1232  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1233  +
         1234  + Nodes communicate by the means of messages. To implement your own
         1235  + message class, derive from <span class="code">sinalgo.nodes.messages.Message</span> and place your source
         1236  + file in the <span class="code">nodes/messages/</span> folder of your
         1237  + project. 
         1238  +
         1239  + <p>The abstract class <span class="code">Message</span> requires you
         1240  + to implement a single method that returns a clone of the message,
         1241  + i.e. an exact <i>copy</i> of the message object:<br> <span class="code codeTab"><b>public</b> Message clone()</span>
         1242  +
         1243  + </p><p class="note"><b>Implementation Note:</b> When a node sends a
         1244  + message to a neighbor node, it is assumed that the destination
         1245  + receives the message-content that was sent through the <span class="code">send()</span> method. The framework has however no means
         1246  + to test whether the sender still has a reference to the sent
         1247  + message-object, and therefore may be able to alter its content. To
         1248  + avoid such problems, the framework sends separate copies to all
         1249  + receivers of a send() or multicast() call. Thus, for a multicast to
         1250  + <i>n</i> neighbors, the framework obtains <i>n</i> copies of the
         1251  + message and sends a copy to each of the neighbors.
         1252  + </p>
         1253  +
         1254  + <p>If <b>and only if</b> your project ensures that a message-object
         1255  + is not altered after it was sent, you may omit the copying process by
         1256  + providing the following implementation of the <span class="code">clone()</span> method. (Note that the process of sending
         1257  + or receiving a message does not alter the message-object. Thus, a
         1258  + node may safely forward the same message-object it has received.)<br>
         1259  +
         1260  +</p><div class="code codeTab">
         1261  +<b>public</b> Message clone() {<br>
         1262  +<div class="codeTab"><b>return this</b>;<i>// This message requires a read-only policy</i></div>
         1263  +}
         1264  +</div>
         1265  +
         1266  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1267  +<h2>Inbox / handleMessages()<a name="Inbox"></a></h2>
         1268  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1269  +
         1270  + Each node stores the messages it receives in an instance of the <span class="code">Inbox</span> class.  The inbox provides an iterator-like
         1271  + view over the set of messages that are received in the current round
         1272  + in synchronous simulation mode. In asynchronous simulation mode, the
         1273  + inbox contains only the single message that triggered the event.  The
         1274  + method <span class="code">handleMessages(Inbox inbox)</span> provides
         1275  + this inbox as single parameter.
         1276  +
         1277  + <p>For each received message, this iterator stores meta-information,
         1278  + such as the sender of the message. This meta-information is available
         1279  + for the packet that was last returned through the <span class="code">next()</span>
         1280  + method.
         1281  +
         1282  + </p><p>In order to iterate several times over the set of packets, you may
         1283  + reset the inbox by calling <span class="code">reset()</span>, <span class="code">size()</span> returns the number of messages in the
         1284  + inbox. Call <span class="code">remove()</span> to remove the message
         1285  + from the inbox that was returned by the last call to <span class="code">next()</span>.
         1286  +
         1287  + </p><p>Typically, a node iterates over all messages in the inbox with the
         1288  + following code:
         1289  +
         1290  +</p><p></p><div class="code codeTab">
         1291  +<b>while</b>(inbox.hasNext()) {<br>
         1292  +<div class="codeTab">Message msg = inbox.next();<br>
         1293  +<b>if</b>(msg <b>instanceof </b>...) {<br>
         1294  +<div class="codeTab"><i>\\ handle this type of message</i></div>
         1295  +}</div>
         1296  +}</div>
         1297  +
         1298  +
         1299  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1300  +<h2>NackBox / handleNAckMessages()<a name="NackBox"></a></h2>
         1301  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1302  +
         1303  + Messages may be dropped, due to changes to the connectivity graph,
         1304  + interference, or the message transmission model. The framework
         1305  + provides a means to inform the sender node whenever a <i>unicast</i>
         1306  + message sent by the node does not reach the destination. This is an
         1307  + optional feature that needs to be enabled through the project
         1308  + configuration: set the entry <span class="code">generateNAckMessages</span> to true. If your project
         1309  + does not drop messages at all, or if your nodes are not interested in
         1310  + this information, you should disable this feature to speed up the
         1311  + simulation.
         1312  +
         1313  + <p>In asynchronous simulation mode, messages are kept in
         1314  + message-events, which are scheduled to execute when the message is
         1315  + supposed to arrive. At the time of execution, the framework decides
         1316  + whether the message arrives. If the message arrives, the method <span class="code">handleMessages()</span> is called on the receiver
         1317  + node. If the message does not arrive, the method <span class="code">handleNAckMessages()</span> is called on the sender
         1318  + node. 
         1319  +
         1320  + </p><p>In synchronous simulation mode, a sender node can handle the set
         1321  + of messages that were scheduled to arrive in the previous round, but
         1322  + were dropped. The method <span class="code">handleNAckMessages()</span> is called prior to handling
         1323  + the messages that arrive on the node, and passes on the set of
         1324  + dropped messages. 
         1325  +
         1326  + </p><p>The use of the <span class="code">NackBox</span> object, which
         1327  + holds the set of dropped messages, is equivalent to the <span class="code">Inbox</span>. 
         1328  +
         1329  +  
         1330  + </p><p>A typical implementation of the <span class="code">handleNAckMessages()</span>, which needs to be added to
         1331  + your node implementation if you want to use this feature, looks as 
         1332  + following:
         1333  +
         1334  +</p><p></p><div class="code codeTab">
         1335  +		<b>public void</b> handleNAckMessages(NackBox nackBox) {
         1336  +		<div class="codeTab"><b>while</b>(nackBox.hasNext()) {<br>
         1337  +		  <div class="codeTab">Message msg = nackBox.next();<br>
         1338  +			<b>if</b>(msg <b>instanceof </b>...) {<br>
         1339  +			<div class="codeTab"><i>\\ handle this type of message</i></div>
         1340  +			}</div>
         1341  +		  }</div>
         1342  +		}</div>
         1343  +
         1344  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1345  +<h2>Edges<a name="Edges"></a></h2>
         1346  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1347  +
         1348  + Nodes are connected by edges. Most projects may be happy with the
         1349  + default edge implementation (which is unidirectional!) or one of the
         1350  + implementations provided in the <span class="code">defaultProject</span>. If you need a more specialized
         1351  + edge, create a subclass from <span class="code">sinalgo.nodes.edges.Edge</span> and put the source file in
         1352  + the <span class="code">nodes/edges/</span> folder of your project.
         1353  +
         1354  + <p><b>Note:</b> The framework only supports one edge type at any
         1355  + time. The type to use can be specified in the configuration file, and
         1356  + it may be switched at runtime through the <span class="code">Preferences</span> menu. Changing the edge type at
         1357  + runtime only affects edges created after the change. It does not
         1358  + replace the already existing edges.
         1359  +
         1360  + </p><p>The following edges are already available:
         1361  +
         1362  +<table border="1" cellpadding="5" cellspacing="0">
         1363  +<tbody><tr><td valign="top"><span class="code">
         1364  +sinalgo.nodes.edges.Edge
         1365  +</span></td><td>
         1366  +
         1367  + The default edge implementation, superclass of all edges.  This edge
         1368  + is directional. As a result, Sinalgo does not really support
         1369  + bidirectional edges in the sense that there is a single object for a
         1370  + bidirectional edge. The bidirectional edge implementation solves this problem
         1371  + by adding an edge in both directions. 
         1372  + <br>By default, this edge draws itself as a black line between the
         1373  + two end-nodes, and colors itself red when a message is sent over the
         1374  + edge.
         1375  +</td></tr>
         1376  +
         1377  +<tr><td valign="top"><span class="code">
         1378  +sinalgo.nodes.edges.BidirectionalEdge
         1379  +</span></td><td>
         1380  + The default bidirectional edge implementation. It ensures that there is an edge
         1381  + in both directions between the two end nodes. 
         1382  + <br>By default, this edge draws itself as a black line between the
         1383  + two end-nodes, and colors itself red when a message is sent over the
         1384  + edge.
         1385  +</td></tr>
         1386  +
         1387  +<tr><td valign="top"><span class="code">
         1388  +projects.defaultProject.nodes<br>.edges.BooleanEdge
         1389  +</span></td><td>
         1390  +
         1391  + The BooleanEdge extends the default edge implementation with a
         1392  + boolean member <span class="code">flag</span> that may be used
         1393  + arbitrarily. It also carries a static member <span class="code">onlyUseFlagedEdges</span>, which may be used to enable
         1394  + or disable globally the use of the flag.  
         1395  +
         1396  + <br>The provided implementation uses <span class="code">onlyUseFlagedEdges</span> and <span class="code">flag</span> to decide whether the edge is drawn or not:
         1397  + If <span class="code">onlyUseFlagedEdges</span> is <span class="code">true</span>, the edge only draws itself if <span class="code">flag</span> is set to <span class="code">true</span>.
         1398  +</td></tr>
         1399  +
         1400  +<tr><td valign="top"><span class="code">
         1401  +projects.defaultProject.nodes<br>.edges.BidirectionalBooleanEdge
         1402  +</span></td><td>
         1403  + A bidirectional edge with the features of the boolean edge. 
         1404  +</td></tr>
         1405  + 
         1406  +<tr><td valign="top"><span class="code">
         1407  +projects.defaultProject.nodes<br>.edges.GreenEdge
         1408  +</span></td><td>
         1409  + The same as the default edge implementation, but it draws itself as a
         1410  + green line between the two end-nodes.
         1411  +</td></tr>
         1412  +</tbody></table>
         1413  +<span class="caption">Edge implementations which are available by default.</span>
         1414  +
         1415  + To manually insert a connection from node <span class="code">u</span> 
         1416  + to node <span class="code">v</span>, you may use 
         1417  + the method <span class="code">u.addConnectionTo(v)</span>. Project sample6 
         1418  + demonstrates how a static network may be built. 
         1419  +
         1420  +</p><h2>Timers<a name="Timers"></a></h2>
         1421  +<!-- - - - - - - - - - - - - - - -->
         1422  +
         1423  + A timer is an object that allows a node to schedule a task in the
         1424  + future. When the task is due, the timer wakes up the node and
         1425  + performs the given task. Any timer object is a subclass of <span class="code">sinalgo.nodes.timers.Timer</span> and implements the method
         1426  + <span class="code"><b>void</b> fire()</span>, which contains the task
         1427  + this timer needs to perform.
         1428  +
         1429  + <p>To write a project specific timer, implement a subclass of <span class="code">sinalgo.nodes.timers.Timer</span> and put the source file
         1430  + in the <span class="code">nodes/timers/</span> folder of your
         1431  + project. A timer instance is started by calling either the <span class="code">startAbsolute(double absoluteTime, Node n)</span> method
         1432  + or the <span class="code">startRelative(double relativeTime, Node
         1433  + n)</span> method of the super class. The time specifies when the task
         1434  + should be scheduled, and the node specifies the node on which the
         1435  + task should be executed.
         1436  +
         1437  + </p><p><b>Hint:</b> The default project provides a <span class="code">MessageTimer</span> that schedules to send a message at
         1438  + a given time. The message may be unicast to a specified recipient, or
         1439  + multicast to all immediate neighbors.
         1440  +
         1441  +</p><div class="subsubBody">
         1442  +<h3>Global Timers</h3>
         1443  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1444  + 
         1445  + A timer object can also be used to perform a task for the simulation 
         1446  + framework at a given time. Such a global task is not executing
         1447  + on a particular node, and is suited to perform simulation specific 
         1448  + tasks (e.g. add/drop some nodes, select a random node to perform 
         1449  + an action, change the network, ...) In synchronous simulation mode,
         1450  + the global timers are handled after the 
         1451  + <span class="code">CustomGlobal.preRound()</span> method. In 
         1452  + asynchronous simulation mode, a global timer becomes an event that
         1453  + executes when the simulation time reached the execution time of the
         1454  + timer. 
         1455  + 
         1456  + <p>To create a global timer, implement a subclass of <span class="code">sinalgo.nodes.timers.Timer</span> just as for the
         1457  + regular node timers. But in contrast to the node related timers, start
         1458  + the timer with its method <span class="code">startGlobalTimer(double relativeTime)</span>. 
         1459  +
         1460  + </p><p><b>Hint:</b> You may use the same timer implementation as a node-related timer and
         1461  + as a global timer. Just make sure that the <span class="code">fire()</span>
         1462  + method of the timer class does not access the <span class="code">node</span> member
         1463  + when the timer was started as a global timer. This member is set only when the 
         1464  + timer is started as a node-related timer.
         1465  +</p></div>
         1466  +
         1467  +<h2>Customized, Globally Visible Methods: CustomGlobal.java<a name="CustomGlobal"></a></h2>
         1468  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1469  +
         1470  + Each project comes with a <span class="code">CustomGlobal</span>
         1471  + class, which collects global methods specific to the project. This
         1472  + class extends <span class="code">sinalgo.runtime.AbstractCustomGlobal</span> and is located
         1473  + in the root folder of your project.
         1474  +
         1475  + The following table gives an overview of the methods you may
         1476  + overwrite in your project specific <span class="code">CustomGlobal.java</span>. (These methods are defined in
         1477  + the abstract superclass <span class="code">AbstractCustomGlobal.java</span> with an empty body.)
         1478  +
         1479  +<p><table border="1" cellpadding="5" cellspacing="0">
         1480  +<tbody><tr><td valign="top"><span class="code">
         1481  +customPaint(...)
         1482  +</span></td><td>
         1483  +This paint method is called after the network graph has been drawn. It allows for customizing the drawing of the graph by painting additional information onto the graphics.
         1484  +</td></tr>
         1485  +
         1486  +<tr><td valign="top"><span class="code">
         1487  +handleEmptyEventQueue()
         1488  +</span></td><td>
         1489  + The framework calls this method when running in asynchronous mode and
         1490  + there is no event left in the queue. You may generate new events in
         1491  + this method to keep the simulation going.
         1492  +
         1493  + <p>Note that the batch mode terminates when the event queue is
         1494  + emptied and this method does not insert any new events.
         1495  +</p></td></tr>
         1496  +
         1497  +<tr><td valign="top"><span class="code">
         1498  +preRun()
         1499  +</span></td><td>
         1500  + Called <i>once</i> prior to starting the first round in
         1501  + synchronous mode, or prior to executing the first event in
         1502  + asynchronous mode. Use this method to initialize the simulation.
         1503  +</td></tr>
         1504  +
         1505  +<tr><td valign="top"><span class="code">
         1506  +onExit()
         1507  +</span></td><td>
         1508  + Called by the framework before shutting down. To ensure that this
         1509  + method is called in all cases, you should use <span class="code">sinalgo.tools.Tools.exit()</span> to exit, instead of
         1510  + <span class="code">System.exit()</span>.
         1511  +</td></tr>
         1512  +
         1513  +<tr><td valign="top"><span class="code">
         1514  +preRound()
         1515  +</span></td><td>
         1516  +Called in synchronous mode prior to every round. This method may be
         1517  +suited to perform statistics and write log-files.
         1518  +</td></tr>
         1519  +
         1520  +<tr><td valign="top"><span class="code">
         1521  +postRound()
         1522  +</span></td><td>
         1523  +Called in synchronous mode after every round. This method may be
         1524  +suited to perform statistics and write log-files.
         1525  +</td></tr>
         1526  +
         1527  +<tr><td valign="top"><span class="code">
         1528  +checkProjectRequirements()
         1529  +</span></td><td>
         1530  + The framework calls this method at startup after having selected a
         1531  + project to check whether the necessary requirements for this project
         1532  + are given. For algorithms that only work correctly in synchronous
         1533  + mode this method check that the user didn't try to execute it in
         1534  + asynchronous mode. If the requirements are not met, you may call
         1535  + <span class="code">sinalgo.tools.Tools.fatalError(String msg)</span>
         1536  + to terminate the application with a fatal error.
         1537  +</td></tr>
         1538  +
         1539  +<tr><td valign="top"><span class="code">
         1540  +nodeAddedEvent(Node n)
         1541  +</span></td><td>
         1542  + Called by the framework whenever a node is added to the 
         1543  + framework (which is done through the method <span class="code">Runtime.addNode(Node n)</span>).
         1544  + This event may be useful for applications that need to update
         1545  + some graph properties whenever a new node is added (e.g. by the user
         1546  + through the GUI).
         1547  + <p>Note that this method is also called individually for each node created through 
         1548  + the <span class="code">-gen</span> command-line tool, and when the user
         1549  + creates nodes using the GUI menu.
         1550  +</p></td></tr>
         1551  +
         1552  +<tr><td valign="top"><span class="code">
         1553  +nodeRemovedEvent(Node n)
         1554  +</span></td><td>
         1555  + Called by the framework whenever a node is removed from the 
         1556  + framework (which is done through the method <span class="code">Runtime.removeNode(Node n)</span>).
         1557  + This event may be useful for applications that need to update
         1558  + some graph properties whenever a node is removed (e.g. by the user
         1559  + through the GUI).
         1560  + <p>Note that this method is <i>not</i> called when the user removes
         1561  + all nodes using the <span class="code">Runtime.clearAllNodes()</span> method. 
         1562  +</p></td></tr>
         1563  +
         1564  +
         1565  +
         1566  +</tbody></table>
         1567  +<span class="caption">Methods you may overwrite in the project owned <span class="code">CustomGlobal</span> class.</span>
         1568  +
         1569  +
         1570  +</p><div class="subsubBody">
         1571  +<h3>Stopping the Simulation</h3>
         1572  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1573  +
         1574  + Most importantly for the batch mode, the <span class="code"><b>hasTerminated()</b></span> method in the <span class="code">CustomGlobal</span> class lets you specify whether a
         1575  + <i>synchronous</i> simulation has reached the final state and the
         1576  + framework may exit. See the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Sync Call Sequence">calling
         1577  + sequence</a> of the synchronous mode for details on when <span class="code">hasTerminated()</span> is called.
         1578  +
         1579  + In asynchronous simulation, the simulation terminates when all events
         1580  + have been handled. To stop execution prior to handling all events, or
         1581  + at an arbitrary place in synchronous mode, call <span class="code"><b>sinalgo.tools.Tools.exit()</b></span>. This method
         1582  + executes some cleanup and is preferred to calling <span class="code">System.exit()</span>. In particular, <span class="code">sinalgo.tools.Tools.exit()</span> calls <span class="code">AbstractCustomGlobal.<b>onExit()</b></span>, which you
         1583  + may overwrite in your project specific <span class="">CustomGlobal.java</span> file.
         1584  +
         1585  + <p><b>Hint:</b> The <span class="code">onExit()</span> method may be
         1586  + a good place to perform final logging steps and project specific
         1587  + cleanup.
         1588  +</p></div>
         1589  +
         1590  +
         1591  +<div class="subsubBody">
         1592  +<h3>Project Specific Drop Down Methods and Buttons</h3>
         1593  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1594  +  
         1595  + You may extend the GUI with project specific drop down menus and
         1596  + buttons: Add a dummy-method that takes no parameters to your <span class="code">CustomGlobal</span> and implement the desired behavior
         1597  + in its body. There are three different ways to register the method
         1598  + with the GUI: 
         1599  +
         1600  + <p><b>1) Drop Down Menu Entry:</b> Prefix the method with the annotation
         1601  + <span class="code">@AbstractCustomGlobal.GlobalMethod</span> and
         1602  + specify the <span class="code">menuText</span>. E.g.
         1603  +<br></p><div class="code codeTab">
         1604  +	@AbstractCustomGlobal.GlobalMethod( menuText="Toggle TC view")<br>
         1605  +	public void myMenuMethod() {<br>
         1606  +<div class="codeTab">// ...</div>
         1607  +	}
         1608  +</div>
         1609  +
         1610  + <p><b>2) Icon Button:</b> Prefix the method with the annotation <span class="code">@AbstractCustomGlobal.CustomButton</span> and specify
         1611  + the <span class="code">imageName</span> and <span class="code">toolTipText</span>. The <span class="code">imageName</span> should be the name of a <span class="code">gif</span> image of size 21x21 pixels, located in the 
         1612  + <span class="code">images</span> folder of the project. 
         1613  + E.g.
         1614  +<br></p><div class="code codeTab">
         1615  +	@CustomButton( imageName="myImage.gif", toolTipText="Click me!")<br>
         1616  +	public void myImageButtonMethod() {<br>
         1617  +<div class="codeTab">// ...</div>
         1618  +	}
         1619  +</div>
         1620  +
         1621  + <p><b>3) Text Button:</b> Prefix the method with the annotation <span class="code">@AbstractCustomGlobal.CustomButton</span> and specify
         1622  + the <span class="code">buttonText</span> and <span class="code">toolTipText</span>.  E.g.
         1623  +<br></p><div class="code codeTab">
         1624  +	@CustomButton( buttonText="Clear", toolTipText="Click me!")<br>
         1625  +	public void myTextButtonMethod() {<br>
         1626  +<div class="codeTab">// ...</div>
         1627  +	}
         1628  +</div>
         1629  +
         1630  +<p>
         1631  +<table border="0">
         1632  +<tbody><tr><td>
         1633  +<img src="./index_files/customMenu.png" alt="Image of Menu">
         1634  +<br><span class="caption">Project specific menu</span>
         1635  +</td><td>
         1636  +<img src="./index_files/customButtons.png" alt="Image of buttons">
         1637  +<br><span class="caption">Project specific buttons</span>
         1638  +</td></tr>
         1639  +</tbody></table>
         1640  +
         1641  + <br></p><p>The drop down menu entries (but not the buttons) may be adapted at
         1642  + runtime: Every time the user opens the 'Global' menu, 
         1643  + the menu is assembled and includes methods annotated
         1644  + with the <span class="code">GlobalMethod</span> annotation. Before including such a
         1645  + method in the list, the framework calls 
         1646  + <span class="code">AbstractCustomGlobal.includeGlobalMethodInMenu(Method m, String defaultText)</span>
         1647  + to allow the project to decide at runtime whether the method should be included or not, and,
         1648  + if necessary, change the default menu text.
         1649  + </p><p>Overwrite the method <span class="code">includeGlobalMethodInMenu(Method m, String defaultText)</span>
         1650  + in your project specific <span class="code">CustomGlobal.java</span> file to control the appearance
         1651  + of the 'Global' menu at runtime. The method returns the text to be displayed for each method, or 
         1652  + <span class="code">null</span> if the method should not be included.
         1653  +
         1654  +</p></div> <!-- End of subsubSection-->
         1655  +
         1656  +<hr class="blue"><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1657  +<h1>Model Implementation</h1>
         1658  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1659  +
         1660  + The models are a plug-in based system to describe the environment in
         1661  + which the network is simulated. E.g. the mobility model describes how
         1662  + the nodes move in the synchronous simulation mode. Each node object
         1663  + carries an instance of the following four models: Connectivity,
         1664  + Mobility, Interference, and Reliability. As a result, the nodes may
         1665  + carry different model implementation and may act differently. The
         1666  + message-transmission model describes how long the messages travel
         1667  + until arrival. This model applies globally, the framework only holds
         1668  + one instance. Finally, the distribution model describes how the nodes
         1669  + are placed in the deployment upon creation. 
         1670  +
         1671  +<h2>Connectivity Model<a name="Connectivity Model"></a></h2>
         1672  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1673  +
         1674  + The connectivity model decides to which neighbors a node has a
         1675  + connection and inserts/removes the edges. To write your own
         1676  + connectivity model, create a subclass of <span class="code">sinalgo.models.ConnectivityModel</span> and place the
         1677  + source-file in the <span class="code">models/connectivityModels/</span> folder of your
         1678  + project.  Instances of this model implement
         1679  +
         1680  + <br><span class="code codeTab"><b>boolean</b> updateConnections(Node n) <b>throws</b>
         1681  + WrongConfigurationException;</span>
         1682  +
         1683  + <br>which determines for a given node <span class="code">n</span> the
         1684  + set of neighbor nodes and returns whether the neighborhood has
         1685  + changed since the last call. This method needs to update the <span class="code">outgoingConnections</span> member of node <span class="code">n</span>, such that this collection contains an <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Edges" class="nav_link">edge</a>
         1686  + to every neighbor of <span class="code">n</span>. 
         1687  +
         1688  + <p>In synchronous simulation mode, each node updates its connections
         1689  + in every round. Refer to the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Sync Call Sequence">synchronous
         1690  + calling sequence</a> section of this tutorial for more details. For
         1691  + the asynchronous simulation, the framework does not support mobile
         1692  + nodes. As a result, the framework does not call the connectivity
         1693  + model at all, as it is often only necessary to setup the edges once
         1694  + after the nodes have been created. Thus, the project is responsible
         1695  + to call the following method at an appropriate time:<br> 
         1696  +
         1697  + <span class="code
         1698  + codeTab">sinalgo.tools.Tools.reevaluateConnections();</span>
         1699  +
         1700  + <br> This method calls the <span class="code">updateConnections(Node n)</span> method on all nodes.
         1701  +
         1702  + </p><p>To facilitate the implementation of a new connectivity model, you
         1703  + may create a subclass of <span class="code">sinalgo.models.<b>ConnectivityModelHelper</b></span>. This
         1704  + helper class implements the <span class="code">updateConnections(Node
         1705  + n)</span> method, and asks the subclass to implement the method
         1706  +
         1707  + <br><span class="code codeTab"><b>boolean</b> isConnected(Node from,
         1708  + Node to);</span>
         1709  + 
         1710  +<br> which is often easier to implement.
         1711  +
         1712  + </p><p>The <span class="code">ConnectivityModelHelper</span> assumes that
         1713  + the connectivity is geometric. I.e. there is a maximum distance
         1714  + between connected nodes, above which no node pair is connected. This
         1715  + assumption permits to drastically cut down the neighbor-nodes the
         1716  + helper class needs to test. <b>Note</b> that this maximum distance
         1717  + needs to be specified for each project. Refer to the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">configuration</a> and <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Architecture.html">architecture</a> section of this
         1718  + tutorial to learn more about how to configure a project and how the
         1719  + <i>geometric node collection</i> stores the nodes to perform range
         1720  + queries for neighbor nodes.
         1721  +
         1722  + </p><p>For your convenience, the <span class="code">defaultProject</span>
         1723  + already contains the following connectivity models. Note that these
         1724  + models are written as generic as possible. Therefore, you may need to
         1725  + add <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">configuration settings</a> to your
         1726  + project, depending on which model you select.
         1727  +
         1728  +</p><p><table border="1" cellpadding="5" cellspacing="0">
         1729  +<tbody><tr><td valign="top"><span class="code">
         1730  +UDG
         1731  +</span></td><td>
         1732  +
         1733  + The Unit Disk Graph connectivity is a purely geometric connectivity
         1734  + model: Two nodes are within communication range iff their mutual
         1735  + distance is below a given threshold. The maximal transmission radius,
         1736  + <span class="code">rMax</span> needs to be specified in the
         1737  + configuration file of the project with an entry of the form 
         1738  + <span class="code">&lt;UDG rMax="..."/&gt;</span>. 
         1739  +</td></tr>
         1740  +
         1741  +<tr><td valign="top"><span class="code">
         1742  +QUDG
         1743  +</span></td><td>
         1744  +
         1745  + The Quasi Unit Disk Graph is similar to the UDG model, but does not
         1746  + have a sharp upper bound on the transmission range. In the QUDG
         1747  + model, a pair of nodes is always connected if their mutual distance
         1748  + is below a certain value <span class="code">rMin</span>, and is never
         1749  + connected if their distance is above <span class="code">rMax</span>. If the distance is between <span class="code">rMin</span> and <span class="code">rMax</span>, the
         1750  + nodes are connected with a certain probability, which has to be
         1751  + specified in the project configuration. See the source documentation
         1752  + of the <span class="code">QUDG</span> class for more details.
         1753  +
         1754  +</td></tr>
         1755  +
         1756  +<tr><td valign="top"><span class="code">
         1757  +StaticUDG
         1758  +</span></td><td>
         1759  + The static UDG model is the same as the UDG model, but it it
         1760  + evaluates the connections only the very first time it is called. This
         1761  + may be beneficial for projects where nodes do not move, and the
         1762  + connectivity does not change over time.
         1763  +</td></tr>
         1764  +
         1765  +<tr><td valign="top"><span class="code">
         1766  +StaticConnectivity
         1767  +</span></td><td>
         1768  + The static connectivity model does not change the edges of a node at
         1769  + all. This model may be useful if the project has other means to
         1770  + generate and update the edges between neighboring nodes.
         1771  +</td></tr>
         1772  +</tbody></table>
         1773  +<span class="caption">Connectivity models provided by the <span class="code">defaultProject</span> project.</span>
         1774  +
         1775  +</p><h2>Interference Model<a name="Interference Model"></a></h2>
         1776  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1777  +
         1778  + Each node carries an interference model instance that decides for
         1779  + each message sent to this node, whether the message may not arrive
         1780  + due to interference caused by other packets or other environmental
         1781  + noise. To create your own interference model, implement a subclass of
         1782  + <span class="code">sinalgo.models.InterferenceModel</span> and place the
         1783  + file in the <span class="code">models/interferenceModels/</span>
         1784  + folder of your project. 
         1785  +
         1786  + <p>The model requires to implement the method <span class="code"><b>boolean isDisturbed(Packet p)</b></span>, which
         1787  + tests, whether a message arriving at this node may be disturbed by
         1788  + interference.
         1789  +
         1790  + </p><p class="note"><b>Implementation Notes:</b> The <span class="code">Packet</span> object passed to the <span class="code">isDisturbed(Packet p)</span> method holds the message,
         1791  + the sender and receiver node, the intensity at which the sender is
         1792  + sending this packet, and other information that may be useful. To
         1793  + obtain a collection of all messages being sent at this moment, call
         1794  + <span class="code">sinalgo.tools.Tools.getPacketsInTheAir()</span>.
         1795  + </p>
         1796  +
         1797  + <p>
         1798  +
         1799  + </p><p>In synchronous simulation mode, the framework performs the
         1800  + interference test in every round. Refer to the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Sync Call Sequence">synchronous
         1801  + calling sequence</a> section of this tutorial for more details. For
         1802  + asynchronous simulations, the interference test is performed whenever
         1803  + an additional message is being sent or a message arrived. 
         1804  +
         1805  + </p><p><b>Additive interference in asynchronous mode</b>: By default, the
         1806  + asynchronous mode performs an interference test on all messages that
         1807  + have not yet arrived whenever an additional message is sent, or a
         1808  + message arrives. This is a quite expensive operation, and is not
         1809  + necessary in most cases, where the interference is
         1810  + <b>additive</b>. We call interference <i>additive</i>, if <br><span class="codeTab">a) an additional message can only increase (or not
         1811  + alter) the interference at any other receiver node, and</span>
         1812  + <br><span class="codeTab">b) the interference decreases (or remains
         1813  + the same) if any of the messages is not considered.</span><br>
         1814  +
         1815  + If all used interference models are <i>additive</i>, the framework
         1816  + can reduce the calls to the interference test drastically. Additive
         1817  + interference can be enabled/disabled in the configuration file of the
         1818  + project.
         1819  +
         1820  + </p><p>For your convenience, the <span class="code">defaultProject</span>
         1821  + already contains the following interference models. Note that these
         1822  + models are written as generic as possible. Therefore, you may need to add
         1823  + <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">configuration
         1824  + settings</a> to your project, depending on which model you select.
         1825  +
         1826  +
         1827  +</p><p><table border="1" cellpadding="5" cellspacing="0">
         1828  +<tbody><tr><td valign="top"><span class="code">
         1829  + SINR
         1830  +</span></td><td>
         1831  +
         1832  + The signal to interference model is probably the best known
         1833  + interference model. It determines a quotient q = s / (i+n) between
         1834  + the received signal s and the sum of the ambient background noise n and
         1835  + the interference i caused by all concurrent transmissions. The
         1836  + transmission succeeds if q &gt; beta, where beta is a small constant.
         1837  + <br>
         1838  + This model assumes that the intensity of an electric signal decays
         1839  + exponentially with the distance from the sender. This decrease is
         1840  + parameterized by the path-loss exponent alpha: Intensity(r) =
         1841  + sendPower/r^alpha. The value of alpha is often chosen in the range
         1842  + between 2 and 6.
         1843  +  <br>
         1844  + To the interference caused by concurrent transmissions, we add an
         1845  + ambient noise level N.
         1846  +<br>
         1847  +This model requires the following entry in the configuration file: 
         1848  + <br>
         1849  + <span class="code">&lt;SINR alpha="..." beta="..." noise="..."/&gt;</span>
         1850  + <br>
         1851  + where alpha, beta, and noise are floating point values.
         1852  +</td></tr>
         1853  +
         1854  +<tr><td valign="top"><span class="code">
         1855  + NoInterference
         1856  +</span></td><td>
         1857  + A dummy interference model that does not drop any messages due to
         1858  + interference.  When using this model for all nodes, you should turn
         1859  + off the support for interference in the project configuration.
         1860  +</td></tr>
         1861  +
         1862  +</tbody></table>
         1863  +<span class="caption">Interference models provided by the <span class="code">defaultProject</span> project.</span>
         1864  +
         1865  +
         1866  +</p><h2>Mobility Model<a name="Mobility Model"></a></h2>
         1867  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1868  +
         1869  + The mobility model on each node object describes how the node moves
         1870  + in the synchronous simulation. (Asynchronous simulation does not
         1871  + support mobile nodes.) To create your own mobility model, implement a
         1872  + subclass of <span class="code">sinalgo.models.MobilityModel</span> and
         1873  + place the file in the <span class="code">models/mobilityModels/</span> folder of your project.
         1874  +
         1875  + <p>The model requires to implement the method <span class="code"><b>Position getNextPos(Node n)</b></span>, which returns
         1876  + the new position of node <span class="code">n</span>. 
         1877  +
         1878  + </p><p>In Sinalgo, mobility is simulated in terms of rounds. At the
         1879  + beginning of each round, the nodes are allowed to move to a new
         1880  + position, where they remain for the remainder of the
         1881  + round. (Refer to the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Sync Call Sequence">calling
         1882  + sequence</a> for more details.) 
         1883  +
         1884  + </p><p class="note"><b>Implementation Note:</b> The discretization of the
         1885  + movement may be refined in the following way: Assume a simulation,
         1886  + where nodes move 1 distance unit per round. At the same time, a
         1887  + message takes 1 round to arrive at its destination. To achieve a
         1888  + higher resolution of the movement, you may reduce the node speed to
         1889  + 0.1 distance units per round, and increase the message transmission
         1890  + time to 10. Along this line, you may achieve arbitrarily close
         1891  + approximations to a continuous system, paying with simulation
         1892  + time. </p>
         1893  +
         1894  + <p>For your convenience, the <span class="code">defaultProject</span>
         1895  + already contains the following mobility models. Note that these
         1896  + models are written as generic as possible. Therefore, you may need to add
         1897  + <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">configuration
         1898  + settings</a> to your project, depending on which model you select.
         1899  +
         1900  +</p><p><table border="1" cellpadding="5" cellspacing="0">
         1901  +
         1902  +<tbody><tr><td valign="top"><span class="code">
         1903  +RandomWayPoint
         1904  +</span></td><td>
         1905  +
         1906  + A node that moves according to the random way point mobility model
         1907  + moves on a straight line to a (uniformly and randomly selected)
         1908  + position in the deployment field. Once arrived, it waits for a
         1909  + predefined amount of time, before it selects a new position to walk
         1910  + to.
         1911  +
         1912  + <p>The node speed and waiting time have to be configured through the
         1913  + project configuration. Both of them are defined through <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Tools.html">distributions</a>. An
         1914  + entry in the configuration file may look as following:
         1915  +
         1916  +</p><div class="code codeTab">
         1917  +&lt;RandomWayPoint&gt;
         1918  +<div class="codeTab">
         1919  +	&lt;Speed distribution="Gaussian" mean="10" variance="20" /&gt;<br>
         1920  +	&lt;WaitingTime distribution="Poisson" lambda="10" /&gt;
         1921  +</div>
         1922  +&lt;/RandomWayPoint&gt;
         1923  +</div>
         1924  +
         1925  + <p class="note"><b>Note:</b> The stationary distribution of nodes
         1926  + moving according to the random way point model is <i>not</i>
         1927  + uniformly distributed. The nodes tend to be more often around the center
         1928  + of the deployment area than close to the boundary.</p>
         1929  +
         1930  +</td></tr>
         1931  +
         1932  +<tr><td valign="top"><span class="code">
         1933  +RandomDirection
         1934  +</span></td><td>
         1935  +
         1936  + Similarly to the random way point model, the random direction model
         1937  + alternates between waiting and moving periods. The only difference is
         1938  + the choice of the target: Instead of picking a random point from the
         1939  + deployment field, the random direction chooses a direction in which
         1940  + the node should walk, and how long the node should walk in this
         1941  + direction. If the node hits the boundary of the deployment area, it
         1942  + is reflected just as a billard ball. 
         1943  +
         1944  + <p>The node speed, move-time, and waiting time have to be configured
         1945  + through the project configuration and are defined through <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Tools.html">distributions</a>. An
         1946  + entry in the configuration file may look as following:
         1947  +
         1948  +</p><div class="code codeTab">
         1949  +&lt;RandomDirection&gt;
         1950  +<div class="codeTab">
         1951  +	&lt;NodeSpeed distribution="Constant" constant="0.4" /&gt;<br>
         1952  +	&lt;WaitingTime distribution="Exponential" lambda="10" /&gt;<br>
         1953  +	&lt;MoveTime distribution="Uniform" min="5" max="20" /&gt;
         1954  +</div>
         1955  +&lt;/RandomDirection&gt;
         1956  +</div>
         1957  +
         1958  + <p class="note"><b>Note:</b> The stationary distribution of nodes
         1959  + moving according to the random direction model is uniformly distributed.</p>
         1960  +
         1961  +</td></tr>
         1962  +
         1963  +<tr><td valign="top"><span class="code">
         1964  +NoMobility
         1965  +</span></td><td>
         1966  +
         1967  + A dummy mobility model that does not move the nodes.  When using
         1968  + this model for all nodes, you should turn off the support for
         1969  + mobility in the project configuration.
         1970  + 
         1971  +</td></tr>
         1972  +
         1973  +</tbody></table>
         1974  +<span class="caption">Mobility models provided by the <span class="code">defaultProject</span> project.</span>
         1975  +
         1976  +
         1977  +</p><h2>Reliability Model<a name="Reliability Model"></a></h2>
         1978  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         1979  + 
         1980  + The reliability model installed on each node decides for each
         1981  + message, whether it should arrive at the destination or not. This
         1982  + model may be interesting to simulate a lossy packet networks, where
         1983  + some messages do not arrive for various reasons. To create your own
         1984  + reliability model, implement a subclass of <span class="code">sinalgo.models.ReliabilityModel</span> and place the file
         1985  + in the <span class="code">models/reliabilityModels/</span> folder of
         1986  + your project.
         1987  +
         1988  + <p>The model requires to implement the method <span class="code"><b>boolean reachesDestination(Packet p)</b></span>,
         1989  + which determines whether the message arrives at the destination or
         1990  + not. Note that the interference model may overrule this decision and
         1991  + drop a message due to interference. However, the interference model
         1992  + cannot reincarnate an already dropped message. 
         1993  +
         1994  + </p><p>For your convenience, the <span class="code">defaultProject</span>
         1995  + already contains the following reliability models. Note that these
         1996  + models are written as generic as possible. Therefore, you may need to
         1997  + add <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">configuration settings</a> to your
         1998  + project, depending on which model you select.
         1999  +
         2000  +</p><p><table border="1" cellpadding="5" cellspacing="0">
         2001  +
         2002  +<tbody><tr><td valign="top"><span class="code">
         2003  + LossyDelivery
         2004  +</span></td><td>
         2005  +
         2006  + A lossy reliability model that drops messages with a constant
         2007  + probability.  The percentage of dropped messages has to be specified
         2008  + in the configuration file:<br>
         2009  + <div class="code codeTab">&lt;LossyDelivery dropRate="..."/&gt;</div>
         2010  +
         2011  +</td></tr>
         2012  +
         2013  +<tr><td valign="top"><span class="code">
         2014  + ReliableDelivery
         2015  +</span></td><td>
         2016  + A dummy implementation of the reliability model that does not drop any messages. 
         2017  +</td></tr>
         2018  +
         2019  +</tbody></table>
         2020  +<span class="caption">Reliability models provided by the <span class="code">defaultProject</span> project.</span>
         2021  +
         2022  +
         2023  +</p><h2>Message Transmission Model<a name="Msg Transm. Model"></a></h2>
         2024  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2025  +
         2026  + The message transmission model determines the time a message needs
         2027  + until it arrives at the destination node. The framework holds only
         2028  + one instance of this model, which applies for all nodes and all
         2029  + message types. To create your own message transmission model,
         2030  + implement a subclass of <span class="code">sinalgo.models.MessageTransmissionModel</span> and place
         2031  + the file in the <span class="code">models/messageTransmissionModels/</span> folder of your
         2032  + project.
         2033  +
         2034  + <p>The model requires to implement the method <span class="code"><b>double timeToReach(Node startNode, Node endNode,
         2035  + Message msg)</b></span>, which determines the time to send a message
         2036  + from the <span class="code">startNode</span> to the <span class="code">endNode</span>. For synchronous simulations, the time is
         2037  + specified in rounds, where a time of <span class="code">1</span>
         2038  + specifies the following round. In the asynchronous setting, this
         2039  + method returns the time units after which the message should arrive.
         2040  +
         2041  +
         2042  +
         2043  +....
         2044  +
         2045  + </p><p>The <span class="code">defaultProject</span> contains the
         2046  + following two message transmission models.
         2047  +
         2048  +</p><p><table border="1" cellpadding="5" cellspacing="0">
         2049  +
         2050  +<tbody><tr><td valign="top"><span class="code">
         2051  +ConstantTime
         2052  +</span></td><td>
         2053  + Delivers the messages after a constant delay. It requires a
         2054  + configuration entry of the following form to specify the delay:<br>
         2055  +<div class="code codeTab">
         2056  +&lt;MessageTransmission ConstantTime="..."/&gt;
         2057  +</div>
         2058  +</td></tr>
         2059  +
         2060  +<tr><td valign="top"><span class="code">
         2061  +RandomTime
         2062  +</span></td><td>
         2063  + Delivers the messages after a random delay, which is defined through
         2064  + a distribution. It requires a configuration entry of the following
         2065  + form to specify the delay:<br>
         2066  +<div class="code codeTab">
         2067  +&lt;RandomMessageTransmission distribution="Uniform" min="0.1" max="4.2"/&gt;
         2068  +</div>
         2069  +</td></tr>
         2070  +</tbody></table>
         2071  +<span class="caption">Message transmission models provided by the <span class="code">defaultProject</span> project.</span>
         2072  +
         2073  +
         2074  +</p><h2>Distribution Model<a name="Distribution Model"></a></h2>
         2075  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2076  +
         2077  + The distribution model describes how the nodes are placed initially
         2078  + onto the deployment field when they are created. Whenever the
         2079  + framework creates a set of nodes, there needs to be an instance of a
         2080  + distribution model that places the nodes.  To create your own
         2081  + distribution model, implement a subclass of <span class="code">sinalgo.models.DistributionModel</span> and place the file
         2082  + in the <span class="code">models/distributionModels/</span> folder of
         2083  + your project.
         2084  +
         2085  + <p>The distribution models implement an iterator-like interface that
         2086  + allows to retrieve the node positions in sequence. The model requires
         2087  + to implement the method <span class="code"><b>Position
         2088  + getNextPosition()</b></span>, which returns the position of a
         2089  + node. The framework calls this method exactly once for each created node.
         2090  +
         2091  + </p><p><b>Initialization:</b> After creating an instance of the
         2092  + distribution model, the framework sets the member variable <span class="code">numberOfNodes</span>, and then calls the <span class="code">initialize()</span> method. This method may be used to
         2093  + pre-calculate the positions of the nodes and obtain an iterator
         2094  + instance on the positions. The positions are retrieved only after
         2095  + this call.
         2096  +
         2097  + </p><p>For your convenience, the <span class="code">defaultProject</span>
         2098  + already contains the following distribution models. Note that these
         2099  + models are written as generic as possible. Therefore, you may need to add
         2100  + <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">configuration
         2101  + settings</a> to your project, depending on which model you select.
         2102  +
         2103  +</p><p><table border="1" cellpadding="5" cellspacing="0">
         2104  +
         2105  +<tbody><tr><td valign="top"><span class="code">
         2106  +Random 
         2107  +</span></td><td>
         2108  +Places the nodes randomly on the deployment area. This model may be used in 2D and 3D. 
         2109  +</td></tr>
         2110  +
         2111  +<tr><td valign="top"><span class="code">
         2112  +Circle 
         2113  +</span></td><td>
         2114  +Places the nodes on a circle.
         2115  +</td></tr>
         2116  +
         2117  +<tr><td valign="top"><span class="code">
         2118  +Grid2D
         2119  +</span></td><td>
         2120  +Places the nodes on a regular grid in the XY plane. 
         2121  +</td></tr>
         2122  +
         2123  +<tr><td valign="top"><span class="code">
         2124  +Line2D 
         2125  +</span></td><td>
         2126  + Places the nodes evenly distributed on a line. You may specify the
         2127  + start and end point of the line in the project configuration.
         2128  +</td></tr>
         2129  +
         2130  +</tbody></table>
         2131  +<span class="caption">Distribution models provided by the <span class="code">defaultProject</span> project.</span>
         2132  +
         2133  +</p><hr class="blue"><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2134  +<h1>Tools</h1>
         2135  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
         2136  + This section covers some tools you may use for your project. 
         2137  +
         2138  +
         2139  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2140  +<h2>Tools.java - a Collection of Useful Methods<a name="Tools.java"></a></h2>
         2141  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2142  + 
         2143  + The class <span class="code"><b>Tools</b></span> in the package
         2144  + <span class="code">sinalgo.tools</span> is a collection of <i>static</i>
         2145  + methods that may be useful in several circumstances. It contains
         2146  +
         2147  +<ul class="unstyled extra-space">
         2148  +<li>Error handling</li>
         2149  +<li>Settings of the framework</li>
         2150  +<li>Information about the current simulation</li>
         2151  +<li>Access to the set of nodes</li>
         2152  +<li>Access to the set of messages currently being sent</li>
         2153  +<li>Stop or exit the simulation</li>
         2154  +<li>GUI related methods</li>
         2155  +<li>And others...</li>
         2156  +</ul>
         2157  +
         2158  + <p class="note"><b>Note:</b> Most of the methods provided in this
         2159  + class are wrapper methods. The <span class="code">Tools</span>
         2160  + class just collects these helpful methods, which are sometimes
         2161  + difficult to find in their original place.</p>
         2162  +
         2163  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2164  +<h2>Random Numbers<a name="Random Numbers"></a></h2>
         2165  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2166  +
         2167  + Many algorithms and models rely on random values to implement
         2168  + randomized decisions. At the same time, it is often desirable to run
         2169  + the exactly same simulation several times, either to understand its
         2170  + behavior, or to find errors. However, when the algorithms take some
         2171  + decisions purely randomly, it is impossible to rerun the exactly same
         2172  + simulation. To circumvent this problem, Sinalgo offers its own instance
         2173  + of a random number generator, which <b>should be used
         2174  + exclusively</b>.  To access this instance, write <p></p><div class="code
         2175  + codeTab"> java.util.Random rand =
         2176  + sinalgo.tools.Tools.getRandomNumberGenerator();
         2177  +</div>
         2178  +
         2179  + <p>This random number generator instance depends on the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html" class="nav_link">configuration
         2180  + file</a> of the project. If the framework entry <span class="code">useFixedSeed</span> is set, the random number generator
         2181  + is initialized with the <span class="code">fixedSeed</span>, also
         2182  + provided in the configuration file. Otherwise, the random number
         2183  + generator is initialized randomly, such that subsequent simulations
         2184  + receive different random numbers.
         2185  +
         2186  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2187  +</p><h2>Random Distributions<a name="Random Distributions"></a></h2>
         2188  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2189  +
         2190  + The package <span class="code">sinalgo.tools.statistics</span> provides
         2191  + several random number generators that return random numbers according
         2192  + to a certain distribution probability. Available distributions are:
         2193  +
         2194  +<p><table border="1" cellpadding="5" cellspacing="0">
         2195  +<tbody><tr><td valign="top"><span class="code">
         2196  +ExponentialDistribution
         2197  +</span></td><td>
         2198  + Returns random values exponentially distributed with parameter lambda. 
         2199  +</td></tr>
         2200  +
         2201  +<tr><td valign="top"><span class="code">
         2202  +PoissonDistribution
         2203  +</span></td><td>
         2204  + Returns random values Poisson distributed with parameter lambda. 
         2205  +</td></tr>
         2206  +
         2207  +<tr><td valign="top"><span class="code">
         2208  +GaussianDistribution
         2209  +</span></td><td>
         2210  + Returns random values Gaussian distributed according to a given mean and variance.
         2211  +</td></tr>
         2212  +
         2213  +<tr><td valign="top"><span class="code">
         2214  +UniformDistribution
         2215  +</span></td><td>
         2216  + Returns random values randomly chosen in a given interval.
         2217  +</td></tr>
         2218  +
         2219  +<tr><td valign="top"><span class="code">
         2220  +ConstantDistribution
         2221  +</span></td><td>
         2222  + Returns a always the same constant. (Thus not really a random number.)
         2223  +</td></tr>
         2224  +</tbody></table>
         2225  +<span class="caption">Available random number distributions in the package <span class="code">sinalgo.tools.statistics</span>.</span>
         2226  +
         2227  + </p><p>All of these distributions extend from <span class="code">sinalgo.tools.statistics.Distribution</span> and implement
         2228  + the method <span class="code"><b>double nextSample()</b></span>,
         2229  + which returns the next random sample of the distribution. To obtain
         2230  + an instance of the Gaussian distribution, you can write:
         2231  +</p><p></p><div class="code codeTab">
         2232  +GaussianDistribution gauss = new GaussianDistribution(mean, var);<br>
         2233  +gauss.nextSample(); <i>// returns a random variable, normally distributed with the given mean and var</i>
         2234  +</div>
         2235  +
         2236  + <p>Alternatively, you can specify the type and settings of the
         2237  + distribution from within the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html" class="nav_link">configuration file</a> of the project. The
         2238  + configuration entry needs to specify the name of the distribution as
         2239  + well as the distribution-specific parameters. The key of the tag that
         2240  + contains the attributes holding this information is used to retrieve
         2241  + the information. E.g. add to your configuration file the following
         2242  + entry in the <span class="code">Custom</span> section:
         2243  +</p><p></p><div class="code codeTab">
         2244  +&lt;MyNode&gt;<br>
         2245  +<div class="codeTab"> &lt;speed distribution="Gaussian" mean="10" variance="20"/&gt;</div>
         2246  +&lt;/MyNode&gt;
         2247  +</div>
         2248  +
         2249  +<p>In order to generate a distribution object from this entry, write
         2250  +
         2251  +</p><p></p><div class="code codeTab">
         2252  +	Distribution dist = Distribution.getDistributionFromConfigFile("MyNode/speed");<br>
         2253  +    dist.nextSample(); <i>// Returns a random variable distributed according to the chosen distribution.</i>
         2254  +</div>
         2255  +
         2256  + <p><b>Note:</b> These classes base upon the random number generator
         2257  + of the framework and implement the seed-feature described in the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Tools.html#Random Numbers" class="nav_link">Random
         2258  + Numbers</a> section. Thus, a rerun of the exact same simulation is
         2259  + possible.
         2260  +
         2261  +
         2262  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2263  +</p><h2>Sampling Data<a name="Sampling Data"></a></h2>
         2264  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2265  + 
         2266  + The class <span class="code">DataSeries</span> in the package <span class="code">sinalgo.tools.statistics</span> is a statistic tool to
         2267  + determine simple statistic properties such as the mean and standard
         2268  + deviation of a series of measurements.
         2269  +
         2270  + <p>For each series of data you want to have a statistical analysis
         2271  + on, create a new object of this class and add the samples using the
         2272  + <span class="code">addSample()</span> method. You can retrieve the
         2273  + <b>mean</b>, <b>variance</b>, <b>standard deviance</b>, <b>sum</b>,
         2274  + <b>minimum</b>, <b>maximum</b>, and <b>count</b> of the added samples.
         2275  +
         2276  + </p><p class="note"><b>Implementation Note:</b> A DataSeries object does
         2277  + <i>not</i> store the added samples individually. Instead, it
         2278  + processes the samples immediately upon addition. Therefore, you may
         2279  + sample many huge data series without using up a lot of memory.
         2280  + </p>
         2281  +
         2282  +
         2283  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2284  +<h2>Export Network Graph to EPS or PDF<a name="EPS / PDF"></a></h2>
         2285  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2286  +
         2287  + Sinalgo can export the current view of the network graph to a vector
         2288  + graphic in EPS or PDF format. To export the current view, click on
         2289  + the <span class="code">Graph</span> menu, and select <span class="code">Export</span>.
         2290  +
         2291  + <p>Sinalgo itself writes the graphics directly in EPS format. It does
         2292  + not support PDF itself, and calls an external application to convert
         2293  + the EPS file to a PDF file, if you choose to export to PDF. By
         2294  + default, the framework calls the <span class="code">epstopdf</span>
         2295  + application. Change the field <span class="code">epsToPdfCommand</span> in the framework section of the
         2296  + <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html">configuration
         2297  + file</a> to specify a different application.
         2298  +
         2299  +
         2300  + </p><p>The export is similar to drawing the network graph on the screen:
         2301  + The framework iterates over all nodes and first draws for each node
         2302  + the connections. In a second iteration, it also draws the nodes, such
         2303  + that the nodes are not covered by the lines of the edges. For this
         2304  + purpose, the <span class="code">sinalgo.nodes.Node</span> and <span class="code">sinalgo.nodes.edges.Edge</span> classes implement the <span class="code">drawToPostScript()</span> method. You may overwrite this
         2305  + method in your own node or edge subclasses to customize their
         2306  + appearance.
         2307  +
         2308  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2309  +</p><h2>Logging<a name="Logging"></a></h2>
         2310  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2311  +
         2312  +Sinalgo provides tools to facilitate logging, i.e. write certain output
         2313  +to files. The logging support is located in <span class="code">sinalgo.tools.logging</span>. The class Logging provides
         2314  +methods to create log-files and add logging statements to an existing
         2315  +log-file.
         2316  +
         2317  +<p>The creation of a log-file is straight forward: To create a log-file
         2318  +with the name 'myLog.txt', write
         2319  +</p><p></p><div class="code codeTab">
         2320  +Logging myLog = Logging.getLogger("myLog.txt");
         2321  +</div>
         2322  +
         2323  + <p>By default, the log-files are placed in the <span class="code">logs</span> folder in the root directory of Sinalgo. To put
         2324  + the log-file in a sub-directory, write
         2325  +
         2326  +</p><p></p><div class="code codeTab">
         2327  +Logging myLog = Logging.getLogger("dir1/dir2/myLog.txt");
         2328  +</div>
         2329  +
         2330  +<p>Then, to add log-statements, use the methods log(String) and
         2331  +logln(String). E.g.<br>
         2332  +</p><p></p><div class="code codeTab">
         2333  +myLog.log("Test");
         2334  +myLog.logln("Test"); <i>// appends a new-line to the given string</i>
         2335  +</div>
         2336  +
         2337  +<p>Subsequent calls to <span class="code">Logging.getLogger("myLog.txt")</span> will return the
         2338  +same singleton Logging object. I.e. to access the same log-file from
         2339  +several classes, you need not make the logging object public or
         2340  +accessible, but can access it directly with the
         2341  +Logging.getLogger(String) method.
         2342  +
         2343  +</p><p>The framework already provides one global log-file, which may be
         2344  +used for logging, especially logging of errors. The file name of this
         2345  +framework log-file is specified in the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html" class="nav_link">project
         2346  +configuration file</a> of each project. For this framework log-file
         2347  +(and only for this log-file), you can specify in the configuration
         2348  +file, whether a file should be created, or whether its content should
         2349  +be printed onto the standard output. You can access this framework
         2350  +log-file by calling <span class="code">Logging.getLogger()</span> or
         2351  +through <span class="code">sinalgo.runtime.Global.log</span>.
         2352  +
         2353  +</p><h3>Log to Time Directory</h3>
         2354  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2355  +
         2356  + By default, the log files are created in a folder <span class="code">logs</span> of the root directory of the Sinalgo installation. I.e. subsequent runs of a simulation will overwrite the
         2357  + log-files. As this overwriting may be undesirable, the log-files may
         2358  + be placed in a unique folder, which gets created for each simulation
         2359  + run. The name of this unique folder is composed of the project-name
         2360  + and the time when the simulation started, these folders are placed in
         2361  + the 'logs' directory. You can turn on this feature in the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Configuration.html" class="nav_link">project
         2362  + configuration file</a>, by setting the entry <span class="code">logToTimeDirectory</span> to <span class="code">true</span>.
         2363  +
         2364  +<h3>Logging with Levels</h3>
         2365  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2366  +
         2367  + Logging statements may be used to debug a system. But after
         2368  + debugging, these statements are often not needed anymore. However,
         2369  + removing manually the log statements may be time consuming and often
         2370  + not desirable, as they need to be re-inserted if the problem occurs
         2371  + again.  To avoid the removal of log-statements in the code, we
         2372  + support the concept of logging with levels. I.e. each log-statement
         2373  + takes as optional parameter a boolean indicating whether it should be
         2374  + printed or not. Collecting all of these boolean variables in a single
         2375  + file lets you quickly turn on or off different sets of
         2376  + log-statements. Therefore, when adding log-statements for a certain
         2377  + topic, assign to all of them the same boolean flag, such that all of
         2378  + them can be enabled or disabled by this flag (at compile-time).
         2379  +
         2380  + <p>In theory, this flag can be stored anywhere. We suggest that you
         2381  + collect all of these flags and store them in the class LogL in the
         2382  + root directory of your project. The file <span class="code">LogL.java</span> may look as following:
         2383  +
         2384  +</p><p></p><div class="code codeTab">
         2385  +<b>public class </b>LogL <b>extends</b> sinalgo.tools.logging.LogL {<br>
         2386  +<div class="codeTab">
         2387  +    <b>public static final boolean</b> testLog = <b>false</b>;<br>
         2388  +    <b>public static final boolean</b> nodeSpeed = <b>true</b>;
         2389  +</div>
         2390  +}
         2391  +</div>
         2392  +
         2393  +<p>The log-statements now look as following:
         2394  +
         2395  +</p><p></p><div class="code codeTab">
         2396  +Logging myLog = Logging.getLogger("myLog.txt");<br>
         2397  +myLog.log(LogL.testLog, "Test");<br>
         2398  +myLog.logln(LogL.nodeSpeed, "Test");
         2399  +</div>
         2400  +
         2401  +<p>The first log-statement won't be printed, as <span class="code">LogL.testLog</span> is set to false.
         2402  +
         2403  +</p><p class="note"><b>Implementation Remark:</b> In order to change the
         2404  +log-levels at runtime, you need to remove the <span class="code">final</span> modifier for the corresponding log-levels in
         2405  +the <span class="code">LogL.java</span> file.</p><p>
         2406  +
         2407  +</p><h3>Appending to Log Files</h3>
         2408  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2409  +
         2410  + The logging class allows to append to an existing log-file from a
         2411  + previous run.  To do so, call the <span class="code">getLogger()</span> method with the second optional
         2412  + parameter set to <span class="code"><b>true</b></span>. Note that
         2413  + log-files created with the append flag set to true are always placed
         2414  + in the <span class="code">logs</span> folder and ignore the <span class="code">logToTimeDirectory</span> flag.
         2415  +
         2416  +<h3>Logging the Code Position</h3>
         2417  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2418  +
         2419  +When a log-file collects log-statements from several code fragments, it
         2420  +is often difficult to remember which piece of code was responsible for a
         2421  +given log statement. Therefore, the logging class provides methods to
         2422  +automatically prefix a log-statement with the class name, method
         2423  +name, and line number of the source-file where the log-statement
         2424  +executed. To prefix a statement with the code position, use either
         2425  +<span class="code">logPos(...)</span> or <span class="code">logPosln(...)</span>. 
         2426  +For personalized use, you may also consider the method 
         2427  +<span class="">Logging.getCodePosition()</span>, which returns a string 
         2428  +representation of the code position where the method is being called.
         2429  +
         2430  +<h3>Performance Issues</h3>
         2431  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2432  +
         2433  + Turning off logging by setting the corresponding flag to false still
         2434  + triggers the corresponding log method to be called. Even more costly
         2435  + is often the composition of the string that is passed to the
         2436  + log-method.  [The composition of the string is not only costly in
         2437  + terms of time, but also allocates new memory cells, which need to be
         2438  + reclaimed by the garbage collector later on.]<br> Most of the time,
         2439  + this is no problem. E.g. when the log-statement is placed in a part
         2440  + of the code that executes rarely. But when the log-statement
         2441  + is located in a piece of code that executes very often, e.g. in every
         2442  + step of every round, this may decrease simulation performance
         2443  + noticeably.<br> A possible work-around for such exposed
         2444  + log-statements is to not use the log-level flag in the method-call,
         2445  + but surround the log-statements with an <span class="code">if()</span> clause, that only executes if the
         2446  + corresponding log-level is set to <span class="code">true</span>:
         2447  +
         2448  +<p></p><div class="code codeTab">
         2449  +<b>if</b>(LogL.testLog) {<br>
         2450  +<div class="codeTab">myLog.log("Test"); <i> //we don't need the log-level anymore</i>
         2451  +</div>
         2452  +}
         2453  +</div>
         2454  +
         2455  +
         2456  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
         2457  +<h2>Background Map<a name="Background Map"></a></h2> 
         2458  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2459  +
         2460  + By default, the deployment area is a rectangular region in 2D, and a
         2461  + cuboid in 3D, whose dimensions are specified in the project specific
         2462  + configuration file. For the 2D case, Sinalgo offers an extension to
         2463  + display a picture on the deployment area. The interpretation of this
         2464  + background map is purely project specific.  E.g. colored areas may
         2465  + denote obstacles, where no nodes can be placed.
         2466  +
         2467  + <p>The usage of the background image can be enabled in the
         2468  + configuration file, which also contains the path of the image file to
         2469  + use. The search path for the image is the root directory of the
         2470  + project. The image formats that Sinalgo can decode depends on your JAVA
         2471  + installation. Most likely, the following formats are supported: <span class="code">GIF, PNG, BMP, JPG</span>.
         2472  +
         2473  + </p><p>The background image is scaled along the x and y axis to exactly
         2474  + fit the deployment area. As a result, the provided image may be quite
         2475  + small. In fact, huge images allow to encode more and finer details,
         2476  + but take also more time to display.
         2477  +
         2478  + </p><p>The instance of <span class="code">sinalgo.io.mapIO.Map</span>, which
         2479  + may be accessed through <span class="code">Tools.getBackgroundMap()</span>, provides methods to
         2480  + determine the color of any position on the deployment area.
         2481  +
         2482  +
         2483  + </p><hr class="blue"><!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2484  +<h1>Insight Into the Clockwork of Sinalgo</h1>
         2485  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2486  +
         2487  + Sinalgo is a simulation framework that helps you simulate computer
         2488  + networks in different scenarios. Its main target networks are
         2489  + wireless networks, which are well described by the message passing
         2490  + model.
         2491  +
         2492  + <p>While running any simulation, it is crucial to understand how the
         2493  + simulation simplifies from a real network. For example, Sinalgo simulates the physical propagation of transmissions only very
         2494  + superficially (in contrast to other simulators, such as ns2). In the
         2495  + remainder of this section, we describe the operating mode of
         2496  + Sinalgo on a high level. We stick as close as possible to the
         2497  + implementation, such that the simplifications/abstractions from
         2498  + reality can be easily spotted.
         2499  +
         2500  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2501  +</p><h2>Node Storage<a name="Node Storage"></a></h2>
         2502  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2503  +
         2504  + Many connectivity models such as UDG and QUDG have a well defined
         2505  + upper bound on the Euclidean distance between two connected
         2506  + nodes. Sinalgo uses this upper bound to speed up the connectivity model,
         2507  + which determines the set of neighbors to each node. (Remember that
         2508  + the connectivity model is called in every <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Sync Call Sequence" class="nav_link">round</a> of the synchronous simulation, and makes
         2509  + up a considerable part of the simulation time.) When the connectivity
         2510  + model is called for a given node <span class="code">n</span>, it
         2511  + could test whether <span class="code">n</span> is connected to any of
         2512  + the other nodes. However, if there is an upper bound on the Euclidean
         2513  + distance between any two connected nodes, it is sufficient to test a
         2514  + subset of nodes in an Euclidean proximity of <span class="code">n</span>, which corresponds to a range query.
         2515  +
         2516  + <p>Sinalgo provides support to perform range queries, which return a set
         2517  + of potential neighbors for a given node. To perform these range
         2518  + queries, Sinalgo stores the nodes in a specialized data structure. In
         2519  + the default distribution, Sinalgo stores the nodes in a <span class="code">GeometricNodeCollection</span>, which implements the
         2520  + <span class="code">NodeCollectionInterface</span>. 
         2521  +
         2522  + Because these range queries depend on the maximum distance between
         2523  + any two connected nodes, the <span class="code">GeometricNodeCollection</span> needs to be configured
         2524  + through the project configuration file. It requires an entry of
         2525  + the following form, where <span class="code">rMax</span> specifies
         2526  + the maximum distance between any two connected nodes.
         2527  +
         2528  +<br></p><div class="code codeTab"><b>
         2529  + &lt;GeometricNodeCollection rMax="150"/&gt;
         2530  +</b></div>
         2531  +
         2532  + <p>The <span class="code">NodeCollectionInterface</span> interface
         2533  + provides a method <span class="code">getPossibleNeighborsEnumeration(Node n)</span>, which
         2534  + returns an enumeration over all potential neighbors of a given
         2535  + node. Using this method, the connectivity model only needs to test a
         2536  + subset of all nodes, which increases the simulation time
         2537  + considerably. The <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Models.html#Connectivity Model" class="nav_link">ConnectivityModelHelper</a> located in the
         2538  + package <span class="code">sinalgo.models</span> gives an example on how
         2539  + to use this range query.
         2540  +
         2541  + </p><p class="note"><b>Note: </b>The <span class="code">GeometricNodeCollection</span> comes in two flavors, one
         2542  + for 2D and one for 3D. However, you may implement your own subclass
         2543  + of <span class="code">NodeCollectionInterface</span> to obtain range
         2544  + queries that depend on other criteria. The project configuration file
         2545  + contains an entry which specifies the node collection implementation
         2546  + to use.</p>
         2547  +
         2548  + <p class="note"><b>Implementation Note: </b> The <span class="code">GeometricNodeCollection</span> partitions the deployment
         2549  + area in a 2-dimensional (3-dimensional) grid with cell-size <span class="code">rMax</span>. Each cell stores the nodes that are
         2550  + contained within its boundaries. Whenever a node moves into a different
         2551  + cell, this data structure is updated to reflect the new situation. A
         2552  + range query for a given node <span class="code">n</span> determines
         2553  + the cell <span class="code">c</span> in which <span class="code">n</span> is located, and returns the nodes contained in
         2554  + <span class="code">c</span> and any cell adjacent to <span class="code">c</span>. Thus, <span class="code">getPossibleNeighborsEnumeration(Node n)</span> returns
         2555  + the nodes contained in 9 cells in 2D, and the content of 27 cells in
         2556  + 3D.</p>
         2557  +
         2558  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2559  +<h2>Synchronous vs Asynchronous Mode<a name="Sync vs Async"></a></h2>
         2560  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2561  +
         2562  + Most importantly, Sinalgo either runs as an asynchronous, event
         2563  + triggered simulator, or in synchronous mode, where events happen in
         2564  + parallel in fixed time slots. The two modes result in different
         2565  + calling sequences of the methods implemented by the network
         2566  + nodes. The calling sequences are described in the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Sync Call Sequence" class="nav_link">Node Implementation tutorial</a>. 
         2567  + 
         2568  + <p>The simulation mode determines when exactly the method <span class="code">handleMessage()</span> is called when a node receives a
         2569  + message, and when exactly the timers are fired when they expired.
         2570  +
         2571  +</p><div class="subsubbody">
         2572  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2573  +<h3>Synchronous Simulation</h3>
         2574  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2575  +
         2576  + The synchronous simulation is based on <i>rounds</i>. At the
         2577  + beginning of each round, the framework increments the global time by
         2578  + one unit. Then, it moves the nodes according to their mobility models
         2579  + and updates the connections according to the connectivity
         2580  + model. After that, the framework iterates over the set of nodes and
         2581  + performs the method <span class="code">step()</span> on each
         2582  + node. The calling sequence of this method is described in the <a href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Sync Call Sequence" class="nav_link">Node Implementation tutorial</a>. The nodes are
         2583  + visited in a framework specific order, which the simulation should
         2584  + not rely on.
         2585  +
         2586  + <p>Each message and timer carries a time stamp that indicates at
         2587  + which time the event (arrival of message, execution of timer-handler)
         2588  + should happen. Because the time advances in steps of 1 unit, each
         2589  + node handles in its <span class="code">step()</span> method all
         2590  + events whose time stamp is smaller or equal to the current time. For
         2591  + both, the set of messages and the set of timers, the node sorts the
         2592  + events according to their time stamp, such that the events happen in
         2593  + order on each individual node. 
         2594  +
         2595  + </p><p class="note"><b>Note:</b> From a global view, the message
         2596  + receptions and timer-handlers may not be executed <i>in order</i>:
         2597  + Suppose the case where node A receives a message M1 at 15.23 and M2
         2598  + at 15.88 and node B receives a message M3 at 15.17 and M4 at
         2599  + 15.77. If the framework first executes the step() method on node A,
         2600  + then the messages M1 and M2 are handled prior to the messages M3 and
         2601  + M4, which are only handled in the call to step() of node B. 
         2602  + </p>
         2603  +
         2604  + <p class="note"><b>Implementation Note:</b> If your project simulates
         2605  + mobile nodes, the position of the nodes is updated at the beginning
         2606  + of every round. As a result, the nodes hop around, which does not
         2607  + quite correspond a continuous path. To achieve a better
         2608  + approximation, you may increase the time resolution of the simulation
         2609  + by a given factor, e.g. 10: Decrease the node speed by this factor,
         2610  + and increase the message delivery time, as well as the countdown-time
         2611  + of all timers by the same factor. This inserts several (in this case
         2612  + 9) more rounds for the same distance a node moves, which gives a
         2613  + better approximation of the movement.</p>
         2614  +</div>
         2615  +
         2616  +<div class="subsubbody">
         2617  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
         2618  +<h3>Asynchronous Simulation</h3> 
         2619  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2620  + 
         2621  + The asynchronous simulation is purely event based. The framework
         2622  + holds a list of message events and timer events, which is sorted by
         2623  + the time when these events should happen (arrival of message,
         2624  + execution of timer-handler). The framework repeatedly picks the most
         2625  + recent event and executes it. 
         2626  +
         2627  + <p>In a typical simulation, some of the events issue further events,
         2628  + which prevent the event list from draining. If the list empties
         2629  + anyways, the framework calls the <span class="code">handleEmptyEventQueue</span> method of the project's
         2630  + <span class="code">CustomGlobal</span> class. This method may issue
         2631  + further events to continue the simulation. 
         2632  +</p></div>
         2633  +
         2634  + <p>In general, the asynchronous simulation mode runs much faster than
         2635  + the synchronous mode. The main reason lies in the fact that the
         2636  + synchronous simulation mode loops over all nodes and performs for
         2637  + each node the <span class="code">step()</span> method even if most of
         2638  + the nodes may not do anything at all. This is in sharp contrast to
         2639  + the asynchronous mode, where only message and timer events are
         2640  + processed and no unnecessary cycles are wasted. But to achieve its
         2641  + speed, the asynchronous mode is more limited: it does not support
         2642  + mobility. I.e. the nodes cannot change their position over time. (The
         2643  + framework configuration entry <span class="code">mobility</span>
         2644  + needs to be set to <span class="code">false</span>, such that the
         2645  + mobility model assigned to each node is not considered.) The reason
         2646  + for this limitation on the asynchronous mode is the continuity of the
         2647  + node movement, which does not allow to be described in terms of
         2648  + events. (Note that also the synchronous mode does not perform
         2649  + continuous moves, but moves the nodes in hops at the beginning of
         2650  + every round.)
         2651  +
         2652  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
         2653  +</p><h2>Message Delivery<a name="Message Delivery"></a></h2> 
         2654  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2655  +
         2656  + Whenever a node sends a message to another node of the network, the
         2657  + framework encapsulates the message object in a <i>packet</i> object,
         2658  + which contains the following meta information for the message
         2659  + delivery.
         2660  +<ul>
         2661  +<li>The sender of the message</li>
         2662  +<li>The receiver of the message</li>
         2663  +<li>The time when the message arrives</li>
         2664  +<li>The time when the message was sent</li>
         2665  +<li>The edge over which the message is being sent</li>
         2666  +<li>The intensity at which the message is being sent</li>
         2667  +<li>A unique ID for the packet</li>
         2668  +</ul>
         2669  +
         2670  + <p>The receiver of the message can retrieve this information for each
         2671  + received message in the <span class="code">handleMessages()</span>
         2672  + through the <span class="code">Inbox</span> object.
         2673  +
         2674  + </p><p>Project developers only get in touch with <span class="code">Packet</span> objects when implementing a new
         2675  + interference model. The member
         2676  +</p><p><span class="code codeTab">
         2677  + <b>public boolean</b> positiveDelivery
         2678  +</span></p><p>
         2679  + indicates whether the message hold in the packet will be received
         2680  + properly at the destination. If this flag is set to false, the
         2681  + receiving node will not include the corresponding message in the
         2682  + inbox, handed over to the <span class="code">handleMessages()</span>
         2683  + method.
         2684  +
         2685  + </p><p>Refer to the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Messages">Node Implementation</a>
         2686  + part of this tutorial for more information on how to implement
         2687  + project specific messages.
         2688  +
         2689  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
         2690  +</p><h2>Network Edges<a name="Edges"></a></h2> 
         2691  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2692  +
         2693  + In the network abstraction of Sinalgo, an edge is present between any
         2694  + two nodes in communication range. The <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Models.html#Connectivity Model">Connectivity Model</a>
         2695  + is responsible to decide which node pairs are within communication
         2696  + range. Each node carries a list of its <i>outgoing
         2697  + connections</i>. I.e. the set of edges through which the node is
         2698  + connected to its direct neighbors. Because the edges are
         2699  + <i>unidirectional</i>, an edge object is contained in exactly one set
         2700  + of outgoing connections. Furthermore, if two nodes are connected in
         2701  + both directions, there are <i>two</i> edge objects, one hold by each
         2702  + end node.
         2703  +
         2704  + <p>Sinalgo requires that the <i>same</i> edge object is present between
         2705  + two nodes until the connection breaks. Upon reconnection of the two
         2706  + nodes, a new edge object has to be used. To distinguish edges, each
         2707  + edge object carries a <i>unique ID</i>.
         2708  +
         2709  + </p><p>The <span class="code">send</span> and <span class="code">broadcast</span> methods provided by the node superclass
         2710  + deliver messages only if the sending node has an outgoing edge to the
         2711  + destination. The method <span class="code">sendDirect</span> is an
         2712  + exception: it is the only method that does not test whether the sender
         2713  + and receiver are really interconnected. This latter method may be
         2714  + used to simulate a wired overlay network, or to send messages between
         2715  + network nodes that are connected through another means.
         2716  +
         2717  + </p><p><b>Note:</b> Especially when manually adding an edge
         2718  + in GUI mode, remember that the added edge is
         2719  + <i>unidirectional</i>. To connect two nodes A and B in both
         2720  + direction, you need to add an edge from A to B, and another edge from
         2721  + B to A. To avoid this issue, you may want to use bidirectional edges.
         2722  +
         2723  +</p><div class="subsubBody">
         2724  +<h3>Bidirectional Edges</h3> 
         2725  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2726  +
         2727  + The use of unidirectional links may be desirable to simulate lossy
         2728  + and unpredictable networks. However, one may often want to abstract
         2729  + from these low-level issues and only consider bidirectional links. To
         2730  + ensure, that there is either no link at all between two nodes, or a
         2731  + link in both directions (a bidirectional link), use the <span class="code">BidirectionalEdge</span>. This edge implementation
         2732  + automatically ensures that there is an edge in both directions
         2733  + between a given pair of nodes.
         2734  +
         2735  + <p>To implement bidirectional edges, and to draw edges properly, each
         2736  + edge (not only the bidirectional ones) has a member <span class="code">oppositeEdge</span>, which points to the edge that
         2737  + connects the two end-nodes in the opposite direction, or is null, if
         2738  + there is no such edge.
         2739  +</p></div>
         2740  +
         2741  +<div class="subsubBody">
         2742  +<h3>Edge Creation, <span class="code">valid</span> Flag</h3> 
         2743  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2744  + 
         2745  + At any time, Sinalgo uses the <i>same edge type for all edges</i> - the
         2746  + framework holds one global factory that creates the new edges. The
         2747  + type of edges to be used is defined in the configuration file, and
         2748  + may be changed at runtime. But note that when changing the edge type
         2749  + at runtime, the existing edge objects are not replaced and thus
         2750  + implement the previous edge type. A change of the edge time at
         2751  + runtime only affects edges that are added to the network graph
         2752  + afterwards.
         2753  +
         2754  + <p>We have seen that the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Models.html#Connectivity Model">Connectivity Model</a>
         2755  + determines to which other nodes a given node N is connected by adding
         2756  + and removing edges from the <span class="code">outgoingConnections</span> list of N. In most cases,
         2757  + this model is too powerful, and the simpler <span class="code">ConnectivityModelHelper</span> class can be used, where
         2758  + the subclass only needs to answer whether node N is connected to
         2759  + another node B. If node N has a (unidirectional) connection to node
         2760  + A, the model calls <span class="code">N.outgoingConnections.add(N, B,
         2761  + true);</span>, which adds an edge NB to the set of outgoing
         2762  + connections of node N. If the edge already exists, the call to <span class="code">add</span> does <i>not</i> replace the existing edge.
         2763  +
         2764  + </p><p>The removal of the edges is somewhat more involved, because Sinalgo requires the <i>same</i> edge object to remain installed until the
         2765  + corresponding connection breaks up. Therefore, we may not just empty
         2766  + the set of outgoing connections before calling the connectivity
         2767  + model. Sinalgo proposes to handle this issue using the <span class="code">valid</span> member of each edge: Whenever the
         2768  + connectivity model calls <span class="code">N.outgoingConnections.add(N,B,true)</span> to ensure
         2769  + that there is an edge NB, the <span class="code">valid</span> flag of
         2770  + the added (or already existing) edge is set to true. Before the
         2771  + connectivity model returns, it calls
         2772  + N.outgoingConnections.removeInvalidLinks(), which iterates over all
         2773  + outgoing edges of N and removes the ones whose <span class="code">valid</span> flag is false. (At the same time, the
         2774  + method resets the <span class="code">valid</span> flags to false for
         2775  + the next round.)
         2776  +</p></div>
         2777  +
         2778  +
         2779  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
         2780  +<h2>Interference<a name="Interference"></a></h2> 
         2781  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2782  +
         2783  + Computing the interference created by a set of network nodes can be
         2784  + quite a challenge, especially if real physical characteristics of the
         2785  + wireless transportation medium, perhaps even reflection are
         2786  + considered. Sinalgo offers a simplified view of the node signals which
         2787  + may cause interference. At any point in time, the framework holds a
         2788  + list of all messages that are being sent at that time. This list is
         2789  + called <span class="code">PacketsInTheAir</span> and may be accessed
         2790  + through <span class="code">Tools.getPacketsInTheAir()</span>. Note that this
         2791  + list only contains the packets if interference is enabled in the
         2792  + configuration file.
         2793  +
         2794  + <p>Each sender node can send its message with a given signal power,
         2795  + which we call <i>intensity</i>. The interference model can use the
         2796  + set of all messages and their corresponding intensity to determine
         2797  + the noise-level a given receiver node experiences.
         2798  +
         2799  + </p><p>One example is the SINR interference model, which assumes a signal
         2800  + decay exponential to the Euclidean distance to the sender. Roughly
         2801  + speaking, SINR drops a message if the signal of the message at the
         2802  + receiver is below the sum of all interfering signals times a given
         2803  + constant. A sample implementation of SINR is provided in the <span class="code">defaultProject</span>.
         2804  +
         2805  +
         2806  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 
         2807  +</p><h2>Memory Management<a name="Memory Management"></a></h2> 
         2808  +<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
         2809  +
         2810  + Our choice to use Java was mainly based on its platform independence,
         2811  + modularity, and its wide acceptance. However, running a simulation in
         2812  + the Java environment quickly brings up memory problems, mainly
         2813  + related to garbage collection.
         2814  +
         2815  + <p>It seems that Java's garbage collector (GC) has a hard time when
         2816  + the application constantly creates a huge amount of small, short
         2817  + living objects. But that's exactly what our simulation framework
         2818  + does: For every message that is being sent, there are at least two
         2819  + new objects allocated, and if the network graph changes frequently,
         2820  + many edge objects need to be allocated. 
         2821  +
         2822  + </p><p>To alleviate this problem, Sinalgo tries to <i>recycle</i> objects as
         2823  + often as possible: Instead of returning a removed edge to the GC,
         2824  + Sinalgo stores the edge object for reuse the next time an edge object of
         2825  + this type is needed. The same holds for the packets, which
         2826  + encapsulate the messages sent by the nodes. After a message arrived
         2827  + at its destination, the corresponding packet object is returned to
         2828  + Sinalgo for storage. Whenever a message is sent, Sinalgo only creates a new
         2829  + packet object if there is no recycled packet left.
         2830  +
         2831  + </p><p class="note"><b>Note:</b> Remind from the <a class="nav_link" href="http://disco.ethz.ch/projects/sinalgo/tutorial/Implementation.html#Messages">message implementation
         2832  + section</a> that a sent message object is cloned by default. To save
         2833  + memory, a project may apply a read-only policy for all messages, in
         2834  + which case the cloning of the messages can be circumvented. This
         2835  + preserves a lot of memory, especially for broadcast messages.</p>
         2836  +</div>
         2837  +<br><br>
         2838  +<p>
         2839  +
         2840  +</p><div style="font-size:8pt;" align="right">© <a href="http://disco.ethz.ch/" style="font-size:8pt;">Distributed
         2841  +Computing Group</a> <br>
         2842  +<a href="http://sourceforge.net/projects/sinalgo/"><img src="./index_files/sflogo.php" width="88" height="31" border="0" alt="SourceForge.net Logo"></a> 
         2843  +<a href="http://jigsaw.w3.org/css-validator/check/referer"> <img style="border:0;width:44px;height:16px" src="./index_files/vcss.png" alt="Valid CSS!">
         2844  +</a>
         2845  +<a href="http://validator.w3.org/check?uri=referer"><img src="./index_files/valid-html401.png" style="border:0;width:44px;height:16px" alt="Valid HTML 4.01 Transitional"></a>
         2846  +			
         2847  +</div>
         2848  +
         2849  +
         2850  +</body></html>

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/GUI_abort.gif version [2b0c101566].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/GUI_run.gif version [afacf9ec01].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/addnodes.gif version [457f4238b9].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/cleargraph.gif version [24241e9c3e].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/customButtons.png version [4305fc55d6].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/customMenu.png version [00454aab53].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/dcgPrint.jpg version [120305088b].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/gui3DView.png version [adf6f4c627].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/popup.png version [036b8e962c].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/printStyle.css version [78c9cecb91].

            1  +.text {
            2  +  font-family: Verdana, Arial, Helvetica, sans-serif;
            3  +  color: #000000;
            4  +  font-style: normal;
            5  +  font-weight: normal;
            6  +  font-variant: normal;
            7  +  text-transform: none;
            8  +}
            9  +
           10  +.tutiTitle {
           11  +  font-family: Verdana, Arial, Helvetica, sans-serif;
           12  +  font-size: 60pt;
           13  +  color: #000077;
           14  +  font-style: normal;
           15  +  font-weight: normal;
           16  +  font-variant: normal;
           17  +  text-transform: none;
           18  +}
           19  +
           20  +
           21  +h1 {
           22  +  font-family: Verdana, Arial, Helvetica, sans-serif;
           23  +  font-size: 20pt;
           24  +  color: #000077;
           25  +  font-style: normal;
           26  +  font-weight: normal;
           27  +  font-variant: normal;
           28  +  text-transform: none;
           29  +}
           30  +
           31  +h2 {
           32  +  font-family: Verdana, Arial, Helvetica, sans-serif;
           33  +  font-size: 16pt;
           34  +  color: #000077;
           35  +  font-style: normal;
           36  +  font-weight: normal;
           37  +  font-variant: normal;
           38  +  text-transform: none;
           39  +  margin-top: 50px;
           40  +  margin-bottom: 10px;
           41  +}
           42  +
           43  +h2.news {
           44  +	font-family: Verdana, Arial, Helvetica, sans-serif;
           45  +	font-size: 14pt;
           46  +	color: #000077;
           47  +	font-style: normal;
           48  +	font-weight: normal;
           49  +	font-variant: normal;
           50  +	text-transform: none;
           51  +	margin-top: 50px;
           52  +	margin-bottom: 0px;
           53  +}
           54  +
           55  +h3 {
           56  +  font-family: Verdana, Arial, Helvetica, sans-serif;
           57  +  font-size: 14pt;
           58  +  color: #000077;
           59  +  font-style: italic;
           60  +  font-weight: normal;
           61  +  font-variant: normal;
           62  +  text-transform: none;
           63  +  margin-bottom: 5px;
           64  +}
           65  +
           66  +.note {
           67  +  font-family: Verdana, Arial, Helvetica, sans-serif;
           68  +  font-size: 9pt;
           69  +  font-style: normal;
           70  +  font-weight: normal;
           71  +  font-variant: normal;
           72  +  text-transform: none;
           73  +}
           74  +
           75  +.caption {
           76  +  font-family: Verdana, Arial, Helvetica, sans-serif;
           77  +  font-size: 9pt;
           78  +  font-style: italic;
           79  +  font-weight: normal;
           80  +  font-variant: normal;
           81  +  text-transform: none;
           82  +}
           83  +
           84  +.blue { 
           85  +  color:#000077;
           86  +  background-color:#000077;
           87  + }
           88  +
           89  +tr.height80 {
           90  +	height: 80px;
           91  +}
           92  +
           93  +tr.height2 {
           94  +	height: 2px;
           95  +}
           96  +
           97  +tr.height30 {
           98  +	height: 30px;
           99  +}
          100  +
          101  +tr.height10 {
          102  +	height: 10px;
          103  +}
          104  +
          105  +tr.height60 {
          106  +	height: 60px;
          107  +}
          108  +
          109  +td.verticalLine {
          110  +	background-image: url("pics/black_vert_line.gif");
          111  +}
          112  +
          113  +td.horizontalLine{
          114  +	background-image: url("pics/black_hor_line.gif");
          115  +}
          116  +
          117  +/* for unordered lists, add some space around each item: <ul class="unstyled extra-space">... */
          118  +ul.unstyled { 
          119  +  display: block 
          120  +}
          121  +
          122  +ul.extra-space li { 
          123  +  margin: .3em 0 
          124  +} 
          125  +
          126  +ol.unstyled { 
          127  +  display: block 
          128  +}
          129  +
          130  +ol.extra-space li { 
          131  +  margin: .5em 0 
          132  +} 
          133  +
          134  +
          135  +table.showEmptyCells {
          136  +  empty-cells:show;
          137  +  margin-top: 0px;
          138  +}
          139  +
          140  +td.menu { 
          141  +  text-align:left;
          142  +}
          143  +
          144  +td.subMenu { 
          145  +  text-align:left;
          146  +  text-indent:10pt;
          147  +}
          148  +
          149  +td.subsubMenu { 
          150  +  text-align:left;
          151  +  text-indent:20pt;
          152  +}
          153  +
          154  +
          155  +/* The style of the page-text */
          156  +td.bodyText{ 
          157  +  font-size:10pt;
          158  +}
          159  +
          160  +/* Text that should be small */
          161  +.smallBodyText { 
          162  +  font-size:9pt;
          163  + }
          164  +
          165  +table td { 
          166  +  font-size:10pt;
          167  + }
          168  +
          169  +.bodyText { 
          170  +  font-size:10pt;
          171  + }
          172  +
          173  +.subsubBody { 
          174  +  margin-left:35pt;
          175  + }
          176  +
          177  +.codeTab { 
          178  +  margin-left:15pt;
          179  + }
          180  +
          181  +.htabbed { 
          182  +  margin-left:17pt
          183  +}
          184  +
          185  +.tabbed {
          186  +  margin-left:35pt
          187  +}
          188  +
          189  +.dtabbed {
          190  +  margin-left:70pt
          191  +}
          192  +
          193  +.red{
          194  +	color: rgb(160, 0, 0);
          195  +}
          196  +
          197  +.CCom {
          198  +	color: rgb(100, 100, 100);
          199  +}
          200  +
          201  +.CVar {
          202  +	color: rgb(0, 160, 0);
          203  +}
          204  +
          205  +.CKey {
          206  +	color: rgb(0, 0, 160);
          207  +}
          208  +
          209  +.question {
          210  +  font-size: 10pt;
          211  +  font-weight: bold;
          212  +}
          213  +
          214  +.answer {
          215  +  font-size: 10pt;
          216  +}
          217  +
          218  +.messageText{ 
          219  +  font-size: 10pt;
          220  + }
          221  +
          222  +.ethLogo{ 
          223  +  position: absolute; 
          224  +  bottom: 20pt; 
          225  +  left: auto;
          226  + }
          227  +
          228  +.code { 
          229  +  font-family: monospace;
          230  + }
          231  +
          232  +/***********************************************************************
          233  + * LINKS 
          234  + ***********************************************************************/
          235  +
          236  +.nav_link {
          237  +  font-family: Verdana, Arial, Helvetica, sans-serif;
          238  +  color: #000077;
          239  +  font-weight: normal;
          240  +  text-decoration: none;
          241  +  border-bottom: none;
          242  +  font-variant: small-caps;
          243  +}
          244  +
          245  +.nav_link:hover{
          246  +  color: rgb(160, 0, 0);
          247  +}
          248  +
          249  +.selected_nav_link {
          250  +	font-family: Verdana, Arial, Helvetica, sans-serif;
          251  +	color: rgb(160, 0, 0);
          252  +	font-weight: normal;
          253  +	text-decoration: none;
          254  +	border-bottom: none;
          255  +}
          256  +
          257  +.nav_link_subtitle {
          258  +  font-family: Verdana, Arial, Helvetica, sans-serif;
          259  +  font-size: 14pt;
          260  +  color: #000077;
          261  +  font-weight: normal;
          262  +  text-decoration: none;
          263  +  border-bottom: none;
          264  +  font-variant: small-caps;
          265  +}
          266  +
          267  +.nav_link_subtitle:hover{
          268  +  color: rgb(160, 0, 0);
          269  +}
          270  +
          271  +.nav_link_subsubtitle {
          272  +  font-family: Verdana, Arial, Helvetica, sans-serif;
          273  +  font-size: 12pt;
          274  +  color: #000077;
          275  +  font-weight: bold;
          276  +  text-decoration: none;
          277  +  border-bottom: none;
          278  +  font-variant: small-caps;
          279  +}
          280  +
          281  +.nav_link_subsubtitle:hover{
          282  +  color: rgb(160, 0, 0);
          283  +}
          284  +
          285  +.nav_link_header {
          286  +  font-family: Verdana, Arial, Helvetica, sans-serif;
          287  +  font-size: 14pt;
          288  +  color: #000077;
          289  +  font-weight: normal;
          290  +  text-decoration: none;
          291  +  border-bottom: none;
          292  +}
          293  +
          294  +.nav_link_header:hover{
          295  +  color: rgb(160, 0, 0);
          296  +}
          297  +
          298  +.note_nav_link {
          299  +  font-family: Verdana, Arial, Helvetica, sans-serif;
          300  +	font-size: 10pt;
          301  +	color: #000077;
          302  +	text-decoration: none;
          303  +	border-bottom: none;
          304  + }
          305  +
          306  +.note_nav_link:hover{
          307  +  color: rgb(160, 0, 0);
          308  +}
          309  +
          310  +.text_nav_link { 
          311  +  font-family: Verdana, Arial, Helvetica, sans-serif;
          312  +	font-size: 10pt;
          313  +	color: #000077;
          314  +	text-decoration: none;
          315  +	border-bottom: none;
          316  + }
          317  +
          318  +.text_nav_link:hover{
          319  +  color: rgb(160, 0, 0);
          320  +}
          321  +
          322  +.nav_link_tiny {
          323  +  font-family: Verdana, Arial, Helvetica, sans-serif;
          324  +  color: #000077;
          325  +  font-size: 8pt;
          326  +  font-weight: normal;
          327  +  text-decoration: none;
          328  +  border-bottom: none;
          329  +}
          330  +
          331  +.nav_link_tiny:hover{
          332  +  color: rgb(160, 0, 0);
          333  +}
          334  +
          335  +
          336  +/* MENU */
          337  +
          338  +a.MenuLink {
          339  +	font-family: Verdana, Arial, Helvetica, sans-serif;
          340  +	font-size: 12pt;
          341  +	color: #000077;
          342  +	font-weight: bold;
          343  +	text-decoration: none;
          344  +	border-bottom: none;
          345  +}
          346  +
          347  +a.MenuLink:hover{
          348  +  color: rgb(160, 0, 0);
          349  +}
          350  +
          351  +a.selected_MenuLink {
          352  +	font-family: Verdana, Arial, Helvetica, sans-serif;
          353  +	font-size: 12pt;
          354  +	color: rgb(160, 0, 0);
          355  +	font-weight: bold;
          356  +	text-decoration: none;
          357  +	border-bottom: none;
          358  +}
          359  +
          360  +a.SubMenuLink {
          361  +	font-family: Verdana, Arial, Helvetica, sans-serif;
          362  +	font-size: 10pt;
          363  +	color: #000077;
          364  +	font-weight: bold;
          365  +	text-decoration: none;
          366  +	border-bottom: none;
          367  +}
          368  +
          369  +a.SubMenuLink:hover{
          370  +  color: rgb(160, 0, 0);
          371  +}
          372  +
          373  +a.selected_SubMenuLink {
          374  +	font-family: Verdana, Arial, Helvetica, sans-serif;
          375  +	font-size: 10pt;
          376  +	color: rgb(160, 0, 0);
          377  +	font-weight: bold;
          378  +	text-decoration: none;
          379  +	border-bottom: none;
          380  +}
          381  +
          382  +a.SubSubMenuLink {
          383  +	font-family: Verdana, Arial, Helvetica, sans-serif;
          384  +	font-size: 10pt;
          385  +	color: #000077;
          386  +	font-weight: normal;
          387  +	text-decoration: none;
          388  +	border-bottom: none;
          389  +}
          390  +
          391  +a.SubSubMenuLink:hover{
          392  +  color: rgb(160, 0, 0);
          393  +}
          394  +

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/projectFolders.png version [d1b92a4a9e].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/screenshotSmall1.png version [674bc1362f].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/screenshotSmall2.png version [24fa71ce40].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/screenshotSmall3.png version [3dec9deb02].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/screenshotSmall4.png version [9f5c52890f].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/screenshotSmall5.png version [2e7e00ab5a].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/sflogo.php version [67f07a80a5].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/valid-html401.png version [224b239180].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/vcss.png version [b8def1379e].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/zoominimage.gif version [d9b408a3fe].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/zoomoutimage.gif version [e7f23f0671].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/zoomtofit.gif version [c742b5a052].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_all_in_one_Tutorial/index_files/zoomtofit3d.gif version [546fb3ea24].

cannot compute difference between binary files

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_wget_copy_of_http_disco_ethz_ch_projects_sinalgo/bonnet/disco.ethz.ch/alumni/aaronz.html version [fa7790e8e8].

            1  +<?xml version="1.0" encoding="utf-8"?>
            2  +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            3  +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4  +
            5  +<html xmlns="http://www.w3.org/1999/xhtml">
            6  +
            7  +<head>
            8  +	<title>Distributed Computing Group </title>
            9  +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           10  +        <meta http-equiv="Content-Style-Type" content="text/css" />
           11  +        <meta http-equiv="Content-Script-Type" content="text/javascript" />
           12  +	<meta name="author" content="user" />
           13  +	<meta name="description" content="Distributed Computing Group" />
           14  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, disco" />
           15  +    	<meta name="robots" content="noarchive" />
           16  +    	<link rel="shortcut icon" href="../images/favicon.gif" />
           17  +	<meta name='B-verify' content='7f691552aa36eb0d977e5a33e088439dfa1ad843' />
           18  +	
           19  +    <!-- ************************************************************************************************************************************************ -->
           20  +    <!-- BEGIN discoHead include -->
           21  +	        <!-- ************************************************************************************************************************************************ -->
           22  +        <!-- BEGIN cascading style sheets (CSS) -->
           23  +		<style type="text/css">
           24  +		/*<![CDATA[*/
           25  +			@import url(../css/ns4.css);
           26  +			@import url(../css/colors_c010.css);
           27  +			@import url(../css/modernbrowsers.css);
           28  +			@import url(../css/silva.css);
           29  +			@import url(../css/customstyles.css);
           30  +			@import url(../css/disco.css);
           31  +		/*]]>*/
           32  +		</style>
           33  +		<style type="text/css">
           34  +		/*<![CDATA[*/
           35  +			.logo-bg  {
           36  +				background-image: url(../images/screen_disco_glow_04-01.jpg); background-repeat: no-repeat;
           37  +			}
           38  +			.logo-bg1 {
           39  +				background-image: url(../images/screen_disco_glow_04-02.jpg); background-repeat: no-repeat;
           40  +			}
           41  +			/*div.identity-image  {
           42  +				background-image: url(/images/screen_disco_glow_04.jpg); background-repeat: repeat
           43  +			}*/
           44  +			.mainnav, .screenhead, .color5-back, .color4-back, .color3-back, .color2-back, .color1-back, .servicenav, .transparent  {
           45  +				background-image: url(../images/transparent.gif)
           46  +			}
           47  +			body {
           48  +				margin:0;
           49  +				padding:0;
           50  +			}
           51  +		/*]]>*/
           52  +		</style>
           53  +        <style media="print">
           54  +		/*<![CDATA[*/
           55  +        	@import url(../css/print.css);
           56  +		/*]]>*/
           57  +         </style>
           58  +        <!-- END cascading style sheets (CSS) -->
           59  +        <!-- ************************************************************************************************************************************************ -->
           60  +        <!-- BEGIN script slot -->
           61  +    <!-- END script slot -->
           62  +    <!-- END discoHead include -->
           63  +    <!-- ************************************************************************************************************************************************ -->
           64  +
           65  +</head>
           66  +
           67  +<body bgcolor="#ffffff" text="#000000" link="#0000e0" vlink="#0000e0" alink="#00a000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" >
           68  +    <a id="top" name="top" />
           69  +    <map name="Map" id="Map">
           70  +       <area shape="rect" coords="2,28,212,51" href="../index.html" target="_self" alt="Distributed Computing Group" />
           71  +     </map>
           72  +    <map name="Map2" id="Map2">
           73  +      <area shape="rect" coords="9,25,198,78" href="../index.html" target="_self" alt="Distributed Computing Group" />
           74  +    </map>
           75  +
           76  +	<table border="0" cellspacing="0" cellpadding="0" width="100%">
           77  +      <tr>
           78  +        <td width="220" style="background-image:url(../images/screen_disco_glow_04-01.jpg)"><img src="../images/eth_logo_white_04.png" alt="ETH Zurich" width="220" height="105" border="0" usemap="#Map2" /></td>
           79  +        <td width="100%" valign="top" style="background-image:url(../images/screen_disco_glow_04-02.jpg)"><img src="../images/disco_text_01a.png" alt="Distributed Computing Group" width="452" height="54" border="0" usemap="#Map" /></td>
           80  +      </tr>
           81  +    </table></td>
           82  +</tr>
           83  +  <tr>
           84  +    <td>
           85  +<!-- START path -->
           86  +		<div class="pathline">
           87  +			<a class="path" href="http://www.ethz.ch/" title="ETH Zurich">ETH Zurich</a> – <a class="path" href="http://www.ee.ethz.ch/" title="Department of Electrical Engineering (ITET)">ITET</a> – <a class="path" href="http://www.tik.ee.ethz.ch/" title="Computer Engineering and Networks Laboratory (TIK)">TIK</a> – <a class="path" href="../index.html" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a>
           88  +            <span style="color:black;"> – <a class="path" href="index.html">Alumni</a> – <a class="path" href="aaronz.html">Aaron Zollinger</a></span>
           89  +			</div>
           90  +<!-- END Pathline -->
           91  +    </td>
           92  +  </tr>
           93  +<tr>
           94  +    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
           95  +      <tr>
           96  +        <td width="220"><br /><table border="0" cellspacing="0" cellpadding="4" width="220px">
           97  +          <tr>
           98  +            <td align="right"><a class="navigation" href="../index.html"><b>HOME </b></a></td>
           99  +            <td align="right"><img src="../images/transparent.gif" border="0" width="10" /></td>
          100  +          </tr>
          101  +          <tr>
          102  +            <td align="right"><a class="navigation" href="index.html"><b>MEMBERS </b></a></td>
          103  +            <td align="right">&nbsp;</td>
          104  +          </tr>
          105  +          <tr>
          106  +            <td align="right"><a class="navigation" href="../publications.html"><b>PUBLICATIONS </b></a></td>
          107  +            <td align="right">&nbsp;</td>
          108  +          </tr>
          109  +          <tr>
          110  +            <td align="right"><a class="navigation" href="../lectures/fs10/index.html"><b>COURSES </b></a></td>
          111  +            <td align="right">&nbsp;</td>
          112  +          </tr>
          113  +          <tr>
          114  +            <td align="right"><a class="navigation" href="../theses.html"><b>THESES </b></a></td>
          115  +            <td align="right">&nbsp;</td>
          116  +          </tr>
          117  +          <tr>
          118  +            <td align="right"><a class="navigation" href="https://wiki.disco.ethz.ch"><b>WIKI </b></a></td>
          119  +            <td align="right">&nbsp;</td>
          120  +          </tr>
          121  +          <tr>
          122  +            <td align="right"><a class="navigation" href="../contact.html"><b>CONTACT </b></a></td>
          123  +            <td align="right">&nbsp;</td>
          124  +          </tr>
          125  +          <tr>
          126  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          127  +            <td align="right">&nbsp;</td>
          128  +          </tr>
          129  +          <tr>
          130  +            <td align="right"><b>SOFTWARE & APPS</b></td>
          131  +            <td align="right">&nbsp;</td>
          132  +          </tr>
          133  +          <tr>
          134  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/beng" target="_blank"><b>benG</b></a></td>
          135  +            <td align="right">&nbsp;</td>
          136  +          </tr>
          137  +          <tr>
          138  +            <td align="right"><a class="navigation" href="http://www.bitthief.ethz.ch/" target="_blank"><b>BitThief</b></a></td>
          139  +            <td align="right">&nbsp;</td>
          140  +          </tr>
          141  +          <tr>
          142  +            <td align="right"><a class="navigation" href="http://www.confsearch.org" target="_blank"><b>Conference Search</b></a></td>
          143  +            <td align="right">&nbsp;</td>
          144  +          </tr>
          145  +           <tr>
          146  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.disco.gino.androidbenchmarkaccessibilityrecorder&hl=en" target="_blank"><b>DiscoMark</b></a></td>
          147  +            <td align="right">&nbsp;</td>
          148  +          </tr>
          149  +          <tr>
          150  +            <td align="right"><a class="navigation" href="http://www.jukefox.org/" target="_blank"><b>jukefox</b></a></td>
          151  +            <td align="right">&nbsp;</td>
          152  +          </tr>
          153  +          <tr>
          154  +            <td align="right"><a class="navigation" href="https://kaennsch.me" target="_blank"><b>Kännsch</b></a></td>
          155  +            <td align="right">&nbsp;</td>
          156  +          </tr>
          157  +          <tr>
          158  +          <tr>
          159  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/scs" target="_blank"><b>Smart Cloud Storage</b></a></td>
          160  +            <td align="right">&nbsp;</td>
          161  +          </tr>
          162  +          <tr>
          163  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.vinzensg.newspaper20&hl=en" target="_blank"><b>Newspaper 2.0</b></a></td>
          164  +            <td align="right">&nbsp;</td>
          165  +          </tr>
          166  +          <tr>
          167  +            <td align="right"><a class="navigation" href="../projects/sinalgo.1.html" target="_blank"><b>Sinalgo</b></a></td>
          168  +            <td align="right">&nbsp;</td>
          169  +          </tr>
          170  +          <tr>
          171  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ethz.ba.androidClient" target="_blank"><b>sound mate</b></a></td>
          172  +            <td align="right">&nbsp;</td>
          173  +          </tr>
          174  +           <tr>
          175  +            <td align="right"><a class="navigation" href="http://tos-ide.ethz.ch/" target="_blank"><b>TinyOS IDE </b></a></td>
          176  +            <td align="right">&nbsp;</td>
          177  +          </tr>
          178  +          <!--<tr>
          179  +            <td align="right"><a class="navigation" href="/theory.html" target="_self"><b>Theory</b></a></td>
          180  +            <td align="right">&nbsp;</td>
          181  +          </tr>-->
          182  +          <tr>
          183  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          184  +            <td align="right">&nbsp;</td>
          185  +          </tr>
          186  +          <tr>
          187  +            <td align="right"><b>SPIN-OFFs</b></td>
          188  +            <td align="right">&nbsp;</td>
          189  +          </tr>
          190  +          <tr>
          191  +            <td align="right"><a class="navigation" href="http://sunbeat-uv.com/" target="_blank"><b>BitSplitters</b></a></td>
          192  +            <td align="right">&nbsp;</td>
          193  +          </tr>
          194  +          <tr>
          195  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          196  +            <td align="right">&nbsp;</td>
          197  +          </tr>
          198  +          <tr>
          199  +            <td align="right"><b>FORMER</b></td>
          200  +            <td align="right">&nbsp;</td>
          201  +          </tr>
          202  +          <tr>
          203  +            <td align="right"><a class="navigation" href="http://sourceforge.net/projects/spamato/" target="_blank"><b>Spamato</b></a></td>
          204  +            <td align="right">&nbsp;</td>
          205  +          </tr>
          206  +          <tr>
          207  +      <td align="right"><a class="navigation" href="http://www.venturekick.ch/index.cfm?page=129733&profil_id=986" target="_blank"><b>StreamForge</b></a></td>
          208  +            <td align="right">&nbsp;</td>
          209  +          <tr>
          210  +            <td align="right"><a class="navigation" href="https://en.wikipedia.org/wiki/Wuala" target="_blank"><b>Wuala</b></a></td>
          211  +            <td align="right">&nbsp;</td>
          212  +          </tr>
          213  +        </table></td>
          214  +        <td style="padding: 18px 18px 18px 0;">
          215  +        <!-- BEGIN MAIN CONTENT -->
          216  +
          217  +
          218  +<!-- start of Main Page: Do not change above this line!-->
          219  +
          220  +<table border="0" width="100%">
          221  +<tr><td width="400">
          222  +
          223  +<H3>Dr. sc.</H3>
          224  +<H1>Aaron Zollinger</H1>
          225  +<p>
          226  +	email <script type="text/javascript">
          227  +/*<![CDATA[*/
          228  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%7a%6f%6c%6c%69%6e%67%65%72%40%67%6f%6f%67%6c%65%2e%63%6f%6d%22%3e%7a%6f%6c%6c%69%6e%67%65%72%40%67%6f%6f%67%6c%65%2e%63%6f%6d%3c%2f%61%3e%27%29'))
          229  +/*]]>*/
          230  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript><br><br>
          231  +</p>
          232  +</td>
          233  +<td valign="top" halign="left">
          234  +<br><br><br>
          235  +<img  onMouseover="this.src='../pics/dr_aaron.jpg'" onMouseout="this.src='../pics/aaron.jpg'" height="200" width="150" border="0" alt="Aaron Zollinger" src="../pics/aaron.jpg">
          236  +</td>
          237  +</tr>
          238  +</table>
          239  +
          240  +<h3>Publications</h3>
          241  +<ul type="circle">
          242  +	<li style="margin-bottom:5px;"><a href="../publications/TON09.pdf">Algorithmic Models of Interference in Wireless Ad Hoc and Sensor Networks</a>
          243  +		<br />
          244  +		Pascal von Rickenbach, Roger Wattenhofer, and Aaron Zollinger.<br />
          245  +		IEEE/ACM Transactions on Networking, Volume 17, Number 1, February 2009.<br />
          246  +		Documents: paper <a href="../publications/TON09.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=436.html" target="_blank">bibtex</a><br />
          247  +	</li>
          248  +	<li style="margin-bottom:5px;"><a href="../publications/wireless&#32;2008_-1.pdf">Ad hoc networks beyond unit disk graphs</a>
          249  +		<br />
          250  +		Fabian Kuhn,  Roger Wattenhofer, and  Aaron Zollinger.<br />
          251  +		Wireless Networks 14, October 2008.<br />
          252  +		Documents: paper <a href="../publications/wireless&#32;2008_-1.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=403.html" target="_blank">bibtex</a><br />
          253  +	</li>
          254  +	<li style="margin-bottom:5px;"><a href="../publications/ton2008_-1.pdf">An algorithmic approach to geographic routing in ad hoc and sensor networks</a>
          255  +		<br />
          256  +		Fabian Kuhn,  Roger Wattenhofer, and  Aaron Zollinger.<br />
          257  +		IEEE/ACM Transactions on Networking, Vol 16, Number 1, February 2008.<br />
          258  +		Documents: paper <a href="../publications/ton2008_-1.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=323.html" target="_blank">bibtex</a><br />
          259  +	</li>
          260  +	<li style="margin-bottom:5px;"><a href="../publications/mobihoc06b.pdf">Topology Control Meets SINR: The Scheduling Complexity of Arbitrary Topologies</a>
          261  +		<br />
          262  +		Thomas Moscibroda, Roger Wattenhofer, and Aaron Zollinger.<br />
          263  +		7th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MOBIHOC), Florence, Italy, May 2006.<br />
          264  +		Documents: paper <a href="../publications/mobihoc06b.pdf">pdf</a> slides <a href="../publications/mobihoc06b_slides.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=191.html" target="_blank">bibtex</a><br />
          265  +	</li>
          266  +	<li style="margin-bottom:5px;"><a href="../publications/dissaaron05.pdf">Networking Unleashed: Geographic Routing and Topology Control in Ad Hoc and Sensor Networks</a>
          267  +		<br />
          268  +		Aaron Zollinger.<br />
          269  +		PhD Thesis, ETH Zurich, Diss. ETH No. 16025, September 2005.<br />
          270  +		Documents: paper <a href="../publications/dissaaron05.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=160.html" target="_blank">bibtex</a><br />
          271  +	</li>
          272  +	<li style="margin-bottom:5px;"><a href="../publications/cocoon05.pdf">Interference in Cellular Networks: The Minimum Membership Set Cover Problem</a>
          273  +		<br />
          274  +		Fabian Kuhn, Pascal von Rickenbach, Roger Wattenhofer, Emo Welzl, and Aaron Zollinger.<br />
          275  +		11th International Computing and Combinatorics Conference (COCOON), Kunming, Yunnan, China, August 2005.<br />
          276  +		Documents: paper <a href="../publications/cocoon05.pdf">pdf</a> <a href="../publications/cocoon05.ps">ps</a> meta <a href="../publication_details.html%3Fid=145.html" target="_blank">bibtex</a><br />
          277  +	</li>
          278  +	<li style="margin-bottom:5px;"><a href="../publications/edmedia05.pdf">SANS: A Simple Ad hoc Network Simulator</a>
          279  +		<br />
          280  +		Nicolas Burri, Roger Wattenhofer, Yves Weber, and Aaron Zollinger.<br />
          281  +		World Conference on Educational Multimedia, Hypermedia & Telecommunications (ED-MEDIA), Montreal, Canada, June/July 2005.<br />
          282  +		Documents: paper <a href="../publications/edmedia05.pdf">pdf</a> slides <a href="../publications/edmedia2005.pdf">pdf</a> <a href="../publications/edmedia2005.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=130.html" target="_blank">bibtex</a><br />
          283  +	</li>
          284  +	<li style="margin-bottom:5px;"><a href="../publications/wirelesscom05.pdf">Interference Arises at the Receiver</a>
          285  +		<br />
          286  +		Martin Fussen, Roger Wattenhofer, and Aaron Zollinger.<br />
          287  +		International Conference on Wireless Networks, Communications, and Mobile Computing (WIRELESSCOM), Maui, Hawaii, USA, June 2005.<br />
          288  +		Documents: paper <a href="../publications/wirelesscom05.pdf">pdf</a> <a href="../publications/wirelesscom05.ps">ps</a> meta <a href="../publication_details.html%3Fid=124.html" target="_blank">bibtex</a><br />
          289  +	</li>
          290  +	<li style="margin-bottom:5px;"><a href="../publications/sawn05.pdf">Received-Signal-Strength-Based Logical Positioning Resilient to Signal Fluctuation</a>
          291  +		<br />
          292  +		Thomas Locher, Roger Wattenhofer, and Aaron Zollinger.<br />
          293  +		1st ACIS International Workshop on Self-Assembling Wireless Sensor Networks (SAWN), Baltimore, Maryland, USA, May 2005.<br />
          294  +		Documents: paper <a href="../publications/sawn05.pdf">pdf</a> <a href="../publications/sawn05.ps">ps</a> meta <a href="../publication_details.html%3Fid=122.html" target="_blank">bibtex</a><br />
          295  +	</li>
          296  +	<li style="margin-bottom:5px;"><a href="../publications/wman05a.pdf">A Robust Interference Model for Wireless Ad-Hoc Networks</a>
          297  +		<br />
          298  +		Pascal von Rickenbach, Stefan Schmid, Roger Wattenhofer, and Aaron Zollinger.<br />
          299  +		5th International Workshop on Algorithms for Wireless, Mobile, Ad Hoc and Sensor Networks (WMAN), Denver, Colorado, USA, April 2005.<br />
          300  +		Documents: paper <a href="../publications/wman05a.pdf">pdf</a> <a href="../publications/wman05a.ps">ps</a> slides <a href="../publications/wman05a_slides.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=118.html" target="_blank">bibtex</a><br />
          301  +	</li>
          302  +	<li style="margin-bottom:5px;"><a href="../publications/p7125-burkhart.pdf">Does Topology Control Reduce Interference?</a>
          303  +		<br />
          304  +		Martin Burkhart, Pascal von Rickenbach, Roger Wattenhofer, and Aaron Zollinger.<br />
          305  +		5th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MOBIHOC), Roppongi Hills, Tokyo, Japan, May 2004.<br />
          306  +		Documents: paper <a href="../publications/p7125-burkhart.pdf">pdf</a> <a href="../publications/p7125-burkhart.ps">ps</a> slides <a href="../publications/mobihoc04_slides.pdf">pdf</a> <a href="../publications/mobihoc04_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=77.html" target="_blank">bibtex</a><br />
          307  +	</li>
          308  +	<li style="margin-bottom:5px;"><a href="../publications/wman04.pdf">XTC: A Practical Topology Control Algorithm for Ad-Hoc Networks</a>
          309  +		<br />
          310  +		Roger Wattenhofer and Aaron Zollinger.<br />
          311  +		4th International Workshop on Algorithms for Wireless, Mobile, Ad Hoc and Sensor Networks (WMAN), Santa Fe, New Mexico, April 2004.<br />
          312  +		Documents: paper <a href="../publications/wman04.pdf">pdf</a> <a href="../publications/wman04.ps">ps</a> slides <a href="../publications/wman04_slides.pdf">pdf</a> <a href="../publications/wman04_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=75.html" target="_blank">bibtex</a><br />
          313  +	</li>
          314  +	<li style="margin-bottom:5px;"><a href="../publications/multimediastreams.pdf">Interactive Multimedia Streams in Distributed Applications</a>
          315  +		<br />
          316  +		Edouard Lamboray, Aaron Zollinger, Oliver G. Staadt, and Markus Gross.<br />
          317  +		Computers & Graphics, Volume 27, Number 5 (2003), pp. 735-745, October 2003.<br />
          318  +		Documents: paper <a href="../publications/multimediastreams.pdf">pdf</a> <a href="../publications/multimediastreams.ps">ps</a> meta <a href="../publication_details.html%3Fid=52.html" target="_blank">bibtex</a><br />
          319  +	</li>
          320  +	<li style="margin-bottom:5px;"><a href="../publications/dialm03.pdf">Ad-Hoc Networks Beyond Unit Disk Graphs</a>
          321  +		<br />
          322  +		Fabian Kuhn, Roger Wattenhofer, and Aaron Zollinger.<br />
          323  +		1st ACM Joint Workshop on Foundations of Mobile Computing (DIALM-POMC), San Diego, California, USA, September 2003.<br />
          324  +		Documents: paper <a href="../publications/dialm03.pdf">pdf</a> <a href="../publications/dialm03.ps">ps</a> slides <a href="../publications/dialmpomc03_slides.pdf">pdf</a> <a href="../publications/dialmpomc03_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=50.html" target="_blank">bibtex</a><br />
          325  +	</li>
          326  +	<li style="margin-bottom:5px;"><a href="../publications/podc03b.pdf">Geometric Ad-Hoc Routing: Of Theory and Practice</a>
          327  +		<br />
          328  +		Fabian Kuhn, Roger Wattenhofer, Yan Zhang, and Aaron Zollinger.<br />
          329  +		22nd ACM Symposium on the Principles of Distributed Computing (PODC), Boston, Massachusetts, USA, July 2003.<br />
          330  +		Documents: paper <a href="../publications/podc03b.pdf">pdf</a> <a href="../publications/podc03b.ps">ps</a> slides <a href="../publications/podc03b_slides.pdf">pdf</a> <a href="../publications/podc03b_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=46.html" target="_blank">bibtex</a><br />
          331  +	</li>
          332  +	<li style="margin-bottom:5px;"><a href="../publications/mobihoc03.pdf">Worst-Case Optimal and Average-Case Efficient Geometric Ad-Hoc Routing</a>
          333  +		<br />
          334  +		Fabian Kuhn, Roger Wattenhofer, and Aaron Zollinger.<br />
          335  +		4th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MOBIHOC), Annapolis, Maryland, USA, June 2003.<br />
          336  +		Documents: paper <a href="../publications/mobihoc03.pdf">pdf</a> <a href="../publications/mobihoc03.ps">ps</a> slides <a href="../publications/mobihoc03_slides.pdf">pdf</a> <a href="../publications/mobihoc03_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=44.html" target="_blank">bibtex</a><br />
          337  +	</li>
          338  +	<li style="margin-bottom:5px;"><a href="../publications/dialm02.pdf">Asymptotically Optimal Geometric Mobile Ad-Hoc Routing</a>
          339  +		<br />
          340  +		Fabian Kuhn, Roger Wattenhofer, and Aaron Zollinger.<br />
          341  +		6th International Workshop on Discrete Algorithms and Methods for Mobile Computing and Communications (DIALM), Atlanta, Georgia, September 2002.<br />
          342  +		Documents: paper <a href="../publications/dialm02.pdf">pdf</a> <a href="../publications/dialm02.ps">ps</a> slides <a href="../publications/dialm02_slides.pdf">pdf</a> <a href="../publications/dialm02_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=40.html" target="_blank">bibtex</a><br />
          343  +	</li>
          344  +	<li style="margin-bottom:5px;"><a href="../publications/SIROCCO02.pdf">Towards a Theory of Peer-to-Peer Computability</a>
          345  +		<br />
          346  +		Joachim Giesen, Roger Wattenhofer, and Aaron Zollinger.<br />
          347  +		9th International Colloquium on Structural Information and Communication (SIROCCO), Andros, Greece, June 2002.<br />
          348  +		Documents: paper <a href="../publications/SIROCCO02.pdf">pdf</a> <a href="../publications/SIROCCO02.ps">ps</a> slides <a href="../publications/sirocco02_slides.pdf">pdf</a> <a href="../publications/sirocco02_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=36.html" target="_blank">bibtex</a><br />
          349  +	</li>
          350  +</ul><p>&nbsp;</p>
          351  +<h3>Theses &amp; Labs</h3>
          352  +		<table border="0" width="100%" cellspacing="0" cellpadding="10">
          353  +		<tr>
          354  +			<td colspan="6" valign="top" align="left">
          355  +				<p class="topic">available theses &amp; labs</p>
          356  +			</td>
          357  +		</tr>
          358  +
          359  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          360  +
          361  +		<tr>
          362  +			<th class="noline" width="2%">&nbsp;</th>
          363  +			<th width="35%">title</th>
          364  +			<th width="10%">type</th>
          365  +			<th width="20%">contact/supervisor</th>
          366  +			<th width="13%">assigned</th>
          367  +			<th width="20%">&nbsp;</th>
          368  +		</tr>
          369  +
          370  +		
          371  +		<tr>
          372  +			<td colspan="6" valign="top" align="left">
          373  +				<p class="topic">current theses &amp; labs</p>
          374  +			</td>
          375  +		</tr>
          376  +
          377  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          378  +
          379  +		<tr>
          380  +			<th class="noline">&nbsp;</th>
          381  +			<th>title</th>
          382  +			<th>type</th>
          383  +			<th>contact/supervisor</th>
          384  +			<th>assigned</th>
          385  +			<th>student(s)</th>
          386  +		</tr>
          387  +
          388  +		
          389  +		<tr>
          390  +			<td colspan="6" valign="top" align="left">
          391  +				<p class="topic">past theses &amp; labs</p>
          392  +			</td>
          393  +		</tr>
          394  +
          395  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          396  +
          397  +		<tr>
          398  +			<th class="noline">&nbsp;</th>
          399  +			<th>title</th>
          400  +			<th>type</th>
          401  +			<th>supervisor</th>
          402  +			<th>year</th>
          403  +			<th>student(s)</th>
          404  +		</tr>
          405  +
          406  +		<tr>
          407  +<td valign="top" align="left""><a href="../theses/ws0405/gps_ipaq_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          408  +<td valign="top" align="left" class="line">GPS on IPAQ (<a href="../theses/ws0405/gps_ipaq_report.pdf">report</a>, <a href="../theses/ws0405/gps_ipaq.pdf">bait</a>)</td>
          409  +<td valign="top" align="left" class="line">S</td>
          410  +<td valign="top" align="left" class="line"><a href="http://disco.ethz.ch/members/.html">Aaron Zollinger</a></td>
          411  +<td valign="top" align="left" class="line">WS 04/05</td>
          412  +<td valign="top" align="left" class="line"><script type="text/javascript">
          413  +/*<![CDATA[*/
          414  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%66%72%65%79%70%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%50%68%69%6c%69%70%20%46%72%65%79%3c%2f%61%3e%27%29'))
          415  +/*]]>*/
          416  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          417  +</tr>
          418  +<tr>
          419  +<td valign="top" align="left""><a href="../theses/ws0405/esb_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          420  +<td valign="top" align="left" class="bottom">Radio Communication with ScatterWeb Sensor Boards (<a href="../theses/ws0405/esb_report.pdf">report</a>)</td>
          421  +<td valign="top" align="left" class="bottom">S</td>
          422  +<td valign="top" align="left" class="bottom"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          423  +<td valign="top" align="left" class="bottom">WS 04/05</td>
          424  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          425  +/*<![CDATA[*/
          426  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%66%6c%79%6e%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%46%72%61%6e%6b%20%4c%79%6e%65%72%3c%2f%61%3e%27%29'))
          427  +/*]]>*/
          428  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          429  +</tr>
          430  +<tr>
          431  +<td valign="top" align="left""><a href="../theses/ss04/wlan_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          432  +<td valign="top" align="left" class="line">Positioning with WLAN (<a href="../theses/ss04/wlan_report.pdf">report</a>)</td>
          433  +<td valign="top" align="left" class="line">S</td>
          434  +<td valign="top" align="left" class="line"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          435  +<td valign="top" align="left" class="line">SS 04</td>
          436  +<td valign="top" align="left" class="line"><script type="text/javascript">
          437  +/*<![CDATA[*/
          438  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6c%6f%63%68%65%72%74%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%54%68%6f%6d%61%73%20%4c%6f%63%68%65%72%3c%2f%61%3e%27%29'))
          439  +/*]]>*/
          440  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          441  +</tr>
          442  +<tr>
          443  +<td valign="top" align="left""><a href="../theses/ss04/redpia_lab_bait.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          444  +<td valign="top" align="left" class="line">Reliable, Extensible, and Distributed Platform for Internet Applications (<a href="../theses/ss04/redpia_lab_report.pdf">german report</a>, <a href="../theses/ss04/redpia_lab_bait.pdf">bait</a>)</td>
          445  +<td valign="top" align="left" class="line">L</td>
          446  +<td valign="top" align="left" class="line"><a href="../members/keno.html">Keno Albrecht</a>,<br><a href="../members/aaron.html">Aaron Zollinger</a></td>
          447  +<td valign="top" align="left" class="line">SS 04</td>
          448  +<td valign="top" align="left" class="line">Markus Egli,<br><script type="text/javascript">
          449  +/*<![CDATA[*/
          450  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%68%6f%64%61%6e%69%65%6c%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%44%61%6e%69%65%6c%20%48%6f%74%74%69%6e%67%65%72%3c%2f%61%3e%27%29'))
          451  +/*]]>*/
          452  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br>Till Kleisli,<br><script type="text/javascript">
          453  +/*<![CDATA[*/
          454  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%66%61%62%69%6f%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%46%61%62%69%6f%20%4c%61%6e%66%72%61%6e%63%68%69%3c%2f%61%3e%27%29'))
          455  +/*]]>*/
          456  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          457  +/*<![CDATA[*/
          458  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%72%6d%65%74%7a%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%52%6f%6d%61%6e%20%4d%65%74%7a%3c%2f%61%3e%27%29'))
          459  +/*]]>*/
          460  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          461  +/*<![CDATA[*/
          462  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%7a%69%73%6d%65%79%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%46%72%61%6e%7a%69%73%6b%61%20%4d%65%79%65%72%3c%2f%61%3e%27%29'))
          463  +/*]]>*/
          464  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          465  +/*<![CDATA[*/
          466  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6c%6f%65%72%74%6c%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4c%75%6b%61%73%20%4f%65%72%74%6c%65%3c%2f%61%3e%27%29'))
          467  +/*]]>*/
          468  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          469  +/*<![CDATA[*/
          470  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%66%65%61%6e%64%72%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%41%6e%64%72%65%61%73%20%50%66%65%6e%6e%69%6e%67%65%72%3c%2f%61%3e%27%29'))
          471  +/*]]>*/
          472  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          473  +</tr>
          474  +<tr>
          475  +<td valign="top" align="left""><a href="../theses/ss04/sensornetworks_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          476  +<td valign="top" align="left" class="bottom">Sensor Networks: Interference Reduction and Possible Applications (<a href="../theses/ss04/sensornetworks_report.pdf">report</a>)</td>
          477  +<td valign="top" align="left" class="bottom">D</td>
          478  +<td valign="top" align="left" class="bottom"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          479  +<td valign="top" align="left" class="bottom">SS 04</td>
          480  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          481  +/*<![CDATA[*/
          482  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%61%72%74%69%6e%40%66%75%73%73%65%6e%2e%63%68%22%3e%4d%61%72%74%69%6e%20%46%75%73%73%65%6e%3c%2f%61%3e%27%29'))
          483  +/*]]>*/
          484  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          485  +</tr>
          486  +<tr>
          487  +<td valign="top" align="left""><a href="../theses/ws0304/net-sim_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          488  +<td valign="top" align="left" class="line">Development and Testing Layer for Ad-Hoc Networks in Java (<a href="../theses/ws0304/net-sim_report.pdf">report</a>, <a href="../theses/ws0304/net-sim.pdf">bait</a>)</td>
          489  +<td valign="top" align="left" class="line">S</td>
          490  +<td valign="top" align="left" class="line"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          491  +<td valign="top" align="left" class="line">WS 03/04</td>
          492  +<td valign="top" align="left" class="line"><script type="text/javascript">
          493  +/*<![CDATA[*/
          494  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%77%65%62%65%72%79%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%59%76%65%73%20%57%65%62%65%72%3c%2f%61%3e%27%29'))
          495  +/*]]>*/
          496  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          497  +</tr>
          498  +<tr>
          499  +<td valign="top" align="left""><a href="../theses/ws0304/interference_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          500  +<td valign="top" align="left" class="bottom">Interference and Topology Control in Ad-Hoc Networks (<a href="../theses/ws0304/interference_report.pdf">report</a>)</td>
          501  +<td valign="top" align="left" class="bottom">M</td>
          502  +<td valign="top" align="left" class="bottom"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          503  +<td valign="top" align="left" class="bottom">WS 03/04</td>
          504  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          505  +/*<![CDATA[*/
          506  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%61%73%63%61%6c%76%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%50%61%73%63%61%6c%20%76%6f%6e%20%52%69%63%6b%65%6e%62%61%63%68%3c%2f%61%3e%27%29'))
          507  +/*]]>*/
          508  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          509  +</tr>
          510  +<tr>
          511  +<td valign="top" align="left""><a href="../theses/ss03/adhocTopology_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          512  +<td valign="top" align="left" class="line">Analysis of Interference in Ad-Hoc Networks (<a href="../theses/ss03/adhocTopology_assignment.pdf">assignment</a>, <a href="../theses/ss03/adhocTopology_report.pdf">report</a>)</td>
          513  +<td valign="top" align="left" class="line">D</td>
          514  +<td valign="top" align="left" class="line"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          515  +<td valign="top" align="left" class="line">SS 03</td>
          516  +<td valign="top" align="left" class="line"><script type="text/javascript">
          517  +/*<![CDATA[*/
          518  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%75%6d%61%72%74%69%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%61%72%74%69%6e%20%42%75%72%6b%68%61%72%74%3c%2f%61%3e%27%29'))
          519  +/*]]>*/
          520  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          521  +</tr>
          522  +<tr>
          523  +<td valign="top" align="left""><a href="../theses/ss03/adhocmeasurement_bait.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          524  +<td valign="top" align="left" class="line">Measurements for Ad-Hoc Modeling (<a href="../theses/ss03/adhocmeasurement_report.pdf">german report</a>, <a href="../theses/ss03/adhocmeasurement_bait.pdf">bait</a>)</td>
          525  +<td valign="top" align="left" class="line">S</td>
          526  +<td valign="top" align="left" class="line"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          527  +<td valign="top" align="left" class="line">SS 03</td>
          528  +<td valign="top" align="left" class="line"><script type="text/javascript">
          529  +/*<![CDATA[*/
          530  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%61%79%65%72%61%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%41%6e%64%72%65%20%42%61%79%65%72%3c%2f%61%3e%27%29'))
          531  +/*]]>*/
          532  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          533  +</tr>
          534  +<tr>
          535  +<td valign="top" align="left""><a href="../theses/ss03/ipaq_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          536  +<td valign="top" align="left" class="bottom">Wireless LAN IPAQ (<a href="../theses/ss03/ipaq_report.pdf">report</a>, <a href="../theses/ss03/ipaq_bait.pdf">bait</a>)</td>
          537  +<td valign="top" align="left" class="bottom">S</td>
          538  +<td valign="top" align="left" class="bottom"><a href="http://disco.ethz.ch/members/.html">Aaron Zollinger</a></td>
          539  +<td valign="top" align="left" class="bottom">SS 03</td>
          540  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          541  +/*<![CDATA[*/
          542  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%66%61%6d%62%75%72%72%69%40%6e%65%78%74%72%6f%6e%2e%63%68%22%3e%4e%69%63%6f%6c%61%73%20%42%75%72%72%69%3c%2f%61%3e%27%29'))
          543  +/*]]>*/
          544  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          545  +</tr>
          546  +<tr>
          547  +<td valign="top" align="left""><a href="../theses/ws0203/adhocGame_bait.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          548  +<td valign="top" align="left" class="line">Ad-Hoc Game (<a href="../theses/ws0203/adhocGame_report.pdf">german report</a>, <a href="../theses/ws0203/adhocGame_bait.pdf">bait</a>)</td>
          549  +<td valign="top" align="left" class="line">S</td>
          550  +<td valign="top" align="left" class="line"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          551  +<td valign="top" align="left" class="line">WS 02/03</td>
          552  +<td valign="top" align="left" class="line"><script type="text/javascript">
          553  +/*<![CDATA[*/
          554  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%67%65%67%65%6e%73%63%68%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%43%68%72%69%73%74%69%61%6e%20%47%65%67%65%6e%73%63%68%61%74%7a%3c%2f%61%3e%27%29'))
          555  +/*]]>*/
          556  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          557  +</tr>
          558  +<tr>
          559  +<td valign="top" align="left""><a href="../theses/ws0203/AdHocServices_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          560  +<td valign="top" align="left" class="bottom">Ad-Hoc Services (<a href="../theses/ws0203/AdHocServices_report.pdf">report</a>, <a href="../theses/ws0203/AdHocServices_bait.pdf">bait</a>)</td>
          561  +<td valign="top" align="left" class="bottom">S</td>
          562  +<td valign="top" align="left" class="bottom"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          563  +<td valign="top" align="left" class="bottom">WS 02/03</td>
          564  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          565  +/*<![CDATA[*/
          566  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%63%6d%40%69%6e%73%69%64%65%2d%77%65%62%2e%63%68%22%3e%4d%61%72%63%20%53%63%68%69%65%6c%79%3c%2f%61%3e%27%29'))
          567  +/*]]>*/
          568  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          569  +/*<![CDATA[*/
          570  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%63%6c%73%63%68%72%6f%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%43%6c%65%6d%65%6e%73%20%53%63%68%72%6f%65%64%74%65%72%3c%2f%61%3e%27%29'))
          571  +/*]]>*/
          572  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          573  +</tr>
          574  +<tr>
          575  +<td valign="top" align="left""><a href="../theses/ss02/AdHoc_Routing_bait.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          576  +<td valign="top" align="left" class="line">Routing in Ad-Hoc-Networks (<a href="../theses/ss02/AdHoc_Routing_report.pdf">german report</a>, <a href="../theses/ss02/AdHoc_Routing_bait.pdf">bait</a>)</td>
          577  +<td valign="top" align="left" class="line">S</td>
          578  +<td valign="top" align="left" class="line"><a href="../members/aaron.html">Aaron Zollinger</a></td>
          579  +<td valign="top" align="left" class="line">SS 02</td>
          580  +<td valign="top" align="left" class="line"><script type="text/javascript">
          581  +/*<![CDATA[*/
          582  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%67%6c%61%75%73%73%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%42%6a%6f%65%72%6e%20%47%6c%61%75%73%3c%2f%61%3e%27%29'))
          583  +/*]]>*/
          584  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          585  +</tr>
          586  +
          587  +		</table>
          588  +
          589  +		<table border="0" width="100%">
          590  +
          591  +<tr>
          592  +<td>
          593  +
          594  +<!-- add more content here... -->
          595  +&nbsp;
          596  +
          597  +</td>
          598  +</tr>
          599  +</table>
          600  +
          601  +
          602  +<!-- End of Page Body -->
          603  +	</td></tr>
          604  +</table>
          605  +
          606  +<!--<table border="0" cellspacing="0" cellpadding="0" width="99%" align="center">
          607  +	<tr><td style="font-size:8pt;" align="right" nowrap><br><br>&copy; <a href="/" style="font-size:8pt;">Distributed Computing Group</a></td></tr>
          608  +</table>-->

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_wget_copy_of_http_disco_ethz_ch_projects_sinalgo/bonnet/disco.ethz.ch/alumni/awetzel.html version [9cb2e3c7a1].

            1  +<?xml version="1.0" encoding="utf-8"?>
            2  +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            3  +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4  +
            5  +<html xmlns="http://www.w3.org/1999/xhtml">
            6  +
            7  +<head>
            8  +	<title>Andreas Wetzel </title>
            9  +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           10  +        <meta http-equiv="Content-Style-Type" content="text/css" />
           11  +        <meta http-equiv="Content-Script-Type" content="text/javascript" />
           12  +	<meta name="author" content="user" />
           13  +	<meta name="description" content="Distributed Computing Group" />
           14  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, disco" />
           15  +    	<meta name="robots" content="noarchive" />
           16  +    	<link rel="shortcut icon" href="../images/favicon.gif" />
           17  +	<meta name='B-verify' content='7f691552aa36eb0d977e5a33e088439dfa1ad843' />
           18  +	
           19  +    <!-- ************************************************************************************************************************************************ -->
           20  +    <!-- BEGIN discoHead include -->
           21  +	        <!-- ************************************************************************************************************************************************ -->
           22  +        <!-- BEGIN cascading style sheets (CSS) -->
           23  +		<style type="text/css">
           24  +		/*<![CDATA[*/
           25  +			@import url(../css/ns4.css);
           26  +			@import url(../css/colors_c010.css);
           27  +			@import url(../css/modernbrowsers.css);
           28  +			@import url(../css/silva.css);
           29  +			@import url(../css/customstyles.css);
           30  +			@import url(../css/disco.css);
           31  +		/*]]>*/
           32  +		</style>
           33  +		<style type="text/css">
           34  +		/*<![CDATA[*/
           35  +			.logo-bg  {
           36  +				background-image: url(../images/screen_disco_glow_04-01.jpg); background-repeat: no-repeat;
           37  +			}
           38  +			.logo-bg1 {
           39  +				background-image: url(../images/screen_disco_glow_04-02.jpg); background-repeat: no-repeat;
           40  +			}
           41  +			/*div.identity-image  {
           42  +				background-image: url(/images/screen_disco_glow_04.jpg); background-repeat: repeat
           43  +			}*/
           44  +			.mainnav, .screenhead, .color5-back, .color4-back, .color3-back, .color2-back, .color1-back, .servicenav, .transparent  {
           45  +				background-image: url(../images/transparent.gif)
           46  +			}
           47  +			body {
           48  +				margin:0;
           49  +				padding:0;
           50  +			}
           51  +		/*]]>*/
           52  +		</style>
           53  +        <style media="print">
           54  +		/*<![CDATA[*/
           55  +        	@import url(../css/print.css);
           56  +		/*]]>*/
           57  +         </style>
           58  +        <!-- END cascading style sheets (CSS) -->
           59  +        <!-- ************************************************************************************************************************************************ -->
           60  +        <!-- BEGIN script slot -->
           61  +    <!-- END script slot -->
           62  +    <!-- END discoHead include -->
           63  +    <!-- ************************************************************************************************************************************************ -->
           64  +
           65  +</head>
           66  +
           67  +<body bgcolor="#ffffff" text="#000000" link="#0000e0" vlink="#0000e0" alink="#00a000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" >
           68  +    <a id="top" name="top" />
           69  +    <map name="Map" id="Map">
           70  +       <area shape="rect" coords="2,28,212,51" href="../index.html" target="_self" alt="Distributed Computing Group" />
           71  +     </map>
           72  +    <map name="Map2" id="Map2">
           73  +      <area shape="rect" coords="9,25,198,78" href="../index.html" target="_self" alt="Distributed Computing Group" />
           74  +    </map>
           75  +
           76  +	<table border="0" cellspacing="0" cellpadding="0" width="100%">
           77  +      <tr>
           78  +        <td width="220" style="background-image:url(../images/screen_disco_glow_04-01.jpg)"><img src="../images/eth_logo_white_04.png" alt="ETH Zurich" width="220" height="105" border="0" usemap="#Map2" /></td>
           79  +        <td width="100%" valign="top" style="background-image:url(../images/screen_disco_glow_04-02.jpg)"><img src="../images/disco_text_01a.png" alt="Distributed Computing Group" width="452" height="54" border="0" usemap="#Map" /></td>
           80  +      </tr>
           81  +    </table></td>
           82  +</tr>
           83  +  <tr>
           84  +    <td>
           85  +<!-- START path -->
           86  +		<div class="pathline">
           87  +			<a class="path" href="http://www.ethz.ch/" title="ETH Zurich">ETH Zurich</a> – <a class="path" href="http://www.ee.ethz.ch/" title="Department of Electrical Engineering (ITET)">ITET</a> – <a class="path" href="http://www.tik.ee.ethz.ch/" title="Computer Engineering and Networks Laboratory (TIK)">TIK</a> – <a class="path" href="../index.html" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a>
           88  +            <span style="color:black;"> – <a class="path" href="index.html">Alumni</a> – <a class="path" href="awetzel.html">Andreas Wetzel</a></span>
           89  +			</div>
           90  +<!-- END Pathline -->
           91  +    </td>
           92  +  </tr>
           93  +<tr>
           94  +    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
           95  +      <tr>
           96  +        <td width="220"><br /><table border="0" cellspacing="0" cellpadding="4" width="220px">
           97  +          <tr>
           98  +            <td align="right"><a class="navigation" href="../index.html"><b>HOME </b></a></td>
           99  +            <td align="right"><img src="../images/transparent.gif" border="0" width="10" /></td>
          100  +          </tr>
          101  +          <tr>
          102  +            <td align="right"><a class="navigation" href="index.html"><b>MEMBERS </b></a></td>
          103  +            <td align="right">&nbsp;</td>
          104  +          </tr>
          105  +          <tr>
          106  +            <td align="right"><a class="navigation" href="../publications.html"><b>PUBLICATIONS </b></a></td>
          107  +            <td align="right">&nbsp;</td>
          108  +          </tr>
          109  +          <tr>
          110  +            <td align="right"><a class="navigation" href="../lectures/fs10/index.html"><b>COURSES </b></a></td>
          111  +            <td align="right">&nbsp;</td>
          112  +          </tr>
          113  +          <tr>
          114  +            <td align="right"><a class="navigation" href="../theses.html"><b>THESES </b></a></td>
          115  +            <td align="right">&nbsp;</td>
          116  +          </tr>
          117  +          <tr>
          118  +            <td align="right"><a class="navigation" href="https://wiki.disco.ethz.ch"><b>WIKI </b></a></td>
          119  +            <td align="right">&nbsp;</td>
          120  +          </tr>
          121  +          <tr>
          122  +            <td align="right"><a class="navigation" href="../contact.html"><b>CONTACT </b></a></td>
          123  +            <td align="right">&nbsp;</td>
          124  +          </tr>
          125  +          <tr>
          126  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          127  +            <td align="right">&nbsp;</td>
          128  +          </tr>
          129  +          <tr>
          130  +            <td align="right"><b>SOFTWARE & APPS</b></td>
          131  +            <td align="right">&nbsp;</td>
          132  +          </tr>
          133  +          <tr>
          134  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/beng" target="_blank"><b>benG</b></a></td>
          135  +            <td align="right">&nbsp;</td>
          136  +          </tr>
          137  +          <tr>
          138  +            <td align="right"><a class="navigation" href="http://www.bitthief.ethz.ch/" target="_blank"><b>BitThief</b></a></td>
          139  +            <td align="right">&nbsp;</td>
          140  +          </tr>
          141  +          <tr>
          142  +            <td align="right"><a class="navigation" href="http://www.confsearch.org" target="_blank"><b>Conference Search</b></a></td>
          143  +            <td align="right">&nbsp;</td>
          144  +          </tr>
          145  +           <tr>
          146  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.disco.gino.androidbenchmarkaccessibilityrecorder&hl=en" target="_blank"><b>DiscoMark</b></a></td>
          147  +            <td align="right">&nbsp;</td>
          148  +          </tr>
          149  +          <tr>
          150  +            <td align="right"><a class="navigation" href="http://www.jukefox.org/" target="_blank"><b>jukefox</b></a></td>
          151  +            <td align="right">&nbsp;</td>
          152  +          </tr>
          153  +          <tr>
          154  +            <td align="right"><a class="navigation" href="https://kaennsch.me" target="_blank"><b>Kännsch</b></a></td>
          155  +            <td align="right">&nbsp;</td>
          156  +          </tr>
          157  +          <tr>
          158  +          <tr>
          159  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/scs" target="_blank"><b>Smart Cloud Storage</b></a></td>
          160  +            <td align="right">&nbsp;</td>
          161  +          </tr>
          162  +          <tr>
          163  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.vinzensg.newspaper20&hl=en" target="_blank"><b>Newspaper 2.0</b></a></td>
          164  +            <td align="right">&nbsp;</td>
          165  +          </tr>
          166  +          <tr>
          167  +            <td align="right"><a class="navigation" href="../projects/sinalgo.1.html" target="_blank"><b>Sinalgo</b></a></td>
          168  +            <td align="right">&nbsp;</td>
          169  +          </tr>
          170  +          <tr>
          171  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ethz.ba.androidClient" target="_blank"><b>sound mate</b></a></td>
          172  +            <td align="right">&nbsp;</td>
          173  +          </tr>
          174  +           <tr>
          175  +            <td align="right"><a class="navigation" href="http://tos-ide.ethz.ch/" target="_blank"><b>TinyOS IDE </b></a></td>
          176  +            <td align="right">&nbsp;</td>
          177  +          </tr>
          178  +          <!--<tr>
          179  +            <td align="right"><a class="navigation" href="/theory.html" target="_self"><b>Theory</b></a></td>
          180  +            <td align="right">&nbsp;</td>
          181  +          </tr>-->
          182  +          <tr>
          183  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          184  +            <td align="right">&nbsp;</td>
          185  +          </tr>
          186  +          <tr>
          187  +            <td align="right"><b>SPIN-OFFs</b></td>
          188  +            <td align="right">&nbsp;</td>
          189  +          </tr>
          190  +          <tr>
          191  +            <td align="right"><a class="navigation" href="http://sunbeat-uv.com/" target="_blank"><b>BitSplitters</b></a></td>
          192  +            <td align="right">&nbsp;</td>
          193  +          </tr>
          194  +          <tr>
          195  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          196  +            <td align="right">&nbsp;</td>
          197  +          </tr>
          198  +          <tr>
          199  +            <td align="right"><b>FORMER</b></td>
          200  +            <td align="right">&nbsp;</td>
          201  +          </tr>
          202  +          <tr>
          203  +            <td align="right"><a class="navigation" href="http://sourceforge.net/projects/spamato/" target="_blank"><b>Spamato</b></a></td>
          204  +            <td align="right">&nbsp;</td>
          205  +          </tr>
          206  +          <tr>
          207  +      <td align="right"><a class="navigation" href="http://www.venturekick.ch/index.cfm?page=129733&profil_id=986" target="_blank"><b>StreamForge</b></a></td>
          208  +            <td align="right">&nbsp;</td>
          209  +          <tr>
          210  +            <td align="right"><a class="navigation" href="https://en.wikipedia.org/wiki/Wuala" target="_blank"><b>Wuala</b></a></td>
          211  +            <td align="right">&nbsp;</td>
          212  +          </tr>
          213  +        </table></td>
          214  +        <td style="padding: 18px 18px 18px 0;">
          215  +        <!-- BEGIN MAIN CONTENT -->
          216  +
          217  +
          218  +<table border="0" width="100%">
          219  +<tr><td width="400">
          220  +
          221  +<H3>Dipl. Informatik-Ing. ETH</H3>
          222  +<H1>Andreas Wetzel</H1>
          223  +<P>
          224  +	<a href="../index.html">Distributed Computing Group</a><br>
          225  +	<a href="http://www.tik.ee.ethz.ch/" target="_blank"> Computer Engineering and Networks Laboratory (TIK)</a><br>
          226  +	<a href="http://www.ee.ethz.ch/" target="_blank">D-ITET</a><br>
          227  +	<br>
          228  +	<a href="http://www.ethz.ch/" target="_blank">ETH</a> Zentrum<br>
          229  +	CH-8092 Z&uuml;rich<br>
          230  +	Switzerland<br>
          231  +</p>
          232  +<p>
          233  +	phone +41 44 632 7044<br>
          234  +	fax +41 44 632 1035<br>
          235  +	email <script language='JavaScript' type='text/javascript'>
          236  +<!--
          237  +var prefix = '&#109;a' + 'i&#108;' + '&#116;o';
          238  +var path = 'hr' + 'ef' + '=';
          239  +var addy = 'wetzel' + '&#64;' + 'tik&#46;';
          240  +addy += 'ee&#46;' + 'ethz&#46;' + 'ch';
          241  +document.write( '<a ' + path + '\'' + prefix + ':' + addy + '\''+'>' + addy + '</a>' );
          242  +//-->
          243  +</script>
          244  +<noscript>This email address is protected from spam bots. You need Javascript enabled to view it. </noscript><br>
          245  +	private web <a href="http://www.mindmade.org">www.mindmade.org</a><br>
          246  +	private wiki <a href="http://wiki.mindmade.org">wiki.mindmade.org</a>
          247  +	<br><br>
          248  +</P>
          249  +</td>
          250  +<td valign="top" halign="left">
          251  +<br><br><br>
          252  +<img height="200" width="150" border="0" alt="Nicolas Burri" src="../pics/andreas.jpg">
          253  +</td>
          254  +</tr>
          255  +</table>
          256  +
          257  +
          258  +
          259  +	</td></tr>
          260  +</table>
          261  +
          262  +<!--<table border="0" cellspacing="0" cellpadding="0" width="99%" align="center">
          263  +	<tr><td style="font-size:8pt;" align="right" nowrap><br><br>&copy; <a href="/" style="font-size:8pt;">Distributed Computing Group</a></td></tr>
          264  +</table>-->

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_wget_copy_of_http_disco_ethz_ch_projects_sinalgo/bonnet/disco.ethz.ch/alumni/barkelle.html version [f972159178].

            1  +<?xml version="1.0" encoding="utf-8"?>
            2  +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            3  +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4  +
            5  +<html xmlns="http://www.w3.org/1999/xhtml">
            6  +
            7  +<head>
            8  +	<title>Dr. Barbara Keller </title>
            9  +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           10  +        <meta http-equiv="Content-Style-Type" content="text/css" />
           11  +        <meta http-equiv="Content-Script-Type" content="text/javascript" />
           12  +	<meta name="author" content="user" />
           13  +	<meta name="description" content="Distributed Computing Group" />
           14  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, disco" />
           15  +    	<meta name="robots" content="noarchive" />
           16  +    	<link rel="shortcut icon" href="../images/favicon.gif" />
           17  +	<meta name='B-verify' content='7f691552aa36eb0d977e5a33e088439dfa1ad843' />
           18  +	
           19  +    <!-- ************************************************************************************************************************************************ -->
           20  +    <!-- BEGIN discoHead include -->
           21  +	        <!-- ************************************************************************************************************************************************ -->
           22  +        <!-- BEGIN cascading style sheets (CSS) -->
           23  +		<style type="text/css">
           24  +		/*<![CDATA[*/
           25  +			@import url(../css/ns4.css);
           26  +			@import url(../css/colors_c010.css);
           27  +			@import url(../css/modernbrowsers.css);
           28  +			@import url(../css/silva.css);
           29  +			@import url(../css/customstyles.css);
           30  +			@import url(../css/disco.css);
           31  +		/*]]>*/
           32  +		</style>
           33  +		<style type="text/css">
           34  +		/*<![CDATA[*/
           35  +			.logo-bg  {
           36  +				background-image: url(../images/screen_disco_glow_04-01.jpg); background-repeat: no-repeat;
           37  +			}
           38  +			.logo-bg1 {
           39  +				background-image: url(../images/screen_disco_glow_04-02.jpg); background-repeat: no-repeat;
           40  +			}
           41  +			/*div.identity-image  {
           42  +				background-image: url(/images/screen_disco_glow_04.jpg); background-repeat: repeat
           43  +			}*/
           44  +			.mainnav, .screenhead, .color5-back, .color4-back, .color3-back, .color2-back, .color1-back, .servicenav, .transparent  {
           45  +				background-image: url(../images/transparent.gif)
           46  +			}
           47  +			body {
           48  +				margin:0;
           49  +				padding:0;
           50  +			}
           51  +		/*]]>*/
           52  +		</style>
           53  +        <style media="print">
           54  +		/*<![CDATA[*/
           55  +        	@import url(../css/print.css);
           56  +		/*]]>*/
           57  +         </style>
           58  +        <!-- END cascading style sheets (CSS) -->
           59  +        <!-- ************************************************************************************************************************************************ -->
           60  +        <!-- BEGIN script slot -->
           61  +    <!-- END script slot -->
           62  +    <!-- END discoHead include -->
           63  +    <!-- ************************************************************************************************************************************************ -->
           64  +
           65  +</head>
           66  +
           67  +<body bgcolor="#ffffff" text="#000000" link="#0000e0" vlink="#0000e0" alink="#00a000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" >
           68  +    <a id="top" name="top" />
           69  +    <map name="Map" id="Map">
           70  +       <area shape="rect" coords="2,28,212,51" href="../index.html" target="_self" alt="Distributed Computing Group" />
           71  +     </map>
           72  +    <map name="Map2" id="Map2">
           73  +      <area shape="rect" coords="9,25,198,78" href="../index.html" target="_self" alt="Distributed Computing Group" />
           74  +    </map>
           75  +
           76  +	<table border="0" cellspacing="0" cellpadding="0" width="100%">
           77  +      <tr>
           78  +        <td width="220" style="background-image:url(../images/screen_disco_glow_04-01.jpg)"><img src="../images/eth_logo_white_04.png" alt="ETH Zurich" width="220" height="105" border="0" usemap="#Map2" /></td>
           79  +        <td width="100%" valign="top" style="background-image:url(../images/screen_disco_glow_04-02.jpg)"><img src="../images/disco_text_01a.png" alt="Distributed Computing Group" width="452" height="54" border="0" usemap="#Map" /></td>
           80  +      </tr>
           81  +    </table></td>
           82  +</tr>
           83  +  <tr>
           84  +    <td>
           85  +<!-- START path -->
           86  +		<div class="pathline">
           87  +			<a class="path" href="http://www.ethz.ch/" title="ETH Zurich">ETH Zurich</a> – <a class="path" href="http://www.ee.ethz.ch/" title="Department of Electrical Engineering (ITET)">ITET</a> – <a class="path" href="http://www.tik.ee.ethz.ch/" title="Computer Engineering and Networks Laboratory (TIK)">TIK</a> – <a class="path" href="../index.html" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a>
           88  +            <span style="color:black;"> – <a class="path" href="index.html">Alumni</a> – <a class="path" href="barkelle.html">Barbara Keller</a></span>
           89  +			</div>
           90  +<!-- END Pathline -->
           91  +    </td>
           92  +  </tr>
           93  +<tr>
           94  +    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
           95  +      <tr>
           96  +        <td width="220"><br /><table border="0" cellspacing="0" cellpadding="4" width="220px">
           97  +          <tr>
           98  +            <td align="right"><a class="navigation" href="../index.html"><b>HOME </b></a></td>
           99  +            <td align="right"><img src="../images/transparent.gif" border="0" width="10" /></td>
          100  +          </tr>
          101  +          <tr>
          102  +            <td align="right"><a class="navigation" href="index.html"><b>MEMBERS </b></a></td>
          103  +            <td align="right">&nbsp;</td>
          104  +          </tr>
          105  +          <tr>
          106  +            <td align="right"><a class="navigation" href="../publications.html"><b>PUBLICATIONS </b></a></td>
          107  +            <td align="right">&nbsp;</td>
          108  +          </tr>
          109  +          <tr>
          110  +            <td align="right"><a class="navigation" href="../lectures/fs10/index.html"><b>COURSES </b></a></td>
          111  +            <td align="right">&nbsp;</td>
          112  +          </tr>
          113  +          <tr>
          114  +            <td align="right"><a class="navigation" href="../theses.html"><b>THESES </b></a></td>
          115  +            <td align="right">&nbsp;</td>
          116  +          </tr>
          117  +          <tr>
          118  +            <td align="right"><a class="navigation" href="https://wiki.disco.ethz.ch"><b>WIKI </b></a></td>
          119  +            <td align="right">&nbsp;</td>
          120  +          </tr>
          121  +          <tr>
          122  +            <td align="right"><a class="navigation" href="../contact.html"><b>CONTACT </b></a></td>
          123  +            <td align="right">&nbsp;</td>
          124  +          </tr>
          125  +          <tr>
          126  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          127  +            <td align="right">&nbsp;</td>
          128  +          </tr>
          129  +          <tr>
          130  +            <td align="right"><b>SOFTWARE & APPS</b></td>
          131  +            <td align="right">&nbsp;</td>
          132  +          </tr>
          133  +          <tr>
          134  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/beng" target="_blank"><b>benG</b></a></td>
          135  +            <td align="right">&nbsp;</td>
          136  +          </tr>
          137  +          <tr>
          138  +            <td align="right"><a class="navigation" href="http://www.bitthief.ethz.ch/" target="_blank"><b>BitThief</b></a></td>
          139  +            <td align="right">&nbsp;</td>
          140  +          </tr>
          141  +          <tr>
          142  +            <td align="right"><a class="navigation" href="http://www.confsearch.org" target="_blank"><b>Conference Search</b></a></td>
          143  +            <td align="right">&nbsp;</td>
          144  +          </tr>
          145  +           <tr>
          146  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.disco.gino.androidbenchmarkaccessibilityrecorder&hl=en" target="_blank"><b>DiscoMark</b></a></td>
          147  +            <td align="right">&nbsp;</td>
          148  +          </tr>
          149  +          <tr>
          150  +            <td align="right"><a class="navigation" href="http://www.jukefox.org/" target="_blank"><b>jukefox</b></a></td>
          151  +            <td align="right">&nbsp;</td>
          152  +          </tr>
          153  +          <tr>
          154  +            <td align="right"><a class="navigation" href="https://kaennsch.me" target="_blank"><b>Kännsch</b></a></td>
          155  +            <td align="right">&nbsp;</td>
          156  +          </tr>
          157  +          <tr>
          158  +          <tr>
          159  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/scs" target="_blank"><b>Smart Cloud Storage</b></a></td>
          160  +            <td align="right">&nbsp;</td>
          161  +          </tr>
          162  +          <tr>
          163  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.vinzensg.newspaper20&hl=en" target="_blank"><b>Newspaper 2.0</b></a></td>
          164  +            <td align="right">&nbsp;</td>
          165  +          </tr>
          166  +          <tr>
          167  +            <td align="right"><a class="navigation" href="../projects/sinalgo.1.html" target="_blank"><b>Sinalgo</b></a></td>
          168  +            <td align="right">&nbsp;</td>
          169  +          </tr>
          170  +          <tr>
          171  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ethz.ba.androidClient" target="_blank"><b>sound mate</b></a></td>
          172  +            <td align="right">&nbsp;</td>
          173  +          </tr>
          174  +           <tr>
          175  +            <td align="right"><a class="navigation" href="http://tos-ide.ethz.ch/" target="_blank"><b>TinyOS IDE </b></a></td>
          176  +            <td align="right">&nbsp;</td>
          177  +          </tr>
          178  +          <!--<tr>
          179  +            <td align="right"><a class="navigation" href="/theory.html" target="_self"><b>Theory</b></a></td>
          180  +            <td align="right">&nbsp;</td>
          181  +          </tr>-->
          182  +          <tr>
          183  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          184  +            <td align="right">&nbsp;</td>
          185  +          </tr>
          186  +          <tr>
          187  +            <td align="right"><b>SPIN-OFFs</b></td>
          188  +            <td align="right">&nbsp;</td>
          189  +          </tr>
          190  +          <tr>
          191  +            <td align="right"><a class="navigation" href="http://sunbeat-uv.com/" target="_blank"><b>BitSplitters</b></a></td>
          192  +            <td align="right">&nbsp;</td>
          193  +          </tr>
          194  +          <tr>
          195  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          196  +            <td align="right">&nbsp;</td>
          197  +          </tr>
          198  +          <tr>
          199  +            <td align="right"><b>FORMER</b></td>
          200  +            <td align="right">&nbsp;</td>
          201  +          </tr>
          202  +          <tr>
          203  +            <td align="right"><a class="navigation" href="http://sourceforge.net/projects/spamato/" target="_blank"><b>Spamato</b></a></td>
          204  +            <td align="right">&nbsp;</td>
          205  +          </tr>
          206  +          <tr>
          207  +      <td align="right"><a class="navigation" href="http://www.venturekick.ch/index.cfm?page=129733&profil_id=986" target="_blank"><b>StreamForge</b></a></td>
          208  +            <td align="right">&nbsp;</td>
          209  +          <tr>
          210  +            <td align="right"><a class="navigation" href="https://en.wikipedia.org/wiki/Wuala" target="_blank"><b>Wuala</b></a></td>
          211  +            <td align="right">&nbsp;</td>
          212  +          </tr>
          213  +        </table></td>
          214  +        <td style="padding: 18px 18px 18px 0;">
          215  +        <!-- BEGIN MAIN CONTENT -->
          216  +
          217  +<!-- ***************************************************************************************************************************************************************************** -->
          218  +<!-- BEGIN DISCO member with picture table -->
          219  +<!-- ***************************************************************************************************************************************************************************** -->
          220  +<table border="0" width="100%">
          221  +    <tr>
          222  +        <td width="400">
          223  +            <H3>Dr.</H3>
          224  +            <H1>Barbara Keller</H1>
          225  +                        <P>
          226  +		<table border="0" cellspacing="0" cellpadding="0" style="font-size:12px;">
          227  +                    	            <!-- DISCO member email: --><tr><td>email &nbsp;&nbsp;</td><td><script type="text/javascript">
          228  +/*<![CDATA[*/
          229  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%61%72%62%61%72%61%2e%6b%65%6c%6c%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%62%61%72%62%61%72%61%2e%6b%65%6c%6c%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3c%2f%61%3e%27%29'))
          230  +/*]]>*/
          231  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td></tr>		</table>
          232  +	        <br /><br />
          233  +            </P>
          234  +        </td>
          235  +        <td valign="middle" halign="left">
          236  +            <!-- <br /><br /><br /> -->
          237  +	    <!-- DISCO member picture: -->
          238  +	    		<img  border="0" alt="Barbara Keller" src="../pics/barkelle.jpg" />
          239  +	            </td>
          240  +    </tr>
          241  +</table>
          242  +<!-- ***************************************************************************************************************************************************************************** -->
          243  +<!-- END DISCO member with picture table -->
          244  +<!-- ***************************************************************************************************************************************************************************** -->
          245  +<div id="discoCustomContent">
          246  +<!-- ***************************************************************************************************************************************************************************** -->
          247  +<!-- ADD YOUR OWN PERSONAL PHP/HTML CONTENT BELOW THIS LINE -->
          248  +<!-- ***************************************************************************************************************************************************************************** -->
          249  +<!-- ADD YOUR STATIC HTML CODE HERE -->
          250  +<!-- ***************************************************************************************************************************************************************************** -->
          251  +<!-- ADD YOUR OWN PHP/HTML CONTENT BEFORE THIS -->
          252  +<!-- ***************************************************************************************************************************************************************************** -->
          253  +</div>
          254  +
          255  +<!-- ***************************************************************************************************************************************************************************** -->
          256  +<!-- BEGIN DISCO personal publications for disco member -->
          257  +<H3>Publications</H3>
          258  +<ul>
          259  +<li style="padding-bottom:0.5em;">
          260  +    <a href="barkelle.html">JMAU: Jarno Matthias Andrin Uitto</a> <br />
          261  +    Barbara Keller and Jara Uitto.<br />
          262  +    1st Symposium in Theoretical Algorithmic Learning (SPITAL), Zollikerberg, Zurich, Switzerland, February 2016.<br /> Documents: <a target="_blank" href="http://www.spitalzollikerberg.ch/geburt/babygalerie?b=167021">external</a>  &nbsp;  
          263  +</li></ul>
          264  +<ul>
          265  +<li style="padding-bottom:0.5em;">
          266  +    <a href="http://www.tik.ee.ethz.ch/file/38eb548f3ce870782816eccac1a7debf/lll-lb.pdf">A Lower Bound for the Distributed Lovász Local Lemma</a> <br />
          267  +    Sebastian Brandt,  Orr Fischer,  Juho Hirvonen,  Barbara Keller,  Tuomo Lempiäinen,  Joel Rybicki,  Jukka Suomela and  Jara Uitto.<br />
          268  +    48th Annual Symposium on Theory of Computing (STOC), Cambridge, Massachusetts, USA, June 2016.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=4553.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/38eb548f3ce870782816eccac1a7debf/lll-lb.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/3b8e5ee0567b20f37fdcbf070ddefbd9/STOC presentation.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/d1ce8faa0db257f30131342c2ff7fc65/STOC presentation without notes.pptx">ppt</a>  &nbsp;  
          269  +</li><li style="padding-bottom:0.5em;">
          270  +    <a href="http://www.tik.ee.ethz.ch/file/13dfc352d9836b722ebdb26434fb012a/ants.pdf">Overcoming Obstacles with Ants</a> <br />
          271  +    Barbara Keller,  Tobias Langner,  Jara Uitto and  Roger Wattenhofer.<br />
          272  +    19th International Conference on Priniciples of Distributed Systems (OPODIS), Rennes, France, December 2015.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=4492.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/13dfc352d9836b722ebdb26434fb012a/ants.pdf">pdf</a>  &nbsp;  
          273  +</li><li style="padding-bottom:0.5em;">
          274  +    <a href="http://www.tik.ee.ethz.ch/file/2a2146befd4e2d3b6717cca77995a21c/ITCSGlassCeiling.pdf">Homophily and the Glass Ceiling Effect in Social Networks</a> <br />
          275  +    Chen Avin,  Barbara Keller,   Zvi Lotker,  Claire Mathieu,  Yvonne-Anne Pignolet and  David Peleg.<br />
          276  +    6th Innovations in Theoretical Computer Science (ITCS), Rehovot, Israel, January 2015.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=4393.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/2a2146befd4e2d3b6717cca77995a21c/ITCSGlassCeiling.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/efda3cade08e4623089f70d0b1ecd146/HomophilyGlassCeiling.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/dcd5a3410f223314ff492ba7df51adf1/HomophilyGlassCeiling.pptx">ppt</a>  &nbsp;  
          277  +</li><li style="padding-bottom:0.5em;">
          278  +    <a href="http://www.tik.ee.ethz.ch/file/17291c7dda7625e16f16ac84e14253d1/SocialInfluenceNetworks.pdf">Majority Voting: San Rocco or Ulisse</a> <br />
          279  +    Barbara Keller.<br />
          280  +    Summer School on Graph Algorithms, Erice, Sicily, Italy, September 2014.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=4392.html">bibtex</a> slides <a href="http://www.tik.ee.ethz.ch/file/17291c7dda7625e16f16ac84e14253d1/SocialInfluenceNetworks.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/a337545282e74587b276b167be7993ef/SocialInfluenceNetworks.pptx">ppt</a>  &nbsp;  
          281  +</li><li style="padding-bottom:0.5em;">
          282  +    <a href="http://www.tik.ee.ethz.ch/file/95d1a28a621c0a42aa99917682694183/InfluenceNetwork.pdf">How even Tiny Influence can have a Big Impact!</a> <br />
          283  +    Barbara Keller,  David Peleg and  Roger Wattenhofer.<br />
          284  +    Seventh International Conference on Fun with Algorithms (FUN), Lipari Island, Sicily, Italy, July 2014.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=4327.html">bibtex</a> link <a href="http://www.di.unipi.it/fun14/information.html">external</a> paper <a href="http://www.tik.ee.ethz.ch/file/95d1a28a621c0a42aa99917682694183/InfluenceNetwork.pdf">pdf</a>  &nbsp;  
          285  +</li><li style="padding-bottom:0.5em;">
          286  +    <a href="http://www.tik.ee.ethz.ch/file/0fd7a6e30b761e471aea5d751157fe0e/SIN.pdf">Convergence in (Social) Influence Networks</a> <br />
          287  +    Silvio Frischknecht,  Barbara Keller and  Roger Wattenhofer.<br />
          288  +    27th International Symposium on Distributed Computing (DISC), Jerusalem, Israel, October 2013.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=4200.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/0fd7a6e30b761e471aea5d751157fe0e/SIN.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/903ebfc2fd8161ddfd801d249d31efdd/SIN_Disc.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/6bbacbcafdb32a2476b6cecf1b34756f/SIN_Disc.pptx">ppt</a>  &nbsp;  
          289  +</li><li style="padding-bottom:0.5em;">
          290  +    <a href="http://www.tik.ee.ethz.ch/file/80c4468e468f7259da466cda8a042350/paper.pdf">On the Feasibility of Opportunistic Ad Hoc Music Sharing</a> <br />
          291  +    Barbara Keller,  Philippe von Bergen,  Roger Wattenhofer and  Samuel Welten.<br />
          292  +    Nokia Mobile Developer Challenge Workshop (MDC), Newcastle, UK, June 2012.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3793.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/80c4468e468f7259da466cda8a042350/paper.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/2b78e655312b64a32a9f40f968654e83/MDCPresentationWeb.pdf">pdf</a>  &nbsp;  
          293  +</li></ul>
          294  +<P>&nbsp;</P>
          295  +<!-- END DISCO publications for member -->
          296  +<!-- ***************************************************************************************************************************************************************************** -->
          297  +<!-- BEGIN DISCO personal theses for disco member -->
          298  +<h3>Theses &amp; Labs</h3>
          299  +		<table border="0" width="100%" cellspacing="0" cellpadding="10">
          300  +		<tr>
          301  +			<td colspan="6" valign="top" align="left">
          302  +				<p class="topic">available theses &amp; labs</p>
          303  +			</td>
          304  +		</tr>
          305  +
          306  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          307  +
          308  +		<tr>
          309  +			<th class="noline" width="2%">&nbsp;</th>
          310  +			<th width="35%">title</th>
          311  +			<th width="10%">type</th>
          312  +			<th width="20%">contact/supervisor</th>
          313  +			<th width="10%">assigned</th>
          314  +			<th width="20%">&nbsp;</th>
          315  +			<th nowrap="nowrap">Edit (<a target="_blank" title="Create New Thesis" href="https://www.tik.ee.ethz.ch/db/restricted/tik/?db=sada&form=form_edit_sada_record&wizard=wizard_sada">New</a>)</th>
          316  +		</tr>		<tr>
          317  +			<td colspan="6" valign="top" align="left">
          318  +				<p class="topic">current theses &amp; labs</p>
          319  +			</td>
          320  +		</tr>
          321  +
          322  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          323  +
          324  +		<tr>
          325  +			<th class="noline">&nbsp;</th>
          326  +			<th>title</th>
          327  +			<th>type</th>
          328  +			<th>contact/supervisor</th>
          329  +			<th>assigned</th>
          330  +			<th>student(s)</th>
          331  +			<th>Edit</th>
          332  +		</tr>		<tr>
          333  +			<td colspan="6" valign="top" align="left">
          334  +				<p class="topic">past theses &amp; labs</p>
          335  +			</td>
          336  +		</tr>
          337  +
          338  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          339  +
          340  +		<tr>
          341  +			<th class="noline">&nbsp;</th>
          342  +			<th>title</th>
          343  +			<th>type</th>
          344  +			<th>supervisor</th>
          345  +			<th>year</th>
          346  +			<th>student(s)</th>
          347  +			<!-- <th>Edit</th> -->
          348  +		</tr><tr id="table-row-0">
          349  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2015-FS/GA-2015-05.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/9d9c21d230c1abf5ad24cd3098c08b14/yelp-icon.png"></a></td>
          350  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2015-FS/GA-2015-05.pdf">What is in the yelp data?</a></td>
          351  +<td valign="top" align="left" class="line">G</td>
          352  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a>, <br /><a href="http://www.disco.ethz.ch/members/seidelj.html">Jochen Seidel</a></td>
          353  +<td valign="top" align="left" class="line">FS 15</td>
          354  +<td valign="top" align="left" class="line"><script type="text/javascript">
          355  +/*<![CDATA[*/
          356  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%48%65%72%6d%61%6e%6e%20%42%6c%75%6d%20%3c%62%6c%75%6d%68%40%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%6c%75%6d%68%40%65%74%68%7a%2e%63%68%22%3e%48%65%72%6d%61%6e%6e%20%42%6c%75%6d%3c%2f%61%3e%27%29'))
          357  +/*]]>*/
          358  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br /><script type="text/javascript">
          359  +/*<![CDATA[*/
          360  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%41%6c%65%78%61%6e%64%65%72%20%44%69%65%74%6d%26%75%75%6d%6c%3b%6c%6c%65%72%20%3c%61%64%69%65%74%6d%75%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%61%64%69%65%74%6d%75%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%41%6c%65%78%61%6e%64%65%72%20%44%69%65%74%6d%26%75%75%6d%6c%3b%6c%6c%65%72%3c%2f%61%3e%27%29'))
          361  +/*]]>*/
          362  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          363  +
          364  +</tr>
          365  +<tr id="table-row-1">
          366  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2014-HS/SA-2014-39.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/049b45da00cde6189a49198edfa22614/condomPhone2.jpg"></a></td>
          367  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2014-HS/SA-2014-39.pdf">A Smart Situational Reminder</a></td>
          368  +<td valign="top" align="left" class="line">S</td>
          369  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a>, <br /><a href="http://www.disco.ethz.ch/members/juitto.html">Jara Uitto</a></td>
          370  +<td valign="top" align="left" class="line">HS 14</td>
          371  +<td valign="top" align="left" class="line"><script type="text/javascript">
          372  +/*<![CDATA[*/
          373  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%53%74%65%66%66%65%6e%20%53%63%68%6d%69%64%74%20%3c%73%74%65%66%66%73%63%68%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%74%65%66%66%73%63%68%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%53%74%65%66%66%65%6e%20%53%63%68%6d%69%64%74%3c%2f%61%3e%27%29'))
          374  +/*]]>*/
          375  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          376  +
          377  +</tr>
          378  +<tr id="table-row-2">
          379  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2014-HS/BA-2014-12.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/58e5588a997768dfd4a78c9b5fe8cdef/Wegweiser.jpg"></a></td>
          380  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2014-HS/BA-2014-12.pdf">Accurate Weather Forecast</a></td>
          381  +<td valign="top" align="left" class="line">B</td>
          382  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a>, <br /><a href="http://www.disco.ethz.ch/members/seidelj.html">Jochen Seidel</a></td>
          383  +<td valign="top" align="left" class="line">HS 14</td>
          384  +<td valign="top" align="left" class="line"><script type="text/javascript">
          385  +/*<![CDATA[*/
          386  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4d%69%63%68%61%65%6c%20%47%69%67%65%72%20%3c%6d%69%63%67%69%67%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%69%63%67%69%67%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%69%63%68%61%65%6c%20%47%69%67%65%72%3c%2f%61%3e%27%29'))
          387  +/*]]>*/
          388  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          389  +
          390  +</tr>
          391  +<tr id="table-row-3">
          392  +<td valign="top" align="left""><img height="60" width="60" src="http://www.tik.ee.ethz.ch/file/7c5370f701162044246e28c2e39eb7b5/missed_bus_small.jpg"></td>
          393  +<td valign="top" align="left" class="line">Magic Public Transport Information<i> [confidential]</i></td>
          394  +<td valign="top" align="left" class="line">S</td>
          395  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a>, <br /><a href="http://www.disco.ethz.ch/members/bissigp.html">Pascal Bissig</a></td>
          396  +<td valign="top" align="left" class="line">HS 14</td>
          397  +<td valign="top" align="left" class="line"><script type="text/javascript">
          398  +/*<![CDATA[*/
          399  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4e%65%6c%6c%79%20%41%66%6f%6e%73%6f%20%3c%61%66%6f%6e%73%6f%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%61%66%6f%6e%73%6f%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4e%65%6c%6c%79%20%41%66%6f%6e%73%6f%3c%2f%61%3e%27%29'))
          400  +/*]]>*/
          401  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          402  +
          403  +</tr>
          404  +<tr id="table-row-4">
          405  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2014-HS/SA-2014-35.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/429d5b4dbbfd8f7f47a255b1b94a1011/w&Atilde;&curren;ggiSee.jpeg"></a></td>
          406  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2014-HS/SA-2014-35.pdf">Mapping the Past</a></td>
          407  +<td valign="top" align="left" class="line">S</td>
          408  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/members/cdecker.html">Christian Decker</a>, <br /><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a></td>
          409  +<td valign="top" align="left" class="line">HS 14</td>
          410  +<td valign="top" align="left" class="line"><script type="text/javascript">
          411  +/*<![CDATA[*/
          412  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4d%61%72%63%20%4d%26%75%75%6d%6c%3b%6c%6c%65%72%20%3c%6d%61%72%63%6d%75%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%61%72%63%6d%75%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%61%72%63%20%4d%26%75%75%6d%6c%3b%6c%6c%65%72%3c%2f%61%3e%27%29'))
          413  +/*]]>*/
          414  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          415  +
          416  +</tr>
          417  +<tr id="table-row-5">
          418  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2014-HS/GA-2014-04.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/18e20c70fa1ce9920657f0dbea4f68af/Network.png"></a></td>
          419  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2014-HS/GA-2014-04.pdf">A RESTful API for the AMIV</a></td>
          420  +<td valign="top" align="left" class="line">G</td>
          421  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/members/seidelj.html">Jochen Seidel</a>, <br /><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a></td>
          422  +<td valign="top" align="left" class="line">HS 14</td>
          423  +<td valign="top" align="left" class="line"><script type="text/javascript">
          424  +/*<![CDATA[*/
          425  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%48%65%72%6d%61%6e%6e%20%42%6c%75%6d%20%3c%62%6c%75%6d%68%40%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%6c%75%6d%68%40%65%74%68%7a%2e%63%68%22%3e%48%65%72%6d%61%6e%6e%20%42%6c%75%6d%3c%2f%61%3e%27%29'))
          426  +/*]]>*/
          427  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br /><script type="text/javascript">
          428  +/*<![CDATA[*/
          429  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%43%6f%6e%72%61%64%20%42%75%72%63%68%65%72%74%20%3c%62%63%6f%6e%72%61%64%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%63%6f%6e%72%61%64%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%43%6f%6e%72%61%64%20%42%75%72%63%68%65%72%74%3c%2f%61%3e%27%29'))
          430  +/*]]>*/
          431  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br /><script type="text/javascript">
          432  +/*<![CDATA[*/
          433  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%41%6c%65%78%61%6e%64%65%72%20%44%69%65%74%6d%26%75%75%6d%6c%3b%6c%6c%65%72%20%3c%61%64%69%65%74%6d%75%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%61%64%69%65%74%6d%75%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%41%6c%65%78%61%6e%64%65%72%20%44%69%65%74%6d%26%75%75%6d%6c%3b%6c%6c%65%72%3c%2f%61%3e%27%29'))
          434  +/*]]>*/
          435  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          436  +
          437  +</tr>
          438  +<tr id="table-row-6">
          439  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2014-FS/SA-2014-25.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/a3583ac49526ba5225012b23a3bebdad/teen_music_icon.jpg"></a></td>
          440  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2014-FS/SA-2014-25.pdf">Listening to Music in Groups</a></td>
          441  +<td valign="top" align="left" class="line">S</td>
          442  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/members/juitto.html">Jara Uitto</a>, <br /><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a></td>
          443  +<td valign="top" align="left" class="line">FS 14</td>
          444  +<td valign="top" align="left" class="line"><script type="text/javascript">
          445  +/*<![CDATA[*/
          446  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%47%69%6e%6f%20%42%72%75%6e%6e%65%72%20%3c%62%72%75%6e%6e%65%67%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%72%75%6e%6e%65%67%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%47%69%6e%6f%20%42%72%75%6e%6e%65%72%3c%2f%61%3e%27%29'))
          447  +/*]]>*/
          448  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          449  +
          450  +</tr>
          451  +<tr id="table-row-7">
          452  +<td valign="top" align="left""><img height="60" width="60" src="http://www.tik.ee.ethz.ch/file/15e7d5090cc0416a7096b44af3da8acf/MovieCritic.png"></td>
          453  +<td valign="top" align="left" class="line">Find your Personal Movie Critic<i> [confidential]</i></td>
          454  +<td valign="top" align="left" class="line">S</td>
          455  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a>, <br /><a href="http://www.disco.ethz.ch/members/mikoenig.html">Michael König</a></td>
          456  +<td valign="top" align="left" class="line">HS 12</td>
          457  +<td valign="top" align="left" class="line"><script type="text/javascript">
          458  +/*<![CDATA[*/
          459  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4d%61%72%6b%75%73%20%46%72%65%69%20%3c%6d%61%72%66%72%65%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%61%72%66%72%65%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%61%72%6b%75%73%20%46%72%65%69%3c%2f%61%3e%27%29'))
          460  +/*]]>*/
          461  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          462  +
          463  +</tr>
          464  +<tr id="table-row-8">
          465  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2012-HS/SA-2012-12.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/e2d58b9433e9f3f4d121abbe2cd58a6f/iPhone-cracked.png"></a></td>
          466  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2012-HS/SA-2012-12.pdf">Throw Your Smartphone</a></td>
          467  +<td valign="top" align="left" class="line">S</td>
          468  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a>, <br /><a href="http://www.disco.ethz.ch/members/juitto.html">Jara Uitto</a></td>
          469  +<td valign="top" align="left" class="line">HS 12</td>
          470  +<td valign="top" align="left" class="line"><script type="text/javascript">
          471  +/*<![CDATA[*/
          472  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%41%6e%74%6f%6e%20%42%65%69%74%6c%65%72%20%3c%61%62%65%69%74%6c%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%61%62%65%69%74%6c%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%41%6e%74%6f%6e%20%42%65%69%74%6c%65%72%3c%2f%61%3e%27%29'))
          473  +/*]]>*/
          474  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          475  +
          476  +</tr>
          477  +<tr id="table-row-9">
          478  +<td valign="top" align="left""><img height="60" width="60" src="http://www.tik.ee.ethz.ch/file/49a5f0f7f983281245b7fb3275fcb04d/new_pirates.jpg"></td>
          479  +<td valign="top" align="left" class="line">On the Feasibility of Opportunistic Ad Hoc Music Sharing<i> [confidential]</i></td>
          480  +<td valign="top" align="left" class="line">B</td>
          481  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a>, <br /><a href="http://www.disco.ethz.ch/members/swelten.html">Samuel Welten</a></td>
          482  +<td valign="top" align="left" class="line">FS 12</td>
          483  +<td valign="top" align="left" class="line"><script type="text/javascript">
          484  +/*<![CDATA[*/
          485  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%50%68%69%6c%69%70%70%65%20%76%6f%6e%20%42%65%72%67%65%6e%20%3c%70%76%62%65%72%67%65%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%76%62%65%72%67%65%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%50%68%69%6c%69%70%70%65%20%76%6f%6e%20%42%65%72%67%65%6e%3c%2f%61%3e%27%29'))
          486  +/*]]>*/
          487  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          488  +
          489  +</tr>
          490  +<tr id="table-row-10">
          491  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2012-FS/GA-2012-02.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/1306b2c829c202e0316826fa097dcfab/Logo.png"></a></td>
          492  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2012-FS/GA-2012-02.pdf">Virtual ID</a></td>
          493  +<td valign="top" align="left" class="line">G</td>
          494  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a>, <br /><a href="http://www.disco.ethz.ch/members/seidelj.html">Jochen Seidel</a></td>
          495  +<td valign="top" align="left" class="line">FS 12</td>
          496  +<td valign="top" align="left" class="line"><script type="text/javascript">
          497  +/*<![CDATA[*/
          498  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%44%6f%6d%69%6e%69%6b%20%42%6c%75%6e%73%63%68%79%20%3c%62%6c%64%6f%6d%69%6e%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%6c%64%6f%6d%69%6e%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%44%6f%6d%69%6e%69%6b%20%42%6c%75%6e%73%63%68%79%3c%2f%61%3e%27%29'))
          499  +/*]]>*/
          500  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br /><script type="text/javascript">
          501  +/*<![CDATA[*/
          502  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4b%61%73%70%61%72%20%45%74%74%65%72%20%3c%65%74%74%65%72%6b%61%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%65%74%74%65%72%6b%61%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4b%61%73%70%61%72%20%45%74%74%65%72%3c%2f%61%3e%27%29'))
          503  +/*]]>*/
          504  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          505  +
          506  +</tr>
          507  +<tr id="table-row-11">
          508  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2011-HS/MA-2011-23.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/be1126cfb501a500b5805fb2661b9083/sgt-toolbox-report.jpg"></a></td>
          509  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2011-HS/MA-2011-23.pdf">SGT Toolbox - A Playground for Spectral Graph Theory</a></td>
          510  +<td valign="top" align="left" class="line">M</td>
          511  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/members/langnert.html">Tobias Langner</a>, <br /><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a></td>
          512  +<td valign="top" align="left" class="line">HS 11</td>
          513  +<td valign="top" align="left" class="line"><script type="text/javascript">
          514  +/*<![CDATA[*/
          515  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4d%69%63%68%61%65%6c%20%4b%26%6f%75%6d%6c%3b%6e%69%67%20%3c%6d%69%6b%6f%65%6e%69%67%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%69%6b%6f%65%6e%69%67%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%69%63%68%61%65%6c%20%4b%26%6f%75%6d%6c%3b%6e%69%67%3c%2f%61%3e%27%29'))
          516  +/*]]>*/
          517  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          518  +
          519  +</tr>
          520  +<tr id="table-row-12">
          521  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2011-FS/GA-2011-03.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/38934a757b15f596669876dac1908a39/wgfinance.jpg"></a></td>
          522  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2011-FS/GA-2011-03.pdf">wgfinance</a></td>
          523  +<td valign="top" align="left" class="line">G</td>
          524  +<td valign="top" align="left" class="line"><a href="http://www.disco.ethz.ch/alumni/barkelle.html">Barbara Keller</a></td>
          525  +<td valign="top" align="left" class="line">FS 11</td>
          526  +<td valign="top" align="left" class="line"><script type="text/javascript">
          527  +/*<![CDATA[*/
          528  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%44%6f%6d%69%6e%69%6b%20%46%61%6e%6b%68%61%75%73%65%72%20%3c%64%6f%6d%69%6e%69%6b%66%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%64%6f%6d%69%6e%69%6b%66%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%44%6f%6d%69%6e%69%6b%20%46%61%6e%6b%68%61%75%73%65%72%3c%2f%61%3e%27%29'))
          529  +/*]]>*/
          530  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br /><script type="text/javascript">
          531  +/*<![CDATA[*/
          532  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4c%6f%72%65%6e%7a%20%4b%6f%65%73%74%6c%65%72%20%3c%6c%6f%72%65%6e%7a%6b%40%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6c%6f%72%65%6e%7a%6b%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%4c%6f%72%65%6e%7a%20%4b%6f%65%73%74%6c%65%72%3c%2f%61%3e%27%29'))
          533  +/*]]>*/
          534  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br /><script type="text/javascript">
          535  +/*<![CDATA[*/
          536  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4a%6f%6e%61%73%20%4c%75%64%65%72%20%3c%6c%75%64%65%72%6a%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6c%75%64%65%72%6a%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4a%6f%6e%61%73%20%4c%75%64%65%72%3c%2f%61%3e%27%29'))
          537  +/*]]>*/
          538  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br /><script type="text/javascript">
          539  +/*<![CDATA[*/
          540  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%72%61%70%68%61%65%6c%40%73%65%65%62%61%63%68%65%72%73%2e%63%68%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%72%61%70%68%61%65%6c%40%73%65%65%62%61%63%68%65%72%73%2e%63%68%22%3e%72%61%70%68%61%65%6c%40%73%65%65%62%61%63%68%65%72%73%2e%63%68%3c%2f%61%3e%27%29'))
          541  +/*]]>*/
          542  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          543  +
          544  +</tr>
          545  +		</table><!-- END DISCO theses & labs for member -->
          546  +<!-- ***************************************************************************************************************************************************************************** -->
          547  +<!-- DISCO individual member footer -->
          548  +	</td></tr>
          549  +</table>
          550  +
          551  +<!--<table border="0" cellspacing="0" cellpadding="0" width="99%" align="center">
          552  +	<tr><td style="font-size:8pt;" align="right" nowrap><br><br>&copy; <a href="/" style="font-size:8pt;">Distributed Computing Group</a></td></tr>
          553  +</table>-->

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_wget_copy_of_http_disco_ethz_ch_projects_sinalgo/bonnet/disco.ethz.ch/alumni/besigg.html version [bbd227b7d0].

            1  +<?xml version="1.0" encoding="utf-8"?>
            2  +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            3  +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4  +
            5  +<html xmlns="http://www.w3.org/1999/xhtml">
            6  +
            7  +<head>
            8  +	<title>Benjamin Sigg </title>
            9  +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           10  +        <meta http-equiv="Content-Style-Type" content="text/css" />
           11  +        <meta http-equiv="Content-Script-Type" content="text/javascript" />
           12  +	<meta name="author" content="user" />
           13  +	<meta name="description" content="Distributed Computing Group" />
           14  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, disco" />
           15  +    	<meta name="robots" content="noarchive" />
           16  +    	<link rel="shortcut icon" href="../images/favicon.gif" />
           17  +	<meta name='B-verify' content='7f691552aa36eb0d977e5a33e088439dfa1ad843' />
           18  +	
           19  +    <!-- ************************************************************************************************************************************************ -->
           20  +    <!-- BEGIN discoHead include -->
           21  +	        <!-- ************************************************************************************************************************************************ -->
           22  +        <!-- BEGIN cascading style sheets (CSS) -->
           23  +		<style type="text/css">
           24  +		/*<![CDATA[*/
           25  +			@import url(../css/ns4.css);
           26  +			@import url(../css/colors_c010.css);
           27  +			@import url(../css/modernbrowsers.css);
           28  +			@import url(../css/silva.css);
           29  +			@import url(../css/customstyles.css);
           30  +			@import url(../css/disco.css);
           31  +		/*]]>*/
           32  +		</style>
           33  +		<style type="text/css">
           34  +		/*<![CDATA[*/
           35  +			.logo-bg  {
           36  +				background-image: url(../images/screen_disco_glow_04-01.jpg); background-repeat: no-repeat;
           37  +			}
           38  +			.logo-bg1 {
           39  +				background-image: url(../images/screen_disco_glow_04-02.jpg); background-repeat: no-repeat;
           40  +			}
           41  +			/*div.identity-image  {
           42  +				background-image: url(/images/screen_disco_glow_04.jpg); background-repeat: repeat
           43  +			}*/
           44  +			.mainnav, .screenhead, .color5-back, .color4-back, .color3-back, .color2-back, .color1-back, .servicenav, .transparent  {
           45  +				background-image: url(../images/transparent.gif)
           46  +			}
           47  +			body {
           48  +				margin:0;
           49  +				padding:0;
           50  +			}
           51  +		/*]]>*/
           52  +		</style>
           53  +        <style media="print">
           54  +		/*<![CDATA[*/
           55  +        	@import url(../css/print.css);
           56  +		/*]]>*/
           57  +         </style>
           58  +        <!-- END cascading style sheets (CSS) -->
           59  +        <!-- ************************************************************************************************************************************************ -->
           60  +        <!-- BEGIN script slot -->
           61  +    <!-- END script slot -->
           62  +    <!-- END discoHead include -->
           63  +    <!-- ************************************************************************************************************************************************ -->
           64  +
           65  +</head>
           66  +
           67  +<body bgcolor="#ffffff" text="#000000" link="#0000e0" vlink="#0000e0" alink="#00a000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" >
           68  +    <a id="top" name="top" />
           69  +    <map name="Map" id="Map">
           70  +       <area shape="rect" coords="2,28,212,51" href="../index.html" target="_self" alt="Distributed Computing Group" />
           71  +     </map>
           72  +    <map name="Map2" id="Map2">
           73  +      <area shape="rect" coords="9,25,198,78" href="../index.html" target="_self" alt="Distributed Computing Group" />
           74  +    </map>
           75  +
           76  +	<table border="0" cellspacing="0" cellpadding="0" width="100%">
           77  +      <tr>
           78  +        <td width="220" style="background-image:url(../images/screen_disco_glow_04-01.jpg)"><img src="../images/eth_logo_white_04.png" alt="ETH Zurich" width="220" height="105" border="0" usemap="#Map2" /></td>
           79  +        <td width="100%" valign="top" style="background-image:url(../images/screen_disco_glow_04-02.jpg)"><img src="../images/disco_text_01a.png" alt="Distributed Computing Group" width="452" height="54" border="0" usemap="#Map" /></td>
           80  +      </tr>
           81  +    </table></td>
           82  +</tr>
           83  +  <tr>
           84  +    <td>
           85  +<!-- START path -->
           86  +		<div class="pathline">
           87  +			<a class="path" href="http://www.ethz.ch/" title="ETH Zurich">ETH Zurich</a> – <a class="path" href="http://www.ee.ethz.ch/" title="Department of Electrical Engineering (ITET)">ITET</a> – <a class="path" href="http://www.tik.ee.ethz.ch/" title="Computer Engineering and Networks Laboratory (TIK)">TIK</a> – <a class="path" href="../index.html" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a>
           88  +            <span style="color:black;"> – <a class="path" href="index.html">Alumni</a> – <a class="path" href="besigg.html">Benjamin Sigg</a></span>
           89  +			</div>
           90  +<!-- END Pathline -->
           91  +    </td>
           92  +  </tr>
           93  +<tr>
           94  +    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
           95  +      <tr>
           96  +        <td width="220"><br /><table border="0" cellspacing="0" cellpadding="4" width="220px">
           97  +          <tr>
           98  +            <td align="right"><a class="navigation" href="../index.html"><b>HOME </b></a></td>
           99  +            <td align="right"><img src="../images/transparent.gif" border="0" width="10" /></td>
          100  +          </tr>
          101  +          <tr>
          102  +            <td align="right"><a class="navigation" href="index.html"><b>MEMBERS </b></a></td>
          103  +            <td align="right">&nbsp;</td>
          104  +          </tr>
          105  +          <tr>
          106  +            <td align="right"><a class="navigation" href="../publications.html"><b>PUBLICATIONS </b></a></td>
          107  +            <td align="right">&nbsp;</td>
          108  +          </tr>
          109  +          <tr>
          110  +            <td align="right"><a class="navigation" href="../lectures/fs10/index.html"><b>COURSES </b></a></td>
          111  +            <td align="right">&nbsp;</td>
          112  +          </tr>
          113  +          <tr>
          114  +            <td align="right"><a class="navigation" href="../theses.html"><b>THESES </b></a></td>
          115  +            <td align="right">&nbsp;</td>
          116  +          </tr>
          117  +          <tr>
          118  +            <td align="right"><a class="navigation" href="https://wiki.disco.ethz.ch"><b>WIKI </b></a></td>
          119  +            <td align="right">&nbsp;</td>
          120  +          </tr>
          121  +          <tr>
          122  +            <td align="right"><a class="navigation" href="../contact.html"><b>CONTACT </b></a></td>
          123  +            <td align="right">&nbsp;</td>
          124  +          </tr>
          125  +          <tr>
          126  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          127  +            <td align="right">&nbsp;</td>
          128  +          </tr>
          129  +          <tr>
          130  +            <td align="right"><b>SOFTWARE & APPS</b></td>
          131  +            <td align="right">&nbsp;</td>
          132  +          </tr>
          133  +          <tr>
          134  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/beng" target="_blank"><b>benG</b></a></td>
          135  +            <td align="right">&nbsp;</td>
          136  +          </tr>
          137  +          <tr>
          138  +            <td align="right"><a class="navigation" href="http://www.bitthief.ethz.ch/" target="_blank"><b>BitThief</b></a></td>
          139  +            <td align="right">&nbsp;</td>
          140  +          </tr>
          141  +          <tr>
          142  +            <td align="right"><a class="navigation" href="http://www.confsearch.org" target="_blank"><b>Conference Search</b></a></td>
          143  +            <td align="right">&nbsp;</td>
          144  +          </tr>
          145  +           <tr>
          146  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.disco.gino.androidbenchmarkaccessibilityrecorder&hl=en" target="_blank"><b>DiscoMark</b></a></td>
          147  +            <td align="right">&nbsp;</td>
          148  +          </tr>
          149  +          <tr>
          150  +            <td align="right"><a class="navigation" href="http://www.jukefox.org/" target="_blank"><b>jukefox</b></a></td>
          151  +            <td align="right">&nbsp;</td>
          152  +          </tr>
          153  +          <tr>
          154  +            <td align="right"><a class="navigation" href="https://kaennsch.me" target="_blank"><b>Kännsch</b></a></td>
          155  +            <td align="right">&nbsp;</td>
          156  +          </tr>
          157  +          <tr>
          158  +          <tr>
          159  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/scs" target="_blank"><b>Smart Cloud Storage</b></a></td>
          160  +            <td align="right">&nbsp;</td>
          161  +          </tr>
          162  +          <tr>
          163  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.vinzensg.newspaper20&hl=en" target="_blank"><b>Newspaper 2.0</b></a></td>
          164  +            <td align="right">&nbsp;</td>
          165  +          </tr>
          166  +          <tr>
          167  +            <td align="right"><a class="navigation" href="../projects/sinalgo.1.html" target="_blank"><b>Sinalgo</b></a></td>
          168  +            <td align="right">&nbsp;</td>
          169  +          </tr>
          170  +          <tr>
          171  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ethz.ba.androidClient" target="_blank"><b>sound mate</b></a></td>
          172  +            <td align="right">&nbsp;</td>
          173  +          </tr>
          174  +           <tr>
          175  +            <td align="right"><a class="navigation" href="http://tos-ide.ethz.ch/" target="_blank"><b>TinyOS IDE </b></a></td>
          176  +            <td align="right">&nbsp;</td>
          177  +          </tr>
          178  +          <!--<tr>
          179  +            <td align="right"><a class="navigation" href="/theory.html" target="_self"><b>Theory</b></a></td>
          180  +            <td align="right">&nbsp;</td>
          181  +          </tr>-->
          182  +          <tr>
          183  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          184  +            <td align="right">&nbsp;</td>
          185  +          </tr>
          186  +          <tr>
          187  +            <td align="right"><b>SPIN-OFFs</b></td>
          188  +            <td align="right">&nbsp;</td>
          189  +          </tr>
          190  +          <tr>
          191  +            <td align="right"><a class="navigation" href="http://sunbeat-uv.com/" target="_blank"><b>BitSplitters</b></a></td>
          192  +            <td align="right">&nbsp;</td>
          193  +          </tr>
          194  +          <tr>
          195  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          196  +            <td align="right">&nbsp;</td>
          197  +          </tr>
          198  +          <tr>
          199  +            <td align="right"><b>FORMER</b></td>
          200  +            <td align="right">&nbsp;</td>
          201  +          </tr>
          202  +          <tr>
          203  +            <td align="right"><a class="navigation" href="http://sourceforge.net/projects/spamato/" target="_blank"><b>Spamato</b></a></td>
          204  +            <td align="right">&nbsp;</td>
          205  +          </tr>
          206  +          <tr>
          207  +      <td align="right"><a class="navigation" href="http://www.venturekick.ch/index.cfm?page=129733&profil_id=986" target="_blank"><b>StreamForge</b></a></td>
          208  +            <td align="right">&nbsp;</td>
          209  +          <tr>
          210  +            <td align="right"><a class="navigation" href="https://en.wikipedia.org/wiki/Wuala" target="_blank"><b>Wuala</b></a></td>
          211  +            <td align="right">&nbsp;</td>
          212  +          </tr>
          213  +        </table></td>
          214  +        <td style="padding: 18px 18px 18px 0;">
          215  +        <!-- BEGIN MAIN CONTENT -->
          216  +
          217  +
          218  +<!-- start of Main Page: Do not change above this line!-->
          219  +
          220  +<table border="0" width="100%">
          221  +<tr><td width="400">
          222  +
          223  +<H3>Dipl. Informatik-Ing. ETH</H3>
          224  +<H1>Benjamin Sigg</H1>
          225  +<P>
          226  +	<a href="../index.html">Distributed Computing Group</a><br>
          227  +	<a href="http://www.tik.ee.ethz.ch/" target="_blank"> Computer Engineering and Networks Laboratory (TIK)</a><br>
          228  +	<a href="http://www.ee.ethz.ch/" target="_blank">D-ITET</a><br>
          229  +	ETZ G64.1<br>
          230  +	<a href="http://www.ethz.ch/" target="_blank">ETH</a> Zentrum<br>
          231  +	CH-8092 Z&uuml;rich<br>
          232  +	Switzerland<br>
          233  +</p>
          234  +<p>
          235  +	phone +41 44 632 4448<br>
          236  +	fax +41 44 632 1035<br>
          237  +	email <script language='JavaScript' type='text/javascript'>
          238  +<!--
          239  +var prefix = '&#109;a' + 'i&#108;' + '&#116;o';
          240  +var path = 'hr' + 'ef' + '=';
          241  +var addy = 'besigg' + '&#64;' + 'tik&#46;';
          242  +addy += 'ee&#46;' + 'ethz&#46;' + 'ch';
          243  +document.write( '<a ' + path + '\'' + prefix + ':' + addy + '\''+'>' + addy + '</a>' );
          244  +//-->
          245  +</script>
          246  +<noscript>This email address is protected from spam bots. You need Javascript enabled to view it. </noscript>
          247  +	<br><br>
          248  +</P>
          249  +</td>
          250  +<td valign="top" halign="left">
          251  +<br><br><br>
          252  +<img height="200" width="150" border="0" alt="Benjamin Sigg" src="../pics/benjamin.jpg">
          253  +</td>
          254  +</tr>
          255  +</table>
          256  +
          257  +<h3>Publications</h3>
          258  +<ul type="circle">
          259  +	<li style="margin-bottom:5px;"><a href="../publications/sensys09_yeti.pdf">Demo Abstract: YETI - An Eclipse Plug-in for TinyOS 2.1</a>
          260  +		<br />
          261  +		Nicolas Burri,  Roland Flury,  Silvan Nellen,  Benjamin Sigg,  Philipp Sommer, and  Roger Wattenhofer.<br />
          262  +		7th ACM Conference on Embedded Networked Sensor Systems (SenSys), Berkeley, California, USA, November 2009.<br />
          263  +		Documents: paper <a href="../publications/sensys09_yeti.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=499.html" target="_blank">bibtex</a> links <a href="../publications/sensys09_yeti_poster.pdf">SenSys'09 Poster</a> <br />
          264  +	</li>
          265  +</ul><p>&nbsp;</p>
          266  +<h3>Theses &amp; Labs</h3>
          267  +		<table border="0" width="100%" cellspacing="0" cellpadding="10">
          268  +		<tr>
          269  +			<td colspan="6" valign="top" align="left">
          270  +				<p class="topic">available theses &amp; labs</p>
          271  +			</td>
          272  +		</tr>
          273  +
          274  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          275  +
          276  +		<tr>
          277  +			<th class="noline" width="2%">&nbsp;</th>
          278  +			<th width="35%">title</th>
          279  +			<th width="10%">type</th>
          280  +			<th width="20%">contact/supervisor</th>
          281  +			<th width="13%">assigned</th>
          282  +			<th width="20%">&nbsp;</th>
          283  +		</tr>
          284  +
          285  +		
          286  +		<tr>
          287  +			<td colspan="6" valign="top" align="left">
          288  +				<p class="topic">current theses &amp; labs</p>
          289  +			</td>
          290  +		</tr>
          291  +
          292  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          293  +
          294  +		<tr>
          295  +			<th class="noline">&nbsp;</th>
          296  +			<th>title</th>
          297  +			<th>type</th>
          298  +			<th>contact/supervisor</th>
          299  +			<th>assigned</th>
          300  +			<th>student(s)</th>
          301  +		</tr>
          302  +
          303  +		
          304  +		<tr>
          305  +			<td colspan="6" valign="top" align="left">
          306  +				<p class="topic">past theses &amp; labs</p>
          307  +			</td>
          308  +		</tr>
          309  +
          310  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          311  +
          312  +		<tr>
          313  +			<th class="noline">&nbsp;</th>
          314  +			<th>title</th>
          315  +			<th>type</th>
          316  +			<th>supervisor</th>
          317  +			<th>year</th>
          318  +			<th>student(s)</th>
          319  +		</tr>
          320  +
          321  +		<tr>
          322  +<td valign="top" align="left""><a href="../theses/fs10/report_claudio_botta.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          323  +<td valign="top" align="left" class="line">Distributed Conversion of Public Transport Schedules (<a href="../theses/fs10/report_claudio_botta.pdf">report</a>)</td>
          324  +<td valign="top" align="left" class="line">M</td>
          325  +<td valign="top" align="left" class="line"><a href="../members/benjamin.html">Benjamin Sigg</a>,<br>Patrick Bönzli</td>
          326  +<td valign="top" align="left" class="line">FS 10</td>
          327  +<td valign="top" align="left" class="line"><script type="text/javascript">
          328  +/*<![CDATA[*/
          329  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%6f%74%74%61%63%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%43%6c%61%75%64%69%6f%20%42%6f%74%74%61%3c%2f%61%3e%27%29'))
          330  +/*]]>*/
          331  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          332  +</tr>
          333  +<tr>
          334  +<td valign="top" align="left""><a href="../theses/fs10/yeti_refactoring.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          335  +<td valign="top" align="left" class="bottom">Refactoring support for TinyOS in Eclipse (<a href="../theses/fs10/refactor.pdf">bait</a>, <a href="../theses/fs10/yeti_refactoring.pdf">report</a>)</td>
          336  +<td valign="top" align="left" class="bottom">L</td>
          337  +<td valign="top" align="left" class="bottom"><a href="../members/benjamin.html">Benjamin Sigg</a></td>
          338  +<td valign="top" align="left" class="bottom">FS 10</td>
          339  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          340  +/*<![CDATA[*/
          341  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%68%65%75%73%73%65%72%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4e%6f%61%68%20%48%65%75%73%73%65%72%3c%2f%61%3e%27%29'))
          342  +/*]]>*/
          343  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          344  +/*<![CDATA[*/
          345  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%75%72%65%63%68%6d%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%61%78%20%55%72%65%63%68%3c%2f%61%3e%27%29'))
          346  +/*]]>*/
          347  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          348  +</tr>
          349  +<tr>
          350  +<td valign="top" align="left""><a href="../theses/hs09/yeti_formatting_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          351  +<td valign="top" align="left" class="bottom">Code Formatting for TinyOS in Eclipse (<a href="../theses/hs09/yeti_formatting.pdf">bait</a>, <a href="../theses/hs09/yeti_formatting_report.pdf">report</a>)</td>
          352  +<td valign="top" align="left" class="bottom">RiCS</td>
          353  +<td valign="top" align="left" class="bottom"><a href="../members/benjamin.html">Benjamin Sigg</a></td>
          354  +<td valign="top" align="left" class="bottom">HS 09</td>
          355  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          356  +/*<![CDATA[*/
          357  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6a%6f%6f%6f%79%2e%6c%69%40%67%6d%61%69%6c%2e%63%6f%6d%22%3e%4a%69%61%6e%79%75%61%6e%20%4c%69%3c%2f%61%3e%27%29'))
          358  +/*]]>*/
          359  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          360  +</tr>
          361  +<tr>
          362  +<td valign="top" align="left""><a href="../theses/fs09/Silvan_Nellen_tinyos_debugger.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          363  +<td valign="top" align="left" class="line">Eclipse Plugin for TinyOS Debugging (<a href="../theses/fs09/tinyos_debugger.pdf">bait</a>, <a href="../theses/fs09/Silvan_Nellen_tinyos_debugger.pdf">report</a>)</td>
          364  +<td valign="top" align="left" class="line">S</td>
          365  +<td valign="top" align="left" class="line"><a href="../members/benjamin.html">Benjamin Sigg</a>,<br><a href="../members/philipp.html">Philipp Sommer</a></td>
          366  +<td valign="top" align="left" class="line">FS 09</td>
          367  +<td valign="top" align="left" class="line"><script type="text/javascript">
          368  +/*<![CDATA[*/
          369  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%6e%65%6c%6c%65%6e%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%53%69%6c%76%61%6e%20%4e%65%6c%6c%65%6e%3c%2f%61%3e%27%29'))
          370  +/*]]>*/
          371  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          372  +</tr>
          373  +
          374  +		</table>
          375  +
          376  +		<p>&nbsp;</p>
          377  +<!-- add more content here... -->
          378  +
          379  +<!-- end of page> -->
          380  +	</td></tr>
          381  +</table>
          382  +
          383  +<!--<table border="0" cellspacing="0" cellpadding="0" width="99%" align="center">
          384  +	<tr><td style="font-size:8pt;" align="right" nowrap><br><br>&copy; <a href="/" style="font-size:8pt;">Distributed Computing Group</a></td></tr>
          385  +</table>-->

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_wget_copy_of_http_disco_ethz_ch_projects_sinalgo/bonnet/disco.ethz.ch/alumni/bregina.html version [ac4b0d19f9].

            1  +<?xml version="1.0" encoding="utf-8"?>
            2  +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            3  +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4  +
            5  +<html xmlns="http://www.w3.org/1999/xhtml">
            6  +
            7  +<head>
            8  +	<title>Regina O'Dell </title>
            9  +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           10  +        <meta http-equiv="Content-Style-Type" content="text/css" />
           11  +        <meta http-equiv="Content-Script-Type" content="text/javascript" />
           12  +	<meta name="author" content="user" />
           13  +	<meta name="description" content="Distributed Computing Group" />
           14  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, disco" />
           15  +    	<meta name="robots" content="noarchive" />
           16  +    	<link rel="shortcut icon" href="../images/favicon.gif" />
           17  +	<meta name='B-verify' content='7f691552aa36eb0d977e5a33e088439dfa1ad843' />
           18  +	
           19  +    <!-- ************************************************************************************************************************************************ -->
           20  +    <!-- BEGIN discoHead include -->
           21  +	        <!-- ************************************************************************************************************************************************ -->
           22  +        <!-- BEGIN cascading style sheets (CSS) -->
           23  +		<style type="text/css">
           24  +		/*<![CDATA[*/
           25  +			@import url(../css/ns4.css);
           26  +			@import url(../css/colors_c010.css);
           27  +			@import url(../css/modernbrowsers.css);
           28  +			@import url(../css/silva.css);
           29  +			@import url(../css/customstyles.css);
           30  +			@import url(../css/disco.css);
           31  +		/*]]>*/
           32  +		</style>
           33  +		<style type="text/css">
           34  +		/*<![CDATA[*/
           35  +			.logo-bg  {
           36  +				background-image: url(../images/screen_disco_glow_04-01.jpg); background-repeat: no-repeat;
           37  +			}
           38  +			.logo-bg1 {
           39  +				background-image: url(../images/screen_disco_glow_04-02.jpg); background-repeat: no-repeat;
           40  +			}
           41  +			/*div.identity-image  {
           42  +				background-image: url(/images/screen_disco_glow_04.jpg); background-repeat: repeat
           43  +			}*/
           44  +			.mainnav, .screenhead, .color5-back, .color4-back, .color3-back, .color2-back, .color1-back, .servicenav, .transparent  {
           45  +				background-image: url(../images/transparent.gif)
           46  +			}
           47  +			body {
           48  +				margin:0;
           49  +				padding:0;
           50  +			}
           51  +		/*]]>*/
           52  +		</style>
           53  +        <style media="print">
           54  +		/*<![CDATA[*/
           55  +        	@import url(../css/print.css);
           56  +		/*]]>*/
           57  +         </style>
           58  +        <!-- END cascading style sheets (CSS) -->
           59  +        <!-- ************************************************************************************************************************************************ -->
           60  +        <!-- BEGIN script slot -->
           61  +    <!-- END script slot -->
           62  +    <!-- END discoHead include -->
           63  +    <!-- ************************************************************************************************************************************************ -->
           64  +
           65  +</head>
           66  +
           67  +<body bgcolor="#ffffff" text="#000000" link="#0000e0" vlink="#0000e0" alink="#00a000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" >
           68  +    <a id="top" name="top" />
           69  +    <map name="Map" id="Map">
           70  +       <area shape="rect" coords="2,28,212,51" href="../index.html" target="_self" alt="Distributed Computing Group" />
           71  +     </map>
           72  +    <map name="Map2" id="Map2">
           73  +      <area shape="rect" coords="9,25,198,78" href="../index.html" target="_self" alt="Distributed Computing Group" />
           74  +    </map>
           75  +
           76  +	<table border="0" cellspacing="0" cellpadding="0" width="100%">
           77  +      <tr>
           78  +        <td width="220" style="background-image:url(../images/screen_disco_glow_04-01.jpg)"><img src="../images/eth_logo_white_04.png" alt="ETH Zurich" width="220" height="105" border="0" usemap="#Map2" /></td>
           79  +        <td width="100%" valign="top" style="background-image:url(../images/screen_disco_glow_04-02.jpg)"><img src="../images/disco_text_01a.png" alt="Distributed Computing Group" width="452" height="54" border="0" usemap="#Map" /></td>
           80  +      </tr>
           81  +    </table></td>
           82  +</tr>
           83  +  <tr>
           84  +    <td>
           85  +<!-- START path -->
           86  +		<div class="pathline">
           87  +			<a class="path" href="http://www.ethz.ch/" title="ETH Zurich">ETH Zurich</a> – <a class="path" href="http://www.ee.ethz.ch/" title="Department of Electrical Engineering (ITET)">ITET</a> – <a class="path" href="http://www.tik.ee.ethz.ch/" title="Computer Engineering and Networks Laboratory (TIK)">TIK</a> – <a class="path" href="../index.html" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a>
           88  +            <span style="color:black;"> – <a class="path" href="index.html">Alumni</a> – <a class="path" href="bregina.html">Regina ODell -Bischoff</a></span>
           89  +			</div>
           90  +<!-- END Pathline -->
           91  +    </td>
           92  +  </tr>
           93  +<tr>
           94  +    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
           95  +      <tr>
           96  +        <td width="220"><br /><table border="0" cellspacing="0" cellpadding="4" width="220px">
           97  +          <tr>
           98  +            <td align="right"><a class="navigation" href="../index.html"><b>HOME </b></a></td>
           99  +            <td align="right"><img src="../images/transparent.gif" border="0" width="10" /></td>
          100  +          </tr>
          101  +          <tr>
          102  +            <td align="right"><a class="navigation" href="index.html"><b>MEMBERS </b></a></td>
          103  +            <td align="right">&nbsp;</td>
          104  +          </tr>
          105  +          <tr>
          106  +            <td align="right"><a class="navigation" href="../publications.html"><b>PUBLICATIONS </b></a></td>
          107  +            <td align="right">&nbsp;</td>
          108  +          </tr>
          109  +          <tr>
          110  +            <td align="right"><a class="navigation" href="../lectures/fs10/index.html"><b>COURSES </b></a></td>
          111  +            <td align="right">&nbsp;</td>
          112  +          </tr>
          113  +          <tr>
          114  +            <td align="right"><a class="navigation" href="../theses.html"><b>THESES </b></a></td>
          115  +            <td align="right">&nbsp;</td>
          116  +          </tr>
          117  +          <tr>
          118  +            <td align="right"><a class="navigation" href="https://wiki.disco.ethz.ch"><b>WIKI </b></a></td>
          119  +            <td align="right">&nbsp;</td>
          120  +          </tr>
          121  +          <tr>
          122  +            <td align="right"><a class="navigation" href="../contact.html"><b>CONTACT </b></a></td>
          123  +            <td align="right">&nbsp;</td>
          124  +          </tr>
          125  +          <tr>
          126  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          127  +            <td align="right">&nbsp;</td>
          128  +          </tr>
          129  +          <tr>
          130  +            <td align="right"><b>SOFTWARE & APPS</b></td>
          131  +            <td align="right">&nbsp;</td>
          132  +          </tr>
          133  +          <tr>
          134  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/beng" target="_blank"><b>benG</b></a></td>
          135  +            <td align="right">&nbsp;</td>
          136  +          </tr>
          137  +          <tr>
          138  +            <td align="right"><a class="navigation" href="http://www.bitthief.ethz.ch/" target="_blank"><b>BitThief</b></a></td>
          139  +            <td align="right">&nbsp;</td>
          140  +          </tr>
          141  +          <tr>
          142  +            <td align="right"><a class="navigation" href="http://www.confsearch.org" target="_blank"><b>Conference Search</b></a></td>
          143  +            <td align="right">&nbsp;</td>
          144  +          </tr>
          145  +           <tr>
          146  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.disco.gino.androidbenchmarkaccessibilityrecorder&hl=en" target="_blank"><b>DiscoMark</b></a></td>
          147  +            <td align="right">&nbsp;</td>
          148  +          </tr>
          149  +          <tr>
          150  +            <td align="right"><a class="navigation" href="http://www.jukefox.org/" target="_blank"><b>jukefox</b></a></td>
          151  +            <td align="right">&nbsp;</td>
          152  +          </tr>
          153  +          <tr>
          154  +            <td align="right"><a class="navigation" href="https://kaennsch.me" target="_blank"><b>Kännsch</b></a></td>
          155  +            <td align="right">&nbsp;</td>
          156  +          </tr>
          157  +          <tr>
          158  +          <tr>
          159  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/scs" target="_blank"><b>Smart Cloud Storage</b></a></td>
          160  +            <td align="right">&nbsp;</td>
          161  +          </tr>
          162  +          <tr>
          163  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.vinzensg.newspaper20&hl=en" target="_blank"><b>Newspaper 2.0</b></a></td>
          164  +            <td align="right">&nbsp;</td>
          165  +          </tr>
          166  +          <tr>
          167  +            <td align="right"><a class="navigation" href="../projects/sinalgo.1.html" target="_blank"><b>Sinalgo</b></a></td>
          168  +            <td align="right">&nbsp;</td>
          169  +          </tr>
          170  +          <tr>
          171  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ethz.ba.androidClient" target="_blank"><b>sound mate</b></a></td>
          172  +            <td align="right">&nbsp;</td>
          173  +          </tr>
          174  +           <tr>
          175  +            <td align="right"><a class="navigation" href="http://tos-ide.ethz.ch/" target="_blank"><b>TinyOS IDE </b></a></td>
          176  +            <td align="right">&nbsp;</td>
          177  +          </tr>
          178  +          <!--<tr>
          179  +            <td align="right"><a class="navigation" href="/theory.html" target="_self"><b>Theory</b></a></td>
          180  +            <td align="right">&nbsp;</td>
          181  +          </tr>-->
          182  +          <tr>
          183  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          184  +            <td align="right">&nbsp;</td>
          185  +          </tr>
          186  +          <tr>
          187  +            <td align="right"><b>SPIN-OFFs</b></td>
          188  +            <td align="right">&nbsp;</td>
          189  +          </tr>
          190  +          <tr>
          191  +            <td align="right"><a class="navigation" href="http://sunbeat-uv.com/" target="_blank"><b>BitSplitters</b></a></td>
          192  +            <td align="right">&nbsp;</td>
          193  +          </tr>
          194  +          <tr>
          195  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          196  +            <td align="right">&nbsp;</td>
          197  +          </tr>
          198  +          <tr>
          199  +            <td align="right"><b>FORMER</b></td>
          200  +            <td align="right">&nbsp;</td>
          201  +          </tr>
          202  +          <tr>
          203  +            <td align="right"><a class="navigation" href="http://sourceforge.net/projects/spamato/" target="_blank"><b>Spamato</b></a></td>
          204  +            <td align="right">&nbsp;</td>
          205  +          </tr>
          206  +          <tr>
          207  +      <td align="right"><a class="navigation" href="http://www.venturekick.ch/index.cfm?page=129733&profil_id=986" target="_blank"><b>StreamForge</b></a></td>
          208  +            <td align="right">&nbsp;</td>
          209  +          <tr>
          210  +            <td align="right"><a class="navigation" href="https://en.wikipedia.org/wiki/Wuala" target="_blank"><b>Wuala</b></a></td>
          211  +            <td align="right">&nbsp;</td>
          212  +          </tr>
          213  +        </table></td>
          214  +        <td style="padding: 18px 18px 18px 0;">
          215  +        <!-- BEGIN MAIN CONTENT -->
          216  +
          217  +<!-- start of Main Page: Do not change above this line!-->
          218  +
          219  +<table border="0" width="100%">
          220  +<tr><td width="400">
          221  +
          222  +<H3>Dr. sc. ETH Z&uuml;rich</H3>
          223  +<H1>Regina O'Dell<br>(nee Bischoff)</H1>
          224  +<p>
          225  +	email <script language='JavaScript' type='text/javascript'>
          226  +<!--
          227  +var prefix = '&#109;a' + 'i&#108;' + '&#116;o';
          228  +var path = 'hr' + 'ef' + '=';
          229  +var addy = 'odell' + '&#64;' + 'google&#46;';
          230  +addy += 'com';
          231  +document.write( '<a ' + path + '\'' + prefix + ':' + addy + '\''+'>' + addy + '</a>' );
          232  +//-->
          233  +</script>
          234  +<noscript>This email address is protected from spam bots. You need Javascript enabled to view it. </noscript>
          235  +	<br><br>
          236  +</P>
          237  +</td>
          238  +<td valign="top" halign="left">
          239  +<br><br><br>
          240  +<img height="200" width="150" border="0" alt="Regina O'Dell" src="../pics/regina.jpg">
          241  +</td>
          242  +</tr>
          243  +</table>
          244  +
          245  +<!--<h4><a href="regina/conferences.html">Upcoming Conferences (old)</a></h4>-->
          246  +
          247  +<p>
          248  +(selected) <b><a href="http://disco.ethz.ch/alumni/regina/conferences.html">Upcoming Conferences</a></b>
          249  +</p>
          250  +
          251  +<p>
          252  +<b>Research Interests:</b> mobile/dynamic networks, graph embedding (virtual coordinates, positioning)
          253  +</p>
          254  +
          255  +<h3>Publications</h3>
          256  +<ul type="circle">
          257  +	<li style="margin-bottom:5px;"><a href="../publications/dissregina06.pdf">Understanding Ad hoc Networks From Geometry to Mobility</a>
          258  +		<br />
          259  +		Regina O'Dell.<br />
          260  +		PhD Thesis, ETH Zurich, Diss. ETH No. 16800, September 2006.<br />
          261  +		Documents: paper <a href="../publications/dissregina06.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=257.html" target="_blank">bibtex</a><br />
          262  +	</li>
          263  +	<li style="margin-bottom:5px;"><a href="../publications/tcs05.pdf">Theoretical aspects of connectivity-based multi-hop positioning</a>
          264  +		<br />
          265  +		Regina O'Dell and Roger Wattenhofer. (Journal version of PerCom 2004 paper)<br />
          266  +		Theoretical Computer Science 344:1 (2005), pp. 47-68, November 2005.<br />
          267  +		Documents: paper <a href="../publications/tcs05.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=162.html" target="_blank">bibtex</a><br />
          268  +	</li>
          269  +	<li style="margin-bottom:5px;"><a href="../publications/dialm05a.pdf">Information Dissemination in Highly Dynamic Graphs</a>
          270  +		<br />
          271  +		Regina O'Dell and Roger Wattenhofer.<br />
          272  +		3rd ACM Joint Workshop on Foundations of Mobile Computing (DIALM-POMC), Cologne, Germany, September 2005.<br />
          273  +		Documents: paper <a href="../publications/dialm05a.pdf">pdf</a> <a href="../publications/dialm05a.ps">ps</a> slides <a href="../publications/dialm05a_slides.pdf">pdf</a> <a href="../publications/dialm05a_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=154.html" target="_blank">bibtex</a><br />
          274  +	</li>
          275  +	<li style="margin-bottom:5px;"><a href="../publications/realwsn05.pdf">Lost in Space Or Positioning in Sensor Networks</a>
          276  +		<br />
          277  +		Michael O'Dell, Regina O'Dell, Mirjam Wattenhofer, and Roger Wattenhofer.<br />
          278  +		Workshop on Real-World Wireless Sensor Networks (REALWSN), Stockholm, Sweden, June 2005.<br />
          279  +		Documents: paper <a href="../publications/realwsn05.pdf">pdf</a> <a href="../publications/realwsn05.ps">ps</a> slides <a href="../publications/realwsn05_slides.pdf">pdf</a> <a href="../publications/realwsn05_slides.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=126.html" target="_blank">bibtex</a><br />
          280  +	</li>
          281  +	<li style="margin-bottom:5px;"><a href="../publications/dialm04c.pdf">Virtual Coordinates for Ad hoc and Sensor Networks</a>
          282  +		<br />
          283  +		Thomas Moscibroda, Regina O'Dell, Mirjam Wattenhofer, and Roger Wattenhofer.<br />
          284  +		ACM Joint Workshop on Foundations of Mobile Computing (DIALM-POMC), Philadelphia, Pennsylvania, USA, October 2004.<br />
          285  +		Documents: paper <a href="../publications/dialm04c.pdf">pdf</a> <a href="../publications/dialm04c.ps">ps</a> slides <a href="../publications/dialm04b_slides.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=99.html" target="_blank">bibtex</a><br />
          286  +	</li>
          287  +	<li style="margin-bottom:5px;"><a href="../publications/ghost.pdf">Analyzing Connectivity-Based, Multi-Hop Ad-hoc Positioning</a>
          288  +		<br />
          289  +		Regina Bischoff and Roger Wattenhofer.<br />
          290  +		2nd IEEE International Conference on Pervasive Computing and Communications (PerCom), Orlando, Florida, USA, March 2004.<br />
          291  +		Documents: paper <a href="../publications/ghost.pdf">pdf</a> <a href="../publications/ghost.ps">ps</a> slides <a href="../publications/percom03.pdf">pdf</a> <a href="../publications/percom03.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=72.html" target="_blank">bibtex</a><br />
          292  +	</li>
          293  +</ul><p>&nbsp;</p>
          294  +<h3>Theses &amp; Labs</h3>
          295  +		<table border="0" width="100%" cellspacing="0" cellpadding="10">
          296  +		<tr>
          297  +			<td colspan="6" valign="top" align="left">
          298  +				<p class="topic">available theses &amp; labs</p>
          299  +			</td>
          300  +		</tr>
          301  +
          302  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          303  +
          304  +		<tr>
          305  +			<th class="noline" width="2%">&nbsp;</th>
          306  +			<th width="35%">title</th>
          307  +			<th width="10%">type</th>
          308  +			<th width="20%">contact/supervisor</th>
          309  +			<th width="13%">assigned</th>
          310  +			<th width="20%">&nbsp;</th>
          311  +		</tr>
          312  +
          313  +		
          314  +		<tr>
          315  +			<td colspan="6" valign="top" align="left">
          316  +				<p class="topic">current theses &amp; labs</p>
          317  +			</td>
          318  +		</tr>
          319  +
          320  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          321  +
          322  +		<tr>
          323  +			<th class="noline">&nbsp;</th>
          324  +			<th>title</th>
          325  +			<th>type</th>
          326  +			<th>contact/supervisor</th>
          327  +			<th>assigned</th>
          328  +			<th>student(s)</th>
          329  +		</tr>
          330  +
          331  +		
          332  +		<tr>
          333  +			<td colspan="6" valign="top" align="left">
          334  +				<p class="topic">past theses &amp; labs</p>
          335  +			</td>
          336  +		</tr>
          337  +
          338  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          339  +
          340  +		<tr>
          341  +			<th class="noline">&nbsp;</th>
          342  +			<th>title</th>
          343  +			<th>type</th>
          344  +			<th>supervisor</th>
          345  +			<th>year</th>
          346  +			<th>student(s)</th>
          347  +		</tr>
          348  +
          349  +		<tr>
          350  +<td valign="top" align="left""><img height=60 width=60 src="../pics/logo_faded.jpg"></td>
          351  +<td valign="top" align="left" class="bottom">Competitive Routing in Dynamic Graphs</td>
          352  +<td valign="top" align="left" class="bottom">S</td>
          353  +<td valign="top" align="left" class="bottom"><a href="../members/regina.html">Regina O'Dell</a></td>
          354  +<td valign="top" align="left" class="bottom">SS 06</td>
          355  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          356  +/*<![CDATA[*/
          357  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%74%65%66%61%67%65%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%53%74%65%66%61%6e%20%47%65%69%73%73%65%6c%65%72%3c%2f%61%3e%27%29'))
          358  +/*]]>*/
          359  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          360  +</tr>
          361  +<tr>
          362  +<td valign="top" align="left""><a href="../theses/ws0506/embedding_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          363  +<td valign="top" align="left" class="bottom">Embedding Unit Disk Graphs (<a href="../theses/ws0506/embedding_report.pdf">report</a>)</td>
          364  +<td valign="top" align="left" class="bottom">intern</td>
          365  +<td valign="top" align="left" class="bottom"><a href="../members/regina.html">Regina O'Dell</a></td>
          366  +<td valign="top" align="left" class="bottom">WS 05/06</td>
          367  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          368  +/*<![CDATA[*/
          369  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6a%6d%76%40%76%65%72%62%72%65%65%2e%6e%65%74%22%3e%4a%61%6e%2d%4d%61%61%72%74%65%6e%20%56%65%72%62%72%65%65%3c%2f%61%3e%27%29'))
          370  +/*]]>*/
          371  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          372  +</tr>
          373  +<tr>
          374  +<td valign="top" align="left""><a href="http://disco.ethz.ch/theses/ss05/embedding_unit_disk_trees.f"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          375  +<td valign="top" align="left" class="line">Embedding of Unit Disk Trees (<a href="../theses/ss05/embedding_bait.pdf">bait</a>, <a href="http://disco.ethz.ch/theses/ss05/embedding_unit_disk_trees.f">report</a>)</td>
          376  +<td valign="top" align="left" class="line">M</td>
          377  +<td valign="top" align="left" class="line"><a href="../members/regina.html">Regina O'Dell</a>,<br><a href="mailto:tmirjam@inf.ethz.ch">Mirjam Tolksdorf</a></td>
          378  +<td valign="top" align="left" class="line">SS 05</td>
          379  +<td valign="top" align="left" class="line"><script type="text/javascript">
          380  +/*<![CDATA[*/
          381  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%61%6f%74%74%69%67%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%41%6e%64%72%65%61%73%20%4f%74%74%69%67%65%72%3c%2f%61%3e%27%29'))
          382  +/*]]>*/
          383  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          384  +</tr>
          385  +<tr>
          386  +<td valign="top" align="left""><a href="../theses/ss05/mics-embedding_bait.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          387  +<td valign="top" align="left" class="line">Graph Embeddings (<a href="../theses/ss05/mics-embedding_bait.pdf">bait</a>, <a href="../theses/ss05/mics-embedding_report.pdf">german report</a>)</td>
          388  +<td valign="top" align="left" class="line">intern</td>
          389  +<td valign="top" align="left" class="line"><a href="../members/regina.html">Regina O'Dell</a></td>
          390  +<td valign="top" align="left" class="line">SS 05</td>
          391  +<td valign="top" align="left" class="line"><script type="text/javascript">
          392  +/*<![CDATA[*/
          393  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%69%73%73%5f%6d%69%6c%6b%79%77%61%79%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%47%6c%6f%72%69%61%20%4d%75%65%6c%6c%65%72%3c%2f%61%3e%27%29'))
          394  +/*]]>*/
          395  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          396  +</tr>
          397  +<tr>
          398  +<td valign="top" align="left""><a href="../theses/ss05/internetMapping_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          399  +<td valign="top" align="left" class="line">Mapping the Internet (<a href="../theses/ss05/internetMapping_bait.pdf">bait</a>, <a href="../theses/ss05/internetMapping_report.pdf">report</a>)</td>
          400  +<td valign="top" align="left" class="line">S</td>
          401  +<td valign="top" align="left" class="line"><a href="../members/regina.html">Regina O'Dell</a>,<br><a href="mailto:tmirjam@inf.ethz.ch">Mirjam Tolksdorf</a></td>
          402  +<td valign="top" align="left" class="line">SS 05</td>
          403  +<td valign="top" align="left" class="line"><script type="text/javascript">
          404  +/*<![CDATA[*/
          405  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%79%6a%61%63%6f%62%79%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%59%76%65%73%20%4a%61%63%6f%62%79%3c%2f%61%3e%27%29'))
          406  +/*]]>*/
          407  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          408  +</tr>
          409  +<tr>
          410  +<td valign="top" align="left""><a href="../theses/ss05/mobility_bait.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          411  +<td valign="top" align="left" class="bottom">Mobility Models (<a href="../theses/ss05/mobility_bait.pdf">bait</a>)</td>
          412  +<td valign="top" align="left" class="bottom">S</td>
          413  +<td valign="top" align="left" class="bottom"><a href="../members/regina.html">Regina O'Dell</a></td>
          414  +<td valign="top" align="left" class="bottom">SS 05</td>
          415  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          416  +/*<![CDATA[*/
          417  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%69%6c%64%65%66%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%46%6c%6f%72%69%61%6e%20%4d%69%6c%64%65%3c%2f%61%3e%27%29'))
          418  +/*]]>*/
          419  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          420  +</tr>
          421  +<tr>
          422  +<td valign="top" align="left""><a href="../theses/ss04/dynamicLabeling_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          423  +<td valign="top" align="left" class="line">Dynamic Graph Labelings (<a href="../theses/ss04/dynamicLabeling_bait.pdf">bait</a>, <a href="../theses/ss04/dynamicLabeling_report.pdf">report</a>)</td>
          424  +<td valign="top" align="left" class="line">S</td>
          425  +<td valign="top" align="left" class="line"><a href="../members/regina.html">Regina O'Dell</a></td>
          426  +<td valign="top" align="left" class="line">SS 04</td>
          427  +<td valign="top" align="left" class="line"><script type="text/javascript">
          428  +/*<![CDATA[*/
          429  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%61%6e%6b%69%6e%65%6c%6c%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%41%6e%64%72%65%61%73%20%4b%69%6e%65%6c%6c%3c%2f%61%3e%27%29'))
          430  +/*]]>*/
          431  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          432  +</tr>
          433  +<tr>
          434  +<td valign="top" align="left""><a href="../theses/ss04/internetCoords_assignment.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          435  +<td valign="top" align="left" class="line">Internet Coordinates (<a href="../theses/ss04/internetCoords_assignment.pdf">assignment</a>, <a href="../theses/ss04/internetCoords_report.pdf">german report</a>)</td>
          436  +<td valign="top" align="left" class="line">D</td>
          437  +<td valign="top" align="left" class="line"><a href="../members/regina.html">Regina O'Dell</a></td>
          438  +<td valign="top" align="left" class="line">SS 04</td>
          439  +<td valign="top" align="left" class="line"><script type="text/javascript">
          440  +/*<![CDATA[*/
          441  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%72%75%67%67%65%73%73%65%72%40%67%6d%78%2e%6e%65%74%22%3e%44%61%6e%69%65%6c%20%42%72%75%67%67%65%73%73%65%72%3c%2f%61%3e%27%29'))
          442  +/*]]>*/
          443  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          444  +</tr>
          445  +<tr>
          446  +<td valign="top" align="left""><a href="../theses/ss04/routingApps_assignment.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          447  +<td valign="top" align="left" class="line">Routing and Applications in Mobile Ad hoc Networks (<a href="../theses/ss04/routingApps_assignment.pdf">assignment</a>, <a href="../theses/ss04/routingApps_report.pdf">german report</a>)</td>
          448  +<td valign="top" align="left" class="line">M</td>
          449  +<td valign="top" align="left" class="line"><a href="../members/regina.html">Regina O'Dell</a></td>
          450  +<td valign="top" align="left" class="line">SS 04</td>
          451  +<td valign="top" align="left" class="line"><script type="text/javascript">
          452  +/*<![CDATA[*/
          453  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%6f%73%74%65%66%61%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%53%74%65%66%61%6e%20%42%6f%6c%6c%6d%61%6e%6e%3c%2f%61%3e%27%29'))
          454  +/*]]>*/
          455  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          456  +</tr>
          457  +<tr>
          458  +<td valign="top" align="left""><a href="../theses/ss04/virtualCoords_assignment.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          459  +<td valign="top" align="left" class="bottom">Virtual Coordinates Simulation (<a href="../theses/ss04/virtualCoords_bait.pdf">bait</a>, <a href="../theses/ss04/virtualCoords_assignment.pdf">assignment</a>, <a href="../theses/ss04/virtualCoords_report.pdf">german report</a>)</td>
          460  +<td valign="top" align="left" class="bottom">D</td>
          461  +<td valign="top" align="left" class="bottom"><a href="../members/regina.html">Regina O'Dell</a>,<br><a href="mailto:tmirjam@inf.ethz.ch">Mirjam Tolksdorf</a></td>
          462  +<td valign="top" align="left" class="bottom">SS 04</td>
          463  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          464  +/*<![CDATA[*/
          465  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%67%66%72%65%72%6b%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%47%75%69%64%6f%20%46%72%65%72%6b%65%72%3c%2f%61%3e%27%29'))
          466  +/*]]>*/
          467  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          468  +</tr>
          469  +<tr>
          470  +<td valign="top" align="left""><a href="../theses/ws0304/analysisRoutingAlgos_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          471  +<td valign="top" align="left" class="line">Analysis of Ad-Hoc Routing Algorithms (<a href="../theses/ws0304/analysisRoutingAlgos_report.pdf">report</a>, <a href="../theses/ws0304/analysisRoutingAlgos_assignment.pdf">assignment</a>, <a href="../theses/ws0304/analysisRoutingAlgos_bait.pdf">bait</a>)</td>
          472  +<td valign="top" align="left" class="line">D</td>
          473  +<td valign="top" align="left" class="line"><a href="../members/regina.html">Regina O'Dell</a></td>
          474  +<td valign="top" align="left" class="line">WS 03/04</td>
          475  +<td valign="top" align="left" class="line"><script type="text/javascript">
          476  +/*<![CDATA[*/
          477  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%61%73%63%68%69%65%6c%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%61%72%63%20%53%63%68%69%65%6c%79%3c%2f%61%3e%27%29'))
          478  +/*]]>*/
          479  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          480  +</tr>
          481  +<tr>
          482  +<td valign="top" align="left""><a href="../theses/ws0304/asTopology_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          483  +<td valign="top" align="left" class="bottom">AS-Level Internet Topology (<a href="../theses/ws0304/asTopology_report.pdf">report</a>, <a href="../theses/ws0304/asTopology_assignment">assignment</a>)</td>
          484  +<td valign="top" align="left" class="bottom">M</td>
          485  +<td valign="top" align="left" class="bottom"><a href="../members/regina.html">Regina O'Dell</a></td>
          486  +<td valign="top" align="left" class="bottom">WS 03/04</td>
          487  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          488  +/*<![CDATA[*/
          489  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%68%75%62%65%72%62%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%42%65%61%74%72%69%63%65%20%48%75%62%65%72%3c%2f%61%3e%27%29'))
          490  +/*]]>*/
          491  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          492  +</tr>
          493  +<tr>
          494  +<td valign="top" align="left""><a href="../theses/ss03/positioning_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          495  +<td valign="top" align="left" class="line">Positioning Algorithms (<a href="../theses/ss03/positioning_report.pdf">report</a>, <a href="../theses/ss03/positioning_bait.pdf">bait</a>)</td>
          496  +<td valign="top" align="left" class="line">S</td>
          497  +<td valign="top" align="left" class="line"><a href="../members/ruedi.html">Ruedi Arnold</a>,<br><a href="../members/regina.html">Regina O'Dell</a></td>
          498  +<td valign="top" align="left" class="line">SS 03</td>
          499  +<td valign="top" align="left" class="line"><script type="text/javascript">
          500  +/*<![CDATA[*/
          501  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%6f%65%70%70%65%72%63%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%43%68%72%69%73%74%69%6e%61%20%50%6f%65%70%70%65%72%3c%2f%61%3e%27%29'))
          502  +/*]]>*/
          503  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          504  +</tr>
          505  +
          506  +		</table>
          507  +
          508  +		<!-- End of Page Body -->
          509  +	</td></tr>
          510  +</table>
          511  +
          512  +<!--<table border="0" cellspacing="0" cellpadding="0" width="99%" align="center">
          513  +	<tr><td style="font-size:8pt;" align="right" nowrap><br><br>&copy; <a href="/" style="font-size:8pt;">Distributed Computing Group</a></td></tr>
          514  +</table>-->

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_wget_copy_of_http_disco_ethz_ch_projects_sinalgo/bonnet/disco.ethz.ch/alumni/eraphael.html version [ec3b7f7d5d].

            1  +<?xml version="1.0" encoding="utf-8"?>
            2  +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            3  +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4  +
            5  +<html xmlns="http://www.w3.org/1999/xhtml">
            6  +
            7  +<head>
            8  +	<title>Dr. Raphael Eidenbenz </title>
            9  +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           10  +        <meta http-equiv="Content-Style-Type" content="text/css" />
           11  +        <meta http-equiv="Content-Script-Type" content="text/javascript" />
           12  +	<meta name="author" content="user" />
           13  +	<meta name="description" content="Distributed Computing Group" />
           14  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, disco" />
           15  +    	<meta name="robots" content="noarchive" />
           16  +    	<link rel="shortcut icon" href="../images/favicon.gif" />
           17  +	<meta name='B-verify' content='7f691552aa36eb0d977e5a33e088439dfa1ad843' />
           18  +	
           19  +    <!-- ************************************************************************************************************************************************ -->
           20  +    <!-- BEGIN discoHead include -->
           21  +	        <!-- ************************************************************************************************************************************************ -->
           22  +        <!-- BEGIN cascading style sheets (CSS) -->
           23  +		<style type="text/css">
           24  +		/*<![CDATA[*/
           25  +			@import url(../css/ns4.css);
           26  +			@import url(../css/colors_c010.css);
           27  +			@import url(../css/modernbrowsers.css);
           28  +			@import url(../css/silva.css);
           29  +			@import url(../css/customstyles.css);
           30  +			@import url(../css/disco.css);
           31  +		/*]]>*/
           32  +		</style>
           33  +		<style type="text/css">
           34  +		/*<![CDATA[*/
           35  +			.logo-bg  {
           36  +				background-image: url(../images/screen_disco_glow_04-01.jpg); background-repeat: no-repeat;
           37  +			}
           38  +			.logo-bg1 {
           39  +				background-image: url(../images/screen_disco_glow_04-02.jpg); background-repeat: no-repeat;
           40  +			}
           41  +			/*div.identity-image  {
           42  +				background-image: url(/images/screen_disco_glow_04.jpg); background-repeat: repeat
           43  +			}*/
           44  +			.mainnav, .screenhead, .color5-back, .color4-back, .color3-back, .color2-back, .color1-back, .servicenav, .transparent  {
           45  +				background-image: url(../images/transparent.gif)
           46  +			}
           47  +			body {
           48  +				margin:0;
           49  +				padding:0;
           50  +			}
           51  +		/*]]>*/
           52  +		</style>
           53  +        <style media="print">
           54  +		/*<![CDATA[*/
           55  +        	@import url(../css/print.css);
           56  +		/*]]>*/
           57  +         </style>
           58  +        <!-- END cascading style sheets (CSS) -->
           59  +        <!-- ************************************************************************************************************************************************ -->
           60  +        <!-- BEGIN script slot -->
           61  +    <!-- END script slot -->
           62  +    <!-- END discoHead include -->
           63  +    <!-- ************************************************************************************************************************************************ -->
           64  +
           65  +</head>
           66  +
           67  +<body bgcolor="#ffffff" text="#000000" link="#0000e0" vlink="#0000e0" alink="#00a000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" >
           68  +    <a id="top" name="top" />
           69  +    <map name="Map" id="Map">
           70  +       <area shape="rect" coords="2,28,212,51" href="../index.html" target="_self" alt="Distributed Computing Group" />
           71  +     </map>
           72  +    <map name="Map2" id="Map2">
           73  +      <area shape="rect" coords="9,25,198,78" href="../index.html" target="_self" alt="Distributed Computing Group" />
           74  +    </map>
           75  +
           76  +	<table border="0" cellspacing="0" cellpadding="0" width="100%">
           77  +      <tr>
           78  +        <td width="220" style="background-image:url(../images/screen_disco_glow_04-01.jpg)"><img src="../images/eth_logo_white_04.png" alt="ETH Zurich" width="220" height="105" border="0" usemap="#Map2" /></td>
           79  +        <td width="100%" valign="top" style="background-image:url(../images/screen_disco_glow_04-02.jpg)"><img src="../images/disco_text_01a.png" alt="Distributed Computing Group" width="452" height="54" border="0" usemap="#Map" /></td>
           80  +      </tr>
           81  +    </table></td>
           82  +</tr>
           83  +  <tr>
           84  +    <td>
           85  +<!-- START path -->
           86  +		<div class="pathline">
           87  +			<a class="path" href="http://www.ethz.ch/" title="ETH Zurich">ETH Zurich</a> – <a class="path" href="http://www.ee.ethz.ch/" title="Department of Electrical Engineering (ITET)">ITET</a> – <a class="path" href="http://www.tik.ee.ethz.ch/" title="Computer Engineering and Networks Laboratory (TIK)">TIK</a> – <a class="path" href="../index.html" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a>
           88  +            <span style="color:black;"> – <a class="path" href="index.html">Alumni</a> – <a class="path" href="eraphael.html">Raphael Eidenbenz</a></span>
           89  +			</div>
           90  +<!-- END Pathline -->
           91  +    </td>
           92  +  </tr>
           93  +<tr>
           94  +    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
           95  +      <tr>
           96  +        <td width="220"><br /><table border="0" cellspacing="0" cellpadding="4" width="220px">
           97  +          <tr>
           98  +            <td align="right"><a class="navigation" href="../index.html"><b>HOME </b></a></td>
           99  +            <td align="right"><img src="../images/transparent.gif" border="0" width="10" /></td>
          100  +          </tr>
          101  +          <tr>
          102  +            <td align="right"><a class="navigation" href="index.html"><b>MEMBERS </b></a></td>
          103  +            <td align="right">&nbsp;</td>
          104  +          </tr>
          105  +          <tr>
          106  +            <td align="right"><a class="navigation" href="../publications.html"><b>PUBLICATIONS </b></a></td>
          107  +            <td align="right">&nbsp;</td>
          108  +          </tr>
          109  +          <tr>
          110  +            <td align="right"><a class="navigation" href="../lectures/fs10/index.html"><b>COURSES </b></a></td>
          111  +            <td align="right">&nbsp;</td>
          112  +          </tr>
          113  +          <tr>
          114  +            <td align="right"><a class="navigation" href="../theses.html"><b>THESES </b></a></td>
          115  +            <td align="right">&nbsp;</td>
          116  +          </tr>
          117  +          <tr>
          118  +            <td align="right"><a class="navigation" href="https://wiki.disco.ethz.ch"><b>WIKI </b></a></td>
          119  +            <td align="right">&nbsp;</td>
          120  +          </tr>
          121  +          <tr>
          122  +            <td align="right"><a class="navigation" href="../contact.html"><b>CONTACT </b></a></td>
          123  +            <td align="right">&nbsp;</td>
          124  +          </tr>
          125  +          <tr>
          126  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          127  +            <td align="right">&nbsp;</td>
          128  +          </tr>
          129  +          <tr>
          130  +            <td align="right"><b>SOFTWARE & APPS</b></td>
          131  +            <td align="right">&nbsp;</td>
          132  +          </tr>
          133  +          <tr>
          134  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/beng" target="_blank"><b>benG</b></a></td>
          135  +            <td align="right">&nbsp;</td>
          136  +          </tr>
          137  +          <tr>
          138  +            <td align="right"><a class="navigation" href="http://www.bitthief.ethz.ch/" target="_blank"><b>BitThief</b></a></td>
          139  +            <td align="right">&nbsp;</td>
          140  +          </tr>
          141  +          <tr>
          142  +            <td align="right"><a class="navigation" href="http://www.confsearch.org" target="_blank"><b>Conference Search</b></a></td>
          143  +            <td align="right">&nbsp;</td>
          144  +          </tr>
          145  +           <tr>
          146  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.disco.gino.androidbenchmarkaccessibilityrecorder&hl=en" target="_blank"><b>DiscoMark</b></a></td>
          147  +            <td align="right">&nbsp;</td>
          148  +          </tr>
          149  +          <tr>
          150  +            <td align="right"><a class="navigation" href="http://www.jukefox.org/" target="_blank"><b>jukefox</b></a></td>
          151  +            <td align="right">&nbsp;</td>
          152  +          </tr>
          153  +          <tr>
          154  +            <td align="right"><a class="navigation" href="https://kaennsch.me" target="_blank"><b>Kännsch</b></a></td>
          155  +            <td align="right">&nbsp;</td>
          156  +          </tr>
          157  +          <tr>
          158  +          <tr>
          159  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/scs" target="_blank"><b>Smart Cloud Storage</b></a></td>
          160  +            <td align="right">&nbsp;</td>
          161  +          </tr>
          162  +          <tr>
          163  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.vinzensg.newspaper20&hl=en" target="_blank"><b>Newspaper 2.0</b></a></td>
          164  +            <td align="right">&nbsp;</td>
          165  +          </tr>
          166  +          <tr>
          167  +            <td align="right"><a class="navigation" href="../projects/sinalgo.1.html" target="_blank"><b>Sinalgo</b></a></td>
          168  +            <td align="right">&nbsp;</td>
          169  +          </tr>
          170  +          <tr>
          171  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ethz.ba.androidClient" target="_blank"><b>sound mate</b></a></td>
          172  +            <td align="right">&nbsp;</td>
          173  +          </tr>
          174  +           <tr>
          175  +            <td align="right"><a class="navigation" href="http://tos-ide.ethz.ch/" target="_blank"><b>TinyOS IDE </b></a></td>
          176  +            <td align="right">&nbsp;</td>
          177  +          </tr>
          178  +          <!--<tr>
          179  +            <td align="right"><a class="navigation" href="/theory.html" target="_self"><b>Theory</b></a></td>
          180  +            <td align="right">&nbsp;</td>
          181  +          </tr>-->
          182  +          <tr>
          183  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          184  +            <td align="right">&nbsp;</td>
          185  +          </tr>
          186  +          <tr>
          187  +            <td align="right"><b>SPIN-OFFs</b></td>
          188  +            <td align="right">&nbsp;</td>
          189  +          </tr>
          190  +          <tr>
          191  +            <td align="right"><a class="navigation" href="http://sunbeat-uv.com/" target="_blank"><b>BitSplitters</b></a></td>
          192  +            <td align="right">&nbsp;</td>
          193  +          </tr>
          194  +          <tr>
          195  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          196  +            <td align="right">&nbsp;</td>
          197  +          </tr>
          198  +          <tr>
          199  +            <td align="right"><b>FORMER</b></td>
          200  +            <td align="right">&nbsp;</td>
          201  +          </tr>
          202  +          <tr>
          203  +            <td align="right"><a class="navigation" href="http://sourceforge.net/projects/spamato/" target="_blank"><b>Spamato</b></a></td>
          204  +            <td align="right">&nbsp;</td>
          205  +          </tr>
          206  +          <tr>
          207  +      <td align="right"><a class="navigation" href="http://www.venturekick.ch/index.cfm?page=129733&profil_id=986" target="_blank"><b>StreamForge</b></a></td>
          208  +            <td align="right">&nbsp;</td>
          209  +          <tr>
          210  +            <td align="right"><a class="navigation" href="https://en.wikipedia.org/wiki/Wuala" target="_blank"><b>Wuala</b></a></td>
          211  +            <td align="right">&nbsp;</td>
          212  +          </tr>
          213  +        </table></td>
          214  +        <td style="padding: 18px 18px 18px 0;">
          215  +        <!-- BEGIN MAIN CONTENT -->
          216  +
          217  +<!-- ***************************************************************************************************************************************************************************** -->
          218  +<!-- BEGIN DISCO member with picture table -->
          219  +<!-- ***************************************************************************************************************************************************************************** -->
          220  +<table border="0" width="100%">
          221  +    <tr>
          222  +        <td width="400">
          223  +            <H3>Dr.</H3>
          224  +            <H1>Raphael Eidenbenz</H1>
          225  +            <P>
          226  +	        <a href="../index.html" alt="Distributed Computing Group (DISCO)" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a><br>
          227  +	        <a href="http://www.tik.ee.ethz.ch/" target="_blank" alt="Computer Engineering and Networks Laboratory (TIK)" title="Computer Engineering and Networks Laboratory (TIK)"> Computer Engineering and Networks Laboratory (TIK)</a><br>
          228  +	        <a href="http://www.ee.ethz.ch/" target="_blank" alt="Department Electrical Engineering (D-ITET)" title="Department Electrical Engineering (D-ITET)">Department Electrical Engineering (D-ITET)</a><br>
          229  +	        <!-- ETHZ RaumInfo: -->Office <a title="ETHZ RaumInfo" alt="ETHZ RaumInfo" href="http://www.rauminfo.ethz.ch/Rauminfo/grundrissplan.gif?gebaeude=ETZ&geschoss=G&raumNr=61.3">ETZ G61.3</a><br />	        <a href="http://www.ethz.ch/" target="_blank" alt="ETH Zurich" title="ETH Zurich">ETH Zurich</a><br />
          230  +		<br />
          231  +		<!-- Google maps link: --><a title="Show in Google Maps" alt="Google Maps" target="_blank" href="http://maps.google.ch/maps?f=q&source=s_q&hl=de&geocode=&q=gloriastrasse+35,+8005+zurich&sll=46.362093,9.036255&sspn=5.368,11.195068&ie=UTF8&hq=&hnear=Gloriastrasse+35,+8006+Z%C3%BCrich&ll=47.37743,8.552899&spn=0.005144,0.010933&t=h&z=17">	        <!-- DISCO member street: -->Gloriastrasse 35<br />	        <!-- DISCO member city: -->8092 Zurich<br />		<!-- DISCO member country: -->Switzerland<br />		</a>            </P>
          232  +	    <br />
          233  +            <P>
          234  +		<table border="0" cellspacing="0" cellpadding="0" style="font-size:12px;">
          235  +		    <!-- DISCO member phone: --><tr><td>phone &nbsp;&nbsp;</td><td>+81 80 4934 2992</td></tr>		    <!-- DISCO member mobile: -->	            <!-- DISCO member fax: --><tr><td>fax &nbsp;&nbsp;</td><td>+41 44 63 21035</td></tr>	            <!-- DISCO member email: --><tr><td>email &nbsp;&nbsp;</td><td><script type="text/javascript">
          236  +/*<![CDATA[*/
          237  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%72%61%70%68%61%65%6c%2e%65%69%64%65%6e%62%65%6e%7a%40%61%6c%75%6d%6e%69%2e%65%74%68%7a%2e%63%68%22%3e%72%61%70%68%61%65%6c%2e%65%69%64%65%6e%62%65%6e%7a%40%61%6c%75%6d%6e%69%2e%65%74%68%7a%2e%63%68%3c%2f%61%3e%27%29'))
          238  +/*]]>*/
          239  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td></tr>		</table>
          240  +	        <br /><br />
          241  +            </P>
          242  +        </td>
          243  +        <td valign="middle" halign="left">
          244  +            <!-- <br /><br /><br /> -->
          245  +	    <!-- DISCO member picture: -->
          246  +	    		<img  border="0" alt="Raphael Eidenbenz" src="../pics/eraphael.jpg" />
          247  +	            </td>
          248  +    </tr>
          249  +</table>
          250  +<!-- ***************************************************************************************************************************************************************************** -->
          251  +<!-- END DISCO member with picture table -->
          252  +<!-- ***************************************************************************************************************************************************************************** -->
          253  +<div id="discoCustomContent">
          254  +<!-- ***************************************************************************************************************************************************************************** -->
          255  +<!-- ADD YOUR OWN PERSONAL PHP/HTML CONTENT BELOW THIS LINE -->
          256  +<!-- ***************************************************************************************************************************************************************************** -->
          257  +<!-- ***************************************************************************************************************************************************************************** -->
          258  +<!-- ADD YOUR OWN PHP/HTML CONTENT BEFORE THIS -->
          259  +<!-- ***************************************************************************************************************************************************************************** -->
          260  +</div>
          261  +
          262  +<!-- ***************************************************************************************************************************************************************************** -->
          263  +<!-- BEGIN DISCO personal publications for disco member -->
          264  +<H3>Publications</H3>
          265  +<ul>
          266  +<li style="padding-bottom:0.5em;">
          267  +    <a href="http://www.tik.ee.ethz.ch/file/4375eb312af05468d27a55661025b93b/P2P2013_019.pdf">Exploring and Improving BitTorrent Topologies</a> <br />
          268  +    Christian Decker,  Raphael Eidenbenz and  Roger Wattenhofer.<br />
          269  +    13th IEEE International Conference on Peer-to-Peer Computing (P2P), Trento, Italy, September 2013.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=4162.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/4375eb312af05468d27a55661025b93b/P2P2013_019.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/9f57b1a8dcc984cfb9583ed6027df1ad/presentation.pdf">pdf</a>  &nbsp;  
          270  +</li><li style="padding-bottom:0.5em;">
          271  +    <a href="http://www.tik.ee.ethz.ch/file/2a5953d7f6986a114fc7f532c4e31cd7/cycle-t4t.pdf">Boosting Market Liquidity of Peer-to-Peer Systems Through Cyclic Trading</a> <br />
          272  +    Raphael Eidenbenz,  Thomas Locher,  Stefan Schmid and  Roger Wattenhofer.<br />
          273  +    12th International Conference on Peer-to-Peer Computing (P2P), Tarragona, Spain, September 2012.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3920.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/2a5953d7f6986a114fc7f532c4e31cd7/cycle-t4t.pdf">pdf</a>  &nbsp;  
          274  +</li><li style="padding-bottom:0.5em;">
          275  +    <a href="http://www.tik.ee.ethz.ch/file/af8726027a29f060e63fef6fbfe9915d/dissHG17_-1.pdf">Coping with Selfishness in Distributed Systems: Mechanism Design in Multi-Core and Peer-to-Peer Systems</a> <br />
          276  +    Raphael Eidenbenz.<br />
          277  +    ETH Zurich, Diss. ETH No. 20240, March 2012.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3774.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/af8726027a29f060e63fef6fbfe9915d/dissHG17_-1.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/7d81b965b15243af5062d5e49da3aecc/phdThesisPub_245.pptx">ppt</a>  &nbsp;  
          278  +</li><li style="padding-bottom:0.5em;">
          279  +    <a href="http://www.tik.ee.ethz.ch/file/db5b8c1f722e1566df71d0b0bb262dd4/gpi_tcsjournal_revision_-1.pdf">Good Programming in Transactional Memory</a> <br />
          280  +    Raphael Eidenbenz and  Roger Wattenhofer.<br />
          281  +    Theoretical Computer Science (TCS), Volume 412, Issue 32, July 2011.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3750.html">bibtex</a> link <a href="http://www.sciencedirect.com/science/article/pii/S0304397510004755?via=ihub">external</a> paper <a href="http://www.tik.ee.ethz.ch/file/db5b8c1f722e1566df71d0b0bb262dd4/gpi_tcsjournal_revision_-1.pdf">pdf</a>  &nbsp;  
          282  +</li><li style="padding-bottom:0.5em;">
          283  +    <a href="http://www.tik.ee.ethz.ch/file/d5d27f847babcdb59e5b200c51748341/p2pstegano_213.pdf">Hidden Communication in P2P Networks: Steganographic Handshake and Broadcast</a> <br />
          284  +    Raphael Eidenbenz,  Thomas Locher and  Roger Wattenhofer.<br />
          285  +    30th IEEE International Conference on Computer Communications (INFOCOM), Shanghai, China, April 2011.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3744.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/d5d27f847babcdb59e5b200c51748341/p2pstegano_213.pdf">pdf</a>  &nbsp;  
          286  +</li><li style="padding-bottom:0.5em;">
          287  +    <a href="http://www.tik.ee.ethz.ch/file/cdbaa86648324f8c0b252700979a69f9/LeverageJournal10-camera-raphael_215-1.pdf">Cost and Complexity of Harnessing Games with Payments</a> <br />
          288  +    Raphael Eidenbenz,  Yvonne-Anne Pignolet-Oswald,  Stefan Schmid and  Roger Wattenhofer.<br />
          289  +    International Game Theory Review (IGTR), Volume 13, Issue 1, March 2011.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3746.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/cdbaa86648324f8c0b252700979a69f9/LeverageJournal10-camera-raphael_215-1.pdf">pdf</a>  &nbsp;  
          290  +</li><li style="padding-bottom:0.5em;">
          291  +    <a href="http://www.tik.ee.ethz.ch/file/d210fccce58c618ae3a457bc43317080/isaac09_EW.pdf">Good Programming in Transactional Memory: Game Theory Meets Multicore Architecture</a> <br />
          292  +    Raphael Eidenbenz and  Roger Wattenhofer.<br />
          293  +    20th International Symposium on Algorithms and Computation (ISAAC), Honolulu, HI, USA, December 2009.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3273.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/d210fccce58c618ae3a457bc43317080/isaac09_EW.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/44db39badc0f135f47f65799e963c0cb/ISAAC09_177.pptx">ppt</a>  &nbsp;  
          294  +</li><li style="padding-bottom:0.5em;">
          295  +    <a href="http://www.tik.ee.ethz.ch/file/d3e1957a7b3ea6f9326ae49c200d7a7f/TIK-Report-310.pdf">Good Programming in Transactional Memory: Game Theory Meets Multicore Architecture</a> <br />
          296  +    Raphael Eidenbenz and  Roger Wattenhofer.<br />
          297  +    TIK Report Number 310, Zurich, September 2009.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3228.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/d3e1957a7b3ea6f9326ae49c200d7a7f/TIK-Report-310.pdf">pdf</a>  &nbsp;  
          298  +</li><li style="padding-bottom:0.5em;">
          299  +    <a href="http://www.tik.ee.ethz.ch/file/a393f0117b8373015ef7a71ae4d21412/spaa09_gpi.pdf">Brief Announcement: Selfishness in Transactional Memory</a> <br />
          300  +    Raphael Eidenbenz and  Roger Wattenhofer.<br />
          301  +    21st ACM Symposium on Parallelism in Algorithms and Architectures (SPAA), Calgary, Canada, August 2009.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3293.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/a393f0117b8373015ef7a71ae4d21412/spaa09_gpi.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/4b24491312509543da21fed59435dfd9/SPAA09_eidenbenz_167.pptx">ppt</a>  &nbsp;  
          302  +</li><li style="padding-bottom:0.5em;">
          303  +    <a href="http://www.tik.ee.ethz.ch/file/7d9cdf6265d597ca83b8a1fd53b6e3c8/gamenets09_lncs.pdf">Combinatorial Agency with Audits</a> <br />
          304  +    Raphael Eidenbenz and  Stefan Schmid.<br />
          305  +    IEEE International Conference on Game Theory for Networks (GameNets), Istanbul, Turkey, May 2009.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=3272.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/7d9cdf6265d597ca83b8a1fd53b6e3c8/gamenets09_lncs.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/413a1cce577a3b0fb1f597311599129f/gamenets09_slides.pptx">ppt</a>  &nbsp;  
          306  +</li><li style="padding-bottom:0.5em;">
          307  +    <a href="http://www.tik.ee.ethz.ch/file/514769eef1dcfd12df60b6c5349e4ad6/isaac07lncs.pdf">Manipulation in Games  </a> (Springer LNCS 4835 and Computation ISAAC) <br />
          308  +    Raphael Eidenbenz,  Yvonne-Anne Pignolet-Oswald,  Stefan Schmid and  Roger Wattenhofer.<br />
          309  +    18th International Symposium on Algorithms, Sendai, Japan, December 2007.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=2949.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/514769eef1dcfd12df60b6c5349e4ad6/isaac07lncs.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/9e536dc842e8de6b46e0909c28490afd/isaac07.pptx">ppt</a>  &nbsp;  
          310  +</li><li style="padding-bottom:0.5em;">
          311  +    <a href="http://www.tik.ee.ethz.ch/file/5cbb80e465235969839901e85f434a99/TIK-Report277.pdf">Manipulation in Games</a> <br />
          312  +    Raphael Eidenbenz,  Yvonne-Anne Pignolet-Oswald,  Stefan Schmid and  Roger Wattenhofer.<br />
          313  +    TIK Report 277, December 2007.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=2898.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/5cbb80e465235969839901e85f434a99/TIK-Report277.pdf">pdf</a>  &nbsp;  
          314  +</li><li style="padding-bottom:0.5em;">
          315  +    <a href="http://www.tik.ee.ethz.ch/file/0878e97ed2352c82c54f19307d8c2b42/cocoa07tik.pdf">Mechanism Design by Creditability</a> <br />
          316  +    Raphael Eidenbenz,  Yvonne-Anne Pignolet-Oswald,  Stefan Schmid and  Roger Wattenhofer.<br />
          317  +    1st International Conference on Combinatorial Optimization and Applications (COCOA), Springer LNCS 4616, Xi`an, Shaanxi, China, August 2007.<br /> Documents: meta <a target="_blank" href="../publications-bibtex.php%3Fpublication_id=2868.html">bibtex</a> paper <a href="http://www.tik.ee.ethz.ch/file/0878e97ed2352c82c54f19307d8c2b42/cocoa07tik.pdf">pdf</a> slides <a href="http://www.tik.ee.ethz.ch/file/5921021df27495845dce876b00296672/eosCocoa07_slides.pdf">pdf</a>  &nbsp;  
          318  +</li></ul>
          319  +<P>&nbsp;</P>
          320  +<!-- END DISCO publications for member -->
          321  +
          322  +<!-- ***************************************************************************************************************************************************************************** -->
          323  +<!-- BEGIN DISCO personal theses for disco member -->
          324  +<h3>Theses &amp; Labs</h3>
          325  +		<table border="0" width="100%" cellspacing="0" cellpadding="10">
          326  +		<tr>
          327  +			<td colspan="6" valign="top" align="left">
          328  +				<p class="topic">available theses &amp; labs</p>
          329  +			</td>
          330  +		</tr>
          331  +
          332  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          333  +
          334  +		<tr>
          335  +			<th class="noline" width="2%">&nbsp;</th>
          336  +			<th width="35%">title</th>
          337  +			<th width="10%">type</th>
          338  +			<th width="20%">contact/supervisor</th>
          339  +			<th width="10%">assigned</th>
          340  +			<th width="20%">&nbsp;</th>
          341  +			<th nowrap="nowrap">Edit (<a target="_blank" title="Create New Thesis" href="https://www.tik.ee.ethz.ch/db/restricted/tik/?db=sada&form=form_edit_sada_record&wizard=wizard_sada">New</a>)</th>
          342  +		</tr>		<tr>
          343  +			<td colspan="6" valign="top" align="left">
          344  +				<p class="topic">current theses &amp; labs</p>
          345  +			</td>
          346  +		</tr>
          347  +
          348  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          349  +
          350  +		<tr>
          351  +			<th class="noline">&nbsp;</th>
          352  +			<th>title</th>
          353  +			<th>type</th>
          354  +			<th>contact/supervisor</th>
          355  +			<th>assigned</th>
          356  +			<th>student(s)</th>
          357  +			<th>Edit</th>
          358  +		</tr>		<tr>
          359  +			<td colspan="6" valign="top" align="left">
          360  +				<p class="topic">past theses &amp; labs</p>
          361  +			</td>
          362  +		</tr>
          363  +
          364  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          365  +
          366  +		<tr>
          367  +			<th class="noline">&nbsp;</th>
          368  +			<th>title</th>
          369  +			<th>type</th>
          370  +			<th>supervisor</th>
          371  +			<th>year</th>
          372  +			<th>student(s)</th>
          373  +			<!-- <th>Edit</th> -->
          374  +		</tr><tr id="table-row-0">
          375  +<td valign="top" align="left""><img height="60" width="60" src="../pics/logo_faded.jpg"></td>
          376  +<td valign="top" align="left" class="line">Exploring and Improving BitTorrent Swarm Topologies<i> [confidential]</i></td>
          377  +<td valign="top" align="left" class="line">M</td>
          378  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a>, <br /><a href="http://dcg.ethz.ch/members/wroger.html">Roger Wattenhofer</a></td>
          379  +<td valign="top" align="left" class="line">HS 11</td>
          380  +<td valign="top" align="left" class="line"><script type="text/javascript">
          381  +/*<![CDATA[*/
          382  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%43%68%72%69%73%74%69%61%6e%20%44%65%63%6b%65%72%20%3c%63%64%65%63%6b%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%63%64%65%63%6b%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%43%68%72%69%73%74%69%61%6e%20%44%65%63%6b%65%72%3c%2f%61%3e%27%29'))
          383  +/*]]>*/
          384  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          385  +
          386  +</tr>
          387  +<tr id="table-row-1">
          388  +<td valign="top" align="left""><img height="60" width="60" src="http://www.tik.ee.ethz.ch/file/3a236275cc1ec83f5b6b194920e5c1a4/selfish_stolz_sa.jpg"></td>
          389  +<td valign="top" align="left" class="line">Selfish Network Link Speedup<i> [confidential]</i></td>
          390  +<td valign="top" align="left" class="line">S</td>
          391  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a></td>
          392  +<td valign="top" align="left" class="line">HS 11</td>
          393  +<td valign="top" align="left" class="line"><script type="text/javascript">
          394  +/*<![CDATA[*/
          395  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%44%61%76%69%64%20%53%74%6f%6c%7a%20%3c%73%74%6f%6c%7a%64%61%40%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%74%6f%6c%7a%64%61%40%65%74%68%7a%2e%63%68%22%3e%44%61%76%69%64%20%53%74%6f%6c%7a%3c%2f%61%3e%27%29'))
          396  +/*]]>*/
          397  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          398  +
          399  +</tr>
          400  +<tr id="table-row-2">
          401  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2011-FS/MA-2011-10.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/94d2b9a2335faf2e5658c33f8546a2de/MA_Yu_Li.jpg"></a></td>
          402  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2011-FS/MA-2011-10.pdf">Explore the World of Bookcrossing</a></td>
          403  +<td valign="top" align="left" class="line">M</td>
          404  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a>, <br /><a href="http://dcg.ethz.ch/members/wroger.html">Roger Wattenhofer</a></td>
          405  +<td valign="top" align="left" class="line">FS 11</td>
          406  +<td valign="top" align="left" class="line"><script type="text/javascript">
          407  +/*<![CDATA[*/
          408  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%59%75%20%4c%69%20%3c%79%75%6c%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%79%75%6c%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%59%75%20%4c%69%3c%2f%61%3e%27%29'))
          409  +/*]]>*/
          410  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          411  +
          412  +</tr>
          413  +<tr id="table-row-3">
          414  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2011-FS/GA-2011-01.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/52b0abd7f0591b1edd2840cf18bb6b0d/meamm_report.jpg"></a></td>
          415  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2011-FS/GA-2011-01.pdf">MEAMM - Movie Experience and Metadata Manager</a></td>
          416  +<td valign="top" align="left" class="line">G</td>
          417  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a></td>
          418  +<td valign="top" align="left" class="line">FS 11</td>
          419  +<td valign="top" align="left" class="line"><script type="text/javascript">
          420  +/*<![CDATA[*/
          421  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%44%61%6d%69%61%6e%6f%20%42%6f%70%70%61%72%74%20%3c%64%62%6f%70%70%61%72%74%40%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%64%62%6f%70%70%61%72%74%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%44%61%6d%69%61%6e%6f%20%42%6f%70%70%61%72%74%3c%2f%61%3e%27%29'))
          422  +/*]]>*/
          423  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br /><script type="text/javascript">
          424  +/*<![CDATA[*/
          425  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%45%72%77%69%6e%20%48%65%72%72%73%63%68%65%20%3c%68%65%65%72%77%69%6e%40%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%68%65%65%72%77%69%6e%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%45%72%77%69%6e%20%48%65%72%72%73%63%68%65%3c%2f%61%3e%27%29'))
          426  +/*]]>*/
          427  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          428  +
          429  +</tr>
          430  +<tr id="table-row-4">
          431  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2011-FS/BA-2011-07.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/787733be70ad7e761ac214f9ed08dc11/bitthief_studerus_report.jpg.gif"></a></td>
          432  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2011-FS/BA-2011-07.pdf">Skirting ISP Traffic Shaping in P2P Systems, and Countermeasures</a></td>
          433  +<td valign="top" align="left" class="line">B</td>
          434  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a>, <br /><a href="http://dcg.ethz.ch/members/wroger.html">Roger Wattenhofer</a></td>
          435  +<td valign="top" align="left" class="line">FS 11</td>
          436  +<td valign="top" align="left" class="line"><script type="text/javascript">
          437  +/*<![CDATA[*/
          438  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%50%61%73%63%61%6c%20%53%74%75%64%65%72%75%73%20%3c%70%73%74%75%64%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%73%74%75%64%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%50%61%73%63%61%6c%20%53%74%75%64%65%72%75%73%3c%2f%61%3e%27%29'))
          439  +/*]]>*/
          440  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          441  +
          442  +</tr>
          443  +<tr id="table-row-5">
          444  +<td valign="top" align="left""><img height="60" width="60" src="http://www.tik.ee.ethz.ch/file/0700e9b3a3864429f5dec3b748f22f97/bitthief_studerus_report.jpg.gif"></td>
          445  +<td valign="top" align="left" class="line">Tweaking Throughput on the Transport Layer<i> [confidential]</i></td>
          446  +<td valign="top" align="left" class="line">B</td>
          447  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a></td>
          448  +<td valign="top" align="left" class="line">FS 11</td>
          449  +<td valign="top" align="left" class="line"><script type="text/javascript">
          450  +/*<![CDATA[*/
          451  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%44%61%76%69%64%20%53%74%6f%6c%7a%20%3c%73%74%6f%6c%7a%64%61%40%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%74%6f%6c%7a%64%61%40%65%74%68%7a%2e%63%68%22%3e%44%61%76%69%64%20%53%74%6f%6c%7a%3c%2f%61%3e%27%29'))
          452  +/*]]>*/
          453  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          454  +
          455  +</tr>
          456  +<tr id="table-row-6">
          457  +<td valign="top" align="left""><a href="http://pub.tik.ee.ethz.ch/students/2010-FS/SA-2010-04.pdf"><img border="0" height="60" width="60" src="http://www.tik.ee.ethz.ch/file/9e0362b8821cd69a5933cc0089f9383e/bitthief_studerus_report.jpg.gif"></a></td>
          458  +<td valign="top" align="left" class="line"><a href="http://pub.tik.ee.ethz.ch/students/2010-FS/SA-2010-04.pdf">Practicability of T4T Along Cycles</a></td>
          459  +<td valign="top" align="left" class="line">S</td>
          460  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a>, <br /><a href="http://dcg.ethz.ch/members/wroger.html">Roger Wattenhofer</a></td>
          461  +<td valign="top" align="left" class="line">FS 10</td>
          462  +<td valign="top" align="left" class="line"><script type="text/javascript">
          463  +/*<![CDATA[*/
          464  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4d%69%63%68%61%65%6c%20%4b%26%6f%75%6d%6c%3b%6e%69%67%20%3c%6d%69%6b%6f%65%6e%69%67%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%69%6b%6f%65%6e%69%67%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%69%63%68%61%65%6c%20%4b%26%6f%75%6d%6c%3b%6e%69%67%3c%2f%61%3e%27%29'))
          465  +/*]]>*/
          466  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          467  +
          468  +</tr>
          469  +<tr id="table-row-7">
          470  +<td valign="top" align="left""><img height="60" width="60" src="../pics/logo_faded.jpg"></td>
          471  +<td valign="top" align="left" class="line">To Be or Not to Be a BitThief<i> [confidential]</i></td>
          472  +<td valign="top" align="left" class="line">S</td>
          473  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a>, <br /><a href="thomasl.html">Thomas Locher</a></td>
          474  +<td valign="top" align="left" class="line">HS 09</td>
          475  +<td valign="top" align="left" class="line"><script type="text/javascript">
          476  +/*<![CDATA[*/
          477  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4d%61%74%68%69%61%73%20%4b%61%72%6c%73%73%6f%6e%20%3c%6d%61%74%68%69%61%73%6b%40%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%61%74%68%69%61%73%6b%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%4d%61%74%68%69%61%73%20%4b%61%72%6c%73%73%6f%6e%3c%2f%61%3e%27%29'))
          478  +/*]]>*/
          479  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          480  +
          481  +</tr>
          482  +<tr id="table-row-8">
          483  +<td valign="top" align="left""><img height="60" width="60" src="../pics/logo_faded.jpg"></td>
          484  +<td valign="top" align="left" class="line">BitTorrent for Really Selfish Peers – T4T Trading over Cycles<i> [confidential]</i></td>
          485  +<td valign="top" align="left" class="line">S</td>
          486  +<td valign="top" align="left" class="line"><a href="eraphael.html">Raphael Eidenbenz</a></td>
          487  +<td valign="top" align="left" class="line">FS 09</td>
          488  +<td valign="top" align="left" class="line"><script type="text/javascript">
          489  +/*<![CDATA[*/
          490  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%52%6f%67%65%72%20%4f%64%65%72%6d%61%74%74%20%3c%6f%72%6f%67%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6f%72%6f%67%65%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%52%6f%67%65%72%20%4f%64%65%72%6d%61%74%74%3c%2f%61%3e%27%29'))
          491  +/*]]>*/
          492  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          493  +
          494  +</tr>
          495  +		</table><!-- END DISCO theses & labs for member -->
          496  +
          497  +<!-- ***************************************************************************************************************************************************************************** -->
          498  +<!-- DISCO individual member footer -->
          499  +	</td></tr>
          500  +</table>
          501  +
          502  +<!--<table border="0" cellspacing="0" cellpadding="0" width="99%" align="center">
          503  +	<tr><td style="font-size:8pt;" align="right" nowrap><br><br>&copy; <a href="/" style="font-size:8pt;">Distributed Computing Group</a></td></tr>
          504  +</table>-->

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_wget_copy_of_http_disco_ethz_ch_projects_sinalgo/bonnet/disco.ethz.ch/alumni/golga.html version [4d2c46a4dd].

            1  +<?xml version="1.0" encoding="utf-8"?>
            2  +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            3  +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4  +
            5  +<html xmlns="http://www.w3.org/1999/xhtml">
            6  +
            7  +<head>
            8  +	<title>Distributed Computing Group </title>
            9  +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           10  +        <meta http-equiv="Content-Style-Type" content="text/css" />
           11  +        <meta http-equiv="Content-Script-Type" content="text/javascript" />
           12  +	<meta name="author" content="user" />
           13  +	<meta name="description" content="Distributed Computing Group" />
           14  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, disco" />
           15  +    	<meta name="robots" content="noarchive" />
           16  +    	<link rel="shortcut icon" href="../images/favicon.gif" />
           17  +	<meta name='B-verify' content='7f691552aa36eb0d977e5a33e088439dfa1ad843' />
           18  +	
           19  +    <!-- ************************************************************************************************************************************************ -->
           20  +    <!-- BEGIN discoHead include -->
           21  +	        <!-- ************************************************************************************************************************************************ -->
           22  +        <!-- BEGIN cascading style sheets (CSS) -->
           23  +		<style type="text/css">
           24  +		/*<![CDATA[*/
           25  +			@import url(../css/ns4.css);
           26  +			@import url(../css/colors_c010.css);
           27  +			@import url(../css/modernbrowsers.css);
           28  +			@import url(../css/silva.css);
           29  +			@import url(../css/customstyles.css);
           30  +			@import url(../css/disco.css);
           31  +		/*]]>*/
           32  +		</style>
           33  +		<style type="text/css">
           34  +		/*<![CDATA[*/
           35  +			.logo-bg  {
           36  +				background-image: url(../images/screen_disco_glow_04-01.jpg); background-repeat: no-repeat;
           37  +			}
           38  +			.logo-bg1 {
           39  +				background-image: url(../images/screen_disco_glow_04-02.jpg); background-repeat: no-repeat;
           40  +			}
           41  +			/*div.identity-image  {
           42  +				background-image: url(/images/screen_disco_glow_04.jpg); background-repeat: repeat
           43  +			}*/
           44  +			.mainnav, .screenhead, .color5-back, .color4-back, .color3-back, .color2-back, .color1-back, .servicenav, .transparent  {
           45  +				background-image: url(../images/transparent.gif)
           46  +			}
           47  +			body {
           48  +				margin:0;
           49  +				padding:0;
           50  +			}
           51  +		/*]]>*/
           52  +		</style>
           53  +        <style media="print">
           54  +		/*<![CDATA[*/
           55  +        	@import url(../css/print.css);
           56  +		/*]]>*/
           57  +         </style>
           58  +        <!-- END cascading style sheets (CSS) -->
           59  +        <!-- ************************************************************************************************************************************************ -->
           60  +        <!-- BEGIN script slot -->
           61  +    <!-- END script slot -->
           62  +    <!-- END discoHead include -->
           63  +    <!-- ************************************************************************************************************************************************ -->
           64  +
           65  +</head>
           66  +
           67  +<body bgcolor="#ffffff" text="#000000" link="#0000e0" vlink="#0000e0" alink="#00a000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" >
           68  +    <a id="top" name="top" />
           69  +    <map name="Map" id="Map">
           70  +       <area shape="rect" coords="2,28,212,51" href="../index.html" target="_self" alt="Distributed Computing Group" />
           71  +     </map>
           72  +    <map name="Map2" id="Map2">
           73  +      <area shape="rect" coords="9,25,198,78" href="../index.html" target="_self" alt="Distributed Computing Group" />
           74  +    </map>
           75  +
           76  +	<table border="0" cellspacing="0" cellpadding="0" width="100%">
           77  +      <tr>
           78  +        <td width="220" style="background-image:url(../images/screen_disco_glow_04-01.jpg)"><img src="../images/eth_logo_white_04.png" alt="ETH Zurich" width="220" height="105" border="0" usemap="#Map2" /></td>
           79  +        <td width="100%" valign="top" style="background-image:url(../images/screen_disco_glow_04-02.jpg)"><img src="../images/disco_text_01a.png" alt="Distributed Computing Group" width="452" height="54" border="0" usemap="#Map" /></td>
           80  +      </tr>
           81  +    </table></td>
           82  +</tr>
           83  +  <tr>
           84  +    <td>
           85  +<!-- START path -->
           86  +		<div class="pathline">
           87  +			<a class="path" href="http://www.ethz.ch/" title="ETH Zurich">ETH Zurich</a> – <a class="path" href="http://www.ee.ethz.ch/" title="Department of Electrical Engineering (ITET)">ITET</a> – <a class="path" href="http://www.tik.ee.ethz.ch/" title="Computer Engineering and Networks Laboratory (TIK)">TIK</a> – <a class="path" href="../index.html" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a>
           88  +            <span style="color:black;"> – <a class="path" href="index.html">Alumni</a> – <a class="path" href="golga.html">Olga Goussevskaia</a></span>
           89  +			</div>
           90  +<!-- END Pathline -->
           91  +    </td>
           92  +  </tr>
           93  +<tr>
           94  +    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
           95  +      <tr>
           96  +        <td width="220"><br /><table border="0" cellspacing="0" cellpadding="4" width="220px">
           97  +          <tr>
           98  +            <td align="right"><a class="navigation" href="../index.html"><b>HOME </b></a></td>
           99  +            <td align="right"><img src="../images/transparent.gif" border="0" width="10" /></td>
          100  +          </tr>
          101  +          <tr>
          102  +            <td align="right"><a class="navigation" href="index.html"><b>MEMBERS </b></a></td>
          103  +            <td align="right">&nbsp;</td>
          104  +          </tr>
          105  +          <tr>
          106  +            <td align="right"><a class="navigation" href="../publications.html"><b>PUBLICATIONS </b></a></td>
          107  +            <td align="right">&nbsp;</td>
          108  +          </tr>
          109  +          <tr>
          110  +            <td align="right"><a class="navigation" href="../lectures/fs10/index.html"><b>COURSES </b></a></td>
          111  +            <td align="right">&nbsp;</td>
          112  +          </tr>
          113  +          <tr>
          114  +            <td align="right"><a class="navigation" href="../theses.html"><b>THESES </b></a></td>
          115  +            <td align="right">&nbsp;</td>
          116  +          </tr>
          117  +          <tr>
          118  +            <td align="right"><a class="navigation" href="https://wiki.disco.ethz.ch"><b>WIKI </b></a></td>
          119  +            <td align="right">&nbsp;</td>
          120  +          </tr>
          121  +          <tr>
          122  +            <td align="right"><a class="navigation" href="../contact.html"><b>CONTACT </b></a></td>
          123  +            <td align="right">&nbsp;</td>
          124  +          </tr>
          125  +          <tr>
          126  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          127  +            <td align="right">&nbsp;</td>
          128  +          </tr>
          129  +          <tr>
          130  +            <td align="right"><b>SOFTWARE & APPS</b></td>
          131  +            <td align="right">&nbsp;</td>
          132  +          </tr>
          133  +          <tr>
          134  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/beng" target="_blank"><b>benG</b></a></td>
          135  +            <td align="right">&nbsp;</td>
          136  +          </tr>
          137  +          <tr>
          138  +            <td align="right"><a class="navigation" href="http://www.bitthief.ethz.ch/" target="_blank"><b>BitThief</b></a></td>
          139  +            <td align="right">&nbsp;</td>
          140  +          </tr>
          141  +          <tr>
          142  +            <td align="right"><a class="navigation" href="http://www.confsearch.org" target="_blank"><b>Conference Search</b></a></td>
          143  +            <td align="right">&nbsp;</td>
          144  +          </tr>
          145  +           <tr>
          146  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.disco.gino.androidbenchmarkaccessibilityrecorder&hl=en" target="_blank"><b>DiscoMark</b></a></td>
          147  +            <td align="right">&nbsp;</td>
          148  +          </tr>
          149  +          <tr>
          150  +            <td align="right"><a class="navigation" href="http://www.jukefox.org/" target="_blank"><b>jukefox</b></a></td>
          151  +            <td align="right">&nbsp;</td>
          152  +          </tr>
          153  +          <tr>
          154  +            <td align="right"><a class="navigation" href="https://kaennsch.me" target="_blank"><b>Kännsch</b></a></td>
          155  +            <td align="right">&nbsp;</td>
          156  +          </tr>
          157  +          <tr>
          158  +          <tr>
          159  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/scs" target="_blank"><b>Smart Cloud Storage</b></a></td>
          160  +            <td align="right">&nbsp;</td>
          161  +          </tr>
          162  +          <tr>
          163  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.vinzensg.newspaper20&hl=en" target="_blank"><b>Newspaper 2.0</b></a></td>
          164  +            <td align="right">&nbsp;</td>
          165  +          </tr>
          166  +          <tr>
          167  +            <td align="right"><a class="navigation" href="../projects/sinalgo.1.html" target="_blank"><b>Sinalgo</b></a></td>
          168  +            <td align="right">&nbsp;</td>
          169  +          </tr>
          170  +          <tr>
          171  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ethz.ba.androidClient" target="_blank"><b>sound mate</b></a></td>
          172  +            <td align="right">&nbsp;</td>
          173  +          </tr>
          174  +           <tr>
          175  +            <td align="right"><a class="navigation" href="http://tos-ide.ethz.ch/" target="_blank"><b>TinyOS IDE </b></a></td>
          176  +            <td align="right">&nbsp;</td>
          177  +          </tr>
          178  +          <!--<tr>
          179  +            <td align="right"><a class="navigation" href="/theory.html" target="_self"><b>Theory</b></a></td>
          180  +            <td align="right">&nbsp;</td>
          181  +          </tr>-->
          182  +          <tr>
          183  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          184  +            <td align="right">&nbsp;</td>
          185  +          </tr>
          186  +          <tr>
          187  +            <td align="right"><b>SPIN-OFFs</b></td>
          188  +            <td align="right">&nbsp;</td>
          189  +          </tr>
          190  +          <tr>
          191  +            <td align="right"><a class="navigation" href="http://sunbeat-uv.com/" target="_blank"><b>BitSplitters</b></a></td>
          192  +            <td align="right">&nbsp;</td>
          193  +          </tr>
          194  +          <tr>
          195  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          196  +            <td align="right">&nbsp;</td>
          197  +          </tr>
          198  +          <tr>
          199  +            <td align="right"><b>FORMER</b></td>
          200  +            <td align="right">&nbsp;</td>
          201  +          </tr>
          202  +          <tr>
          203  +            <td align="right"><a class="navigation" href="http://sourceforge.net/projects/spamato/" target="_blank"><b>Spamato</b></a></td>
          204  +            <td align="right">&nbsp;</td>
          205  +          </tr>
          206  +          <tr>
          207  +      <td align="right"><a class="navigation" href="http://www.venturekick.ch/index.cfm?page=129733&profil_id=986" target="_blank"><b>StreamForge</b></a></td>
          208  +            <td align="right">&nbsp;</td>
          209  +          <tr>
          210  +            <td align="right"><a class="navigation" href="https://en.wikipedia.org/wiki/Wuala" target="_blank"><b>Wuala</b></a></td>
          211  +            <td align="right">&nbsp;</td>
          212  +          </tr>
          213  +        </table></td>
          214  +        <td style="padding: 18px 18px 18px 0;">
          215  +        <!-- BEGIN MAIN CONTENT -->
          216  +
          217  +
          218  +<table border="0" width="100%">
          219  +<tr><td width="400">
          220  +
          221  +<H3>Dr. sc. ETH Z&uuml;rich</H3>
          222  +<H1>Olga Goussevskaia</H1>
          223  +<p>
          224  +	email <script language='JavaScript' type='text/javascript'>
          225  +<!--
          226  +var prefix = '&#109;a' + 'i&#108;' + '&#116;o';
          227  +var path = 'hr' + 'ef' + '=';
          228  +var addy = 'golga' + '&#64;' + 'tik&#46;';
          229  +addy += 'ee&#46;' + 'ethz&#46;' + 'ch';
          230  +document.write( '<a ' + path + '\'' + prefix + ':' + addy + '\''+'>' + addy + '</a>' );
          231  +//-->
          232  +</script>
          233  +<noscript>This email address is protected from spam bots. You need Javascript enabled to view it. </noscript>
          234  +	<br><br>
          235  +</P>
          236  +</td>
          237  +<td valign="top" halign="left">
          238  +<br><br><br>
          239  +<img height="200" width="150" border="0" alt="Olga Goussevskaia" src="../pics/olga.jpg">
          240  +</td>
          241  +</tr>
          242  +</table>
          243  +
          244  +<h3>Publications</h3>
          245  +<ul type="circle">
          246  +	<li style="margin-bottom:5px;"><a href="../publications/FaTNEfficiencyWirelessSINRGoussevskaiaPW2010_-1.pdf">Efficiency of Wireless Networks: Approximation Algorithms for the Physical Interference Model</a>
          247  +		<br />
          248  +		Olga Goussevskaia,  Yvonne Anne Pignolet, and  Roger Wattenhofer.<br />
          249  +		Foundations and Trends in Networking, November 2010.<br />
          250  +		Documents: paper <a href="../publications/FaTNEfficiencyWirelessSINRGoussevskaiaPW2010_-1.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=571.html" target="_blank">bibtex</a><br />
          251  +	</li>
          252  +	<li style="margin-bottom:5px;"><a href="../publications/dissertation_olga_goussevskaia.pdf">Computational Complexity and Scheduling Algorithms for Wireless Networks</a>
          253  +		<br />
          254  +		Olga Goussevskaia.<br />
          255  +		PhD Thesis, ETH Zurich, Diss. ETH No. 18475, July 2009.<br />
          256  +		Documents: paper <a href="../publications/dissertation_olga_goussevskaia.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=459.html" target="_blank">bibtex</a><br />
          257  +	</li>
          258  +	<li style="margin-bottom:5px;"><a href="../publications/infocom2009capacity.pdf">Capacity of Arbitrary Wireless Networks</a>
          259  +		<br />
          260  +		Olga Goussevskaia, Magnus Halldorsson, Roger Wattenhofer, and Emo Welzl.<br />
          261  +		28th Annual IEEE Conference on Computer Communications (INFOCOM), Rio de Janeiro, Brazil, April 2009.<br />
          262  +		Documents: paper <a href="../publications/infocom2009capacity.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=445.html" target="_blank">bibtex</a><br />
          263  +	</li>
          264  +	<li style="margin-bottom:5px;"><a href="../publications/wi08.pdf">From Web to Map: Exploring the World of Music</a>
          265  +		<br />
          266  +		Olga Goussevskaia,  Michael Kuhn,  Michael Lorenzi, and  Roger Wattenhofer.<br />
          267  +		IEEE/WIC/ACM International Conference on Web Intelligence (WI), Sydney, Australia, December 2008.<br />
          268  +		Documents: paper <a href="../publications/wi08.pdf">pdf</a> slides <a href="../publications/SlidesWI08.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=423.html" target="_blank">bibtex</a><br />
          269  +	</li>
          270  +	<li style="margin-bottom:5px;"><a href="../publications/mhci2008.pdf">Exploring Music Collections on Mobile Devices</a>
          271  +		<br />
          272  +		Olga Goussevskaia,  Michael Kuhn, and  Roger Wattenhofer.<br />
          273  +		International Conference on Human-Computer Interaction with Mobile Devices and Services (MobileHCI), Amsterdam, Netherlands, September 2008.<br />
          274  +		Documents: paper <a href="../publications/mhci2008.pdf">pdf</a> slides <a href="../publications/SlidesMHCI08.ppt">ppt</a> meta <a href="../publication_details.html%3Fid=392.html" target="_blank">bibtex</a><br />
          275  +	</li>
          276  +	<li style="margin-bottom:5px;"><a href="../publications/dialm08.pdf">Local Broadcasting in the Physical Interference Model</a>
          277  +		<br />
          278  +		Olga Goussevskaia, Thomas Moscibroda, and Roger Wattenhofer.<br />
          279  +		ACM SIGACT-SIGOPT International Workshop on Foundations of Mobile Computing (DialM-POMC), Toronto, Canada, August 2008.<br />
          280  +		Documents: paper <a href="../publications/dialm08.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=385.html" target="_blank">bibtex</a><br />
          281  +	</li>
          282  +	<li style="margin-bottom:5px;"><a href="../publications/fowanc08.pdf">Complexity of Scheduling with Analog Network Coding</a>
          283  +		<br />
          284  +		Olga Goussevskaia and Roger Wattenhofer.<br />
          285  +		ACM International Workshop on Foundations of Wireless Ad Hoc and Sensor Networking and Computing (FOWANC), Hong Kong, China, May 2008.<br />
          286  +		Documents: paper <a href="../publications/fowanc08.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=347.html" target="_blank">bibtex</a><br />
          287  +	</li>
          288  +	<li style="margin-bottom:5px;"><a href="../publications/wi07.pdf">Layers and Hierarchies in Real Virtual Networks</a>
          289  +		<br />
          290  +		Olga Goussevskaia, Michael Kuhn, and Roger Wattenhofer.<br />
          291  +		IEEE/WIC/ACM International Conference on Web Intelligence (WI), Silicon Valley, California, USA, November 2007.<br />
          292  +		Documents: paper <a href="../publications/wi07.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=307.html" target="_blank">bibtex</a><br />
          293  +	</li>
          294  +	<li style="margin-bottom:5px;"><a href="../publications/Mobihoc2007.pdf">Complexity in Geometric SINR</a>
          295  +		<br />
          296  +		Olga Goussevskaia, Yvonne Anne Oswald, and Roger Wattenhofer.<br />
          297  +		ACM International Symposium on Mobile Ad Hoc Networking and Computing (MOBIHOC), Montreal, Canada, September 2007.<br />
          298  +		Documents: paper <a href="../publications/Mobihoc2007.pdf">pdf</a> meta <a href="../publication_details.html%3Fid=300.html" target="_blank">bibtex</a><br />
          299  +	</li>
          300  +</ul><p>&nbsp;</p>
          301  +
          302  +<h3>Theses &amp; Labs</h3>
          303  +		<table border="0" width="100%" cellspacing="0" cellpadding="10">
          304  +		<tr>
          305  +			<td colspan="6" valign="top" align="left">
          306  +				<p class="topic">available theses &amp; labs</p>
          307  +			</td>
          308  +		</tr>
          309  +
          310  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          311  +
          312  +		<tr>
          313  +			<th class="noline" width="2%">&nbsp;</th>
          314  +			<th width="35%">title</th>
          315  +			<th width="10%">type</th>
          316  +			<th width="20%">contact/supervisor</th>
          317  +			<th width="13%">assigned</th>
          318  +			<th width="20%">&nbsp;</th>
          319  +		</tr>
          320  +
          321  +		
          322  +		<tr>
          323  +			<td colspan="6" valign="top" align="left">
          324  +				<p class="topic">current theses &amp; labs</p>
          325  +			</td>
          326  +		</tr>
          327  +
          328  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          329  +
          330  +		<tr>
          331  +			<th class="noline">&nbsp;</th>
          332  +			<th>title</th>
          333  +			<th>type</th>
          334  +			<th>contact/supervisor</th>
          335  +			<th>assigned</th>
          336  +			<th>student(s)</th>
          337  +		</tr>
          338  +
          339  +		
          340  +		<tr>
          341  +			<td colspan="6" valign="top" align="left">
          342  +				<p class="topic">past theses &amp; labs</p>
          343  +			</td>
          344  +		</tr>
          345  +
          346  +		<tr><td class="empty" colspan="6">&nbsp;</td></tr>
          347  +
          348  +		<tr>
          349  +			<th class="noline">&nbsp;</th>
          350  +			<th>title</th>
          351  +			<th>type</th>
          352  +			<th>supervisor</th>
          353  +			<th>year</th>
          354  +			<th>student(s)</th>
          355  +		</tr>
          356  +
          357  +		<tr>
          358  +<td valign="top" align="left""><a href="../theses/hs08/report_mcalin.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          359  +<td valign="top" align="left" class="bottom">Youtube Jukebox (<a href="../theses/hs08/report_mcalin.pdf">report</a>)</td>
          360  +<td valign="top" align="left" class="bottom">S</td>
          361  +<td valign="top" align="left" class="bottom"><a href="../members/olga.html">Olga Goussevskaia</a>,<br><a href="../members/michael.html">Michael Kuhn</a></td>
          362  +<td valign="top" align="left" class="bottom">FS 09</td>
          363  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          364  +/*<![CDATA[*/
          365  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%63%61%6c%69%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%69%68%61%69%20%43%61%6c%69%6e%3c%2f%61%3e%27%29'))
          366  +/*]]>*/
          367  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          368  +</tr>
          369  +<tr>
          370  +<td valign="top" align="left""><a href="../theses/hs08/report_mvkaenel.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          371  +<td valign="top" align="left" class="bottom">Music Explorer Amarok Plugin (<a href="../theses/hs08/report_mvkaenel.pdf">report</a>)</td>
          372  +<td valign="top" align="left" class="bottom">S</td>
          373  +<td valign="top" align="left" class="bottom"><a href="../members/olga.html">Olga Goussevskaia</a>,<br><a href="../members/michael.html">Michael Kuhn</a></td>
          374  +<td valign="top" align="left" class="bottom">HS 08</td>
          375  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          376  +/*<![CDATA[*/
          377  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%76%6b%61%65%6e%65%6d%69%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%4d%69%63%68%61%65%6c%20%76%6f%6e%20%4b%61%65%6e%65%6c%3c%2f%61%3e%27%29'))
          378  +/*]]>*/
          379  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          380  +</tr>
          381  +<tr>
          382  +<td valign="top" align="left""><a href="../theses/fs08/report_reichlin.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          383  +<td valign="top" align="left" class="bottom">Novel Approaches to Music Recommendation (<a href="../theses/fs08/MusicRecommendation_bait.pdf">bait</a>, <a href="../theses/fs08/report_reichlin.pdf">report</a>)</td>
          384  +<td valign="top" align="left" class="bottom">S</td>
          385  +<td valign="top" align="left" class="bottom"><a href="../members/michael.html">Michael Kuhn</a>,<br><a href="../members/olga.html">Olga Goussevskaia</a></td>
          386  +<td valign="top" align="left" class="bottom">FS 08</td>
          387  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          388  +/*<![CDATA[*/
          389  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%66%61%62%69%61%6e%72%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%46%61%62%69%61%6e%20%52%65%69%63%68%6c%69%6e%3c%2f%61%3e%27%29'))
          390  +/*]]>*/
          391  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          392  +</tr>
          393  +<tr>
          394  +<td valign="top" align="left""><a href="../theses/hs07/EmbeddingNaturallyGrownNetworks_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          395  +<td valign="top" align="left" class="line">Embedding of Naturally Grown Graphs (<a href="../theses/ss07/AnalyzingLargeNetworks_bait.pdf">bait</a>, <a href="../theses/hs07/EmbeddingNaturallyGrownNetworks_report.pdf">report</a>)</td>
          396  +<td valign="top" align="left" class="line">M</td>
          397  +<td valign="top" align="left" class="line"><a href="../members/olga.html">Olga Goussevskaia</a>,<br><a href="../members/michael.html">Michael Kuhn</a></td>
          398  +<td valign="top" align="left" class="line">HS 07</td>
          399  +<td valign="top" align="left" class="line"><script type="text/javascript">
          400  +/*<![CDATA[*/
          401  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%68%75%62%65%72%64%61%76%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%44%61%76%69%64%20%48%75%62%65%72%3c%2f%61%3e%27%29'))
          402  +/*]]>*/
          403  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          404  +</tr>
          405  +<tr>
          406  +<td valign="top" align="left""><a href="../theses/hs07/report_lab_musicexplorer.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          407  +<td valign="top" align="left" class="bottom">Music Explorer: Exploring the Space of Songs on your PC (<a href="../theses/hs07/musicExplorerApps_bait.pdf">bait</a>, <a href="../theses/hs07/report_lab_musicexplorer.pdf">report</a>)</td>
          408  +<td valign="top" align="left" class="bottom">L</td>
          409  +<td valign="top" align="left" class="bottom"><a href="../members/olga.html">Olga Goussevskaia</a>,<br><a href="../members/michael.html">Michael Kuhn</a></td>
          410  +<td valign="top" align="left" class="bottom">HS 07</td>
          411  +<td valign="top" align="left" class="bottom"><script type="text/javascript">
          412  +/*<![CDATA[*/
          413  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%67%61%6e%69%74%68%61%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%41%6e%69%74%68%61%20%47%6f%6e%75%6b%75%6c%61%3c%2f%61%3e%27%29'))
          414  +/*]]>*/
          415  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          416  +/*<![CDATA[*/
          417  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6b%70%68%69%6c%69%70%70%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%50%68%69%6c%69%70%70%20%4b%75%65%64%65%72%6c%69%3c%2f%61%3e%27%29'))
          418  +/*]]>*/
          419  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          420  +/*<![CDATA[*/
          421  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6e%61%69%72%72%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%52%6f%68%69%6e%69%20%4e%61%69%72%3c%2f%61%3e%27%29'))
          422  +/*]]>*/
          423  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          424  +/*<![CDATA[*/
          425  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%73%61%6d%75%65%6c%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%53%61%6d%75%65%6c%20%50%61%73%71%75%69%65%72%3c%2f%61%3e%27%29'))
          426  +/*]]>*/
          427  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          428  +</tr>
          429  +<tr>
          430  +<td valign="top" align="left""><a href="../theses/ss07/dblpLab_report_v3.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          431  +<td valign="top" align="left" class="line">Community Dynamics in Social Networks (<a href="../theses/ss07/dblpLab_report_v3.pdf">report</a>, <a href="../theses/ws0607/labdblp_bait.pdf">bait</a>)</td>
          432  +<td valign="top" align="left" class="line">L</td>
          433  +<td valign="top" align="left" class="line"><a href="../members/michael.html">Michael Kuhn</a>,<br><a href="../members/olga.html">Olga Goussevskaia</a>,<br><a href="../members/yvonne-anne.html">Yvonne Anne Oswald</a></td>
          434  +<td valign="top" align="left" class="line">SS 07</td>
          435  +<td valign="top" align="left" class="line"><script type="text/javascript">
          436  +/*<![CDATA[*/
          437  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%61%66%72%61%6e%63%6b%65%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%46%72%61%6e%63%6b%65%20%41%6e%64%72%65%61%3c%2f%61%3e%27%29'))
          438  +/*]]>*/
          439  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>,<br><script type="text/javascript">
          440  +/*<![CDATA[*/
          441  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%64%6f%72%69%61%6e%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%44%6f%72%69%61%6e%20%4b%69%6e%64%3c%2f%61%3e%27%29'))
          442  +/*]]>*/
          443  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          444  +</tr>
          445  +<tr>
          446  +<td valign="top" align="left""><a href="../theses/ss07/world_of_music_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          447  +<td valign="top" align="left" class="line">Similarity Measures in the World of Music (<a href="../theses/ss07/MusicGraphSimilarities_bait.pdf">bait</a>, <a href="../theses/ss07/world_of_music_report.pdf">report</a>)</td>
          448  +<td valign="top" align="left" class="line">M</td>
          449  +<td valign="top" align="left" class="line"><a href="../members/michael.html">Michael Kuhn</a>,<br><a href="../members/olga.html">Olga Goussevskaia</a></td>
          450  +<td valign="top" align="left" class="line">SS 07</td>
          451  +<td valign="top" align="left" class="line"><script type="text/javascript">
          452  +/*<![CDATA[*/
          453  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%6c%6f%72%65%6e%7a%69%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4d%69%63%68%61%65%6c%20%4c%6f%72%65%6e%7a%69%3c%2f%61%3e%27%29'))
          454  +/*]]>*/
          455  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          456  +</tr>
          457  +<tr>
          458  +<td valign="top" align="left""><a href="../theses/ss07/simulatingMACprotocols_report.pdf"><img border=0 height=60 width=60 src="../pics/logo_faded.jpg"></a></td>
          459  +<td valign="top" align="left" class="line">Simulating MAC Protocols in Wireless Ad-Hoc Networks (<a href="../theses/ws0607/MAC-simulation2_bait.pdf">bait</a>, <a href="../theses/ss07/simulatingMACprotocols_report.pdf">report</a>)</td>
          460  +<td valign="top" align="left" class="line">S</td>
          461  +<td valign="top" align="left" class="line"><a href="../members/olga.html">Olga Goussevskaia</a></td>
          462  +<td valign="top" align="left" class="line">SS 07</td>
          463  +<td valign="top" align="left" class="line"><script type="text/javascript">
          464  +/*<![CDATA[*/
          465  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%66%64%72%65%68%65%72%40%65%65%2e%65%74%68%7a%2e%63%68%22%3e%46%72%65%64%65%72%69%63%20%44%72%65%68%65%72%3c%2f%61%3e%27%29'))
          466  +/*]]>*/
          467  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript></td>
          468  +</tr>
          469  +
          470  +		</table>
          471  +
          472  +		
          473  +	</td></tr>
          474  +</table>
          475  +
          476  +<!--<table border="0" cellspacing="0" cellpadding="0" width="99%" align="center">
          477  +	<tr><td style="font-size:8pt;" align="right" nowrap><br><br>&copy; <a href="/" style="font-size:8pt;">Distributed Computing Group</a></td></tr>
          478  +</table>-->

Added wiki_references/2017/software/simulators/Sinalgo_Simulator_for_Network_Algorithms/doc/2017_06_12_wget_copy_of_http_disco_ethz_ch_projects_sinalgo/bonnet/disco.ethz.ch/alumni/index.html version [0dad730286].

            1  +<?xml version="1.0" encoding="utf-8"?>
            2  +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            3  +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            4  +
            5  +<html xmlns="http://www.w3.org/1999/xhtml">
            6  +
            7  +<head>
            8  +	<title>Distributed Computing Group </title>
            9  +	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
           10  +        <meta http-equiv="Content-Style-Type" content="text/css" />
           11  +        <meta http-equiv="Content-Script-Type" content="text/javascript" />
           12  +	<meta name="author" content="user" />
           13  +	<meta name="description" content="Distributed Computing Group" />
           14  +	<meta name="keywords" content="roger wattenhofer, wattenhofer, distributed computing, disco" />
           15  +    	<meta name="robots" content="noarchive" />
           16  +    	<link rel="shortcut icon" href="../images/favicon.gif" />
           17  +	<meta name='B-verify' content='7f691552aa36eb0d977e5a33e088439dfa1ad843' />
           18  +	
           19  +    <!-- ************************************************************************************************************************************************ -->
           20  +    <!-- BEGIN discoHead include -->
           21  +	        <!-- ************************************************************************************************************************************************ -->
           22  +        <!-- BEGIN cascading style sheets (CSS) -->
           23  +		<style type="text/css">
           24  +		/*<![CDATA[*/
           25  +			@import url(../css/ns4.css);
           26  +			@import url(../css/colors_c010.css);
           27  +			@import url(../css/modernbrowsers.css);
           28  +			@import url(../css/silva.css);
           29  +			@import url(../css/customstyles.css);
           30  +			@import url(../css/disco.css);
           31  +		/*]]>*/
           32  +		</style>
           33  +		<style type="text/css">
           34  +		/*<![CDATA[*/
           35  +			.logo-bg  {
           36  +				background-image: url(../images/screen_disco_glow_04-01.jpg); background-repeat: no-repeat;
           37  +			}
           38  +			.logo-bg1 {
           39  +				background-image: url(../images/screen_disco_glow_04-02.jpg); background-repeat: no-repeat;
           40  +			}
           41  +			/*div.identity-image  {
           42  +				background-image: url(/images/screen_disco_glow_04.jpg); background-repeat: repeat
           43  +			}*/
           44  +			.mainnav, .screenhead, .color5-back, .color4-back, .color3-back, .color2-back, .color1-back, .servicenav, .transparent  {
           45  +				background-image: url(../images/transparent.gif)
           46  +			}
           47  +			body {
           48  +				margin:0;
           49  +				padding:0;
           50  +			}
           51  +		/*]]>*/
           52  +		</style>
           53  +        <style media="print">
           54  +		/*<![CDATA[*/
           55  +        	@import url(../css/print.css);
           56  +		/*]]>*/
           57  +         </style>
           58  +        <!-- END cascading style sheets (CSS) -->
           59  +        <!-- ************************************************************************************************************************************************ -->
           60  +        <!-- BEGIN script slot -->
           61  +    <!-- END script slot -->
           62  +    <!-- END discoHead include -->
           63  +    <!-- ************************************************************************************************************************************************ -->
           64  +
           65  +</head>
           66  +
           67  +<body bgcolor="#ffffff" text="#000000" link="#0000e0" vlink="#0000e0" alink="#00a000" marginheight="0" marginwidth="0" topmargin="0" leftmargin="0" >
           68  +    <a id="top" name="top" />
           69  +    <map name="Map" id="Map">
           70  +       <area shape="rect" coords="2,28,212,51" href="../index.html" target="_self" alt="Distributed Computing Group" />
           71  +     </map>
           72  +    <map name="Map2" id="Map2">
           73  +      <area shape="rect" coords="9,25,198,78" href="../index.html" target="_self" alt="Distributed Computing Group" />
           74  +    </map>
           75  +
           76  +	<table border="0" cellspacing="0" cellpadding="0" width="100%">
           77  +      <tr>
           78  +        <td width="220" style="background-image:url(../images/screen_disco_glow_04-01.jpg)"><img src="../images/eth_logo_white_04.png" alt="ETH Zurich" width="220" height="105" border="0" usemap="#Map2" /></td>
           79  +        <td width="100%" valign="top" style="background-image:url(../images/screen_disco_glow_04-02.jpg)"><img src="../images/disco_text_01a.png" alt="Distributed Computing Group" width="452" height="54" border="0" usemap="#Map" /></td>
           80  +      </tr>
           81  +    </table></td>
           82  +</tr>
           83  +  <tr>
           84  +    <td>
           85  +<!-- START path -->
           86  +		<div class="pathline">
           87  +			<a class="path" href="http://www.ethz.ch/" title="ETH Zurich">ETH Zurich</a> – <a class="path" href="http://www.ee.ethz.ch/" title="Department of Electrical Engineering (ITET)">ITET</a> – <a class="path" href="http://www.tik.ee.ethz.ch/" title="Computer Engineering and Networks Laboratory (TIK)">TIK</a> – <a class="path" href="../index.html" title="Distributed Computing Group (DISCO)">Distributed Computing Group</a>
           88  +            <span style="color:black;"> – <a class="path" href="index.html">Members</a></span>
           89  +			</div>
           90  +<!-- END Pathline -->
           91  +    </td>
           92  +  </tr>
           93  +<tr>
           94  +    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
           95  +      <tr>
           96  +        <td width="220"><br /><table border="0" cellspacing="0" cellpadding="4" width="220px">
           97  +          <tr>
           98  +            <td align="right"><a class="navigation" href="../index.html"><b>HOME </b></a></td>
           99  +            <td align="right"><img src="../images/transparent.gif" border="0" width="10" /></td>
          100  +          </tr>
          101  +          <tr>
          102  +            <td align="right"><a class="navigation" href="index.html"><b>MEMBERS </b></a></td>
          103  +            <td align="right">&nbsp;</td>
          104  +          </tr>
          105  +          <tr>
          106  +            <td align="right"><a class="navigation" href="../publications.html"><b>PUBLICATIONS </b></a></td>
          107  +            <td align="right">&nbsp;</td>
          108  +          </tr>
          109  +          <tr>
          110  +            <td align="right"><a class="navigation" href="../lectures/fs10/index.html"><b>COURSES </b></a></td>
          111  +            <td align="right">&nbsp;</td>
          112  +          </tr>
          113  +          <tr>
          114  +            <td align="right"><a class="navigation" href="../theses.html"><b>THESES </b></a></td>
          115  +            <td align="right">&nbsp;</td>
          116  +          </tr>
          117  +          <tr>
          118  +            <td align="right"><a class="navigation" href="https://wiki.disco.ethz.ch"><b>WIKI </b></a></td>
          119  +            <td align="right">&nbsp;</td>
          120  +          </tr>
          121  +          <tr>
          122  +            <td align="right"><a class="navigation" href="../contact.html"><b>CONTACT </b></a></td>
          123  +            <td align="right">&nbsp;</td>
          124  +          </tr>
          125  +          <tr>
          126  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          127  +            <td align="right">&nbsp;</td>
          128  +          </tr>
          129  +          <tr>
          130  +            <td align="right"><b>SOFTWARE & APPS</b></td>
          131  +            <td align="right">&nbsp;</td>
          132  +          </tr>
          133  +          <tr>
          134  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/beng" target="_blank"><b>benG</b></a></td>
          135  +            <td align="right">&nbsp;</td>
          136  +          </tr>
          137  +          <tr>
          138  +            <td align="right"><a class="navigation" href="http://www.bitthief.ethz.ch/" target="_blank"><b>BitThief</b></a></td>
          139  +            <td align="right">&nbsp;</td>
          140  +          </tr>
          141  +          <tr>
          142  +            <td align="right"><a class="navigation" href="http://www.confsearch.org" target="_blank"><b>Conference Search</b></a></td>
          143  +            <td align="right">&nbsp;</td>
          144  +          </tr>
          145  +           <tr>
          146  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.disco.gino.androidbenchmarkaccessibilityrecorder&hl=en" target="_blank"><b>DiscoMark</b></a></td>
          147  +            <td align="right">&nbsp;</td>
          148  +          </tr>
          149  +          <tr>
          150  +            <td align="right"><a class="navigation" href="http://www.jukefox.org/" target="_blank"><b>jukefox</b></a></td>
          151  +            <td align="right">&nbsp;</td>
          152  +          </tr>
          153  +          <tr>
          154  +            <td align="right"><a class="navigation" href="https://kaennsch.me" target="_blank"><b>Kännsch</b></a></td>
          155  +            <td align="right">&nbsp;</td>
          156  +          </tr>
          157  +          <tr>
          158  +          <tr>
          159  +            <td align="right"><a class="navigation" href="http://www.disco.ethz.ch/scs" target="_blank"><b>Smart Cloud Storage</b></a></td>
          160  +            <td align="right">&nbsp;</td>
          161  +          </tr>
          162  +          <tr>
          163  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ch.ethz.vinzensg.newspaper20&hl=en" target="_blank"><b>Newspaper 2.0</b></a></td>
          164  +            <td align="right">&nbsp;</td>
          165  +          </tr>
          166  +          <tr>
          167  +            <td align="right"><a class="navigation" href="../projects/sinalgo.1.html" target="_blank"><b>Sinalgo</b></a></td>
          168  +            <td align="right">&nbsp;</td>
          169  +          </tr>
          170  +          <tr>
          171  +            <td align="right"><a class="navigation" href="https://play.google.com/store/apps/details?id=ethz.ba.androidClient" target="_blank"><b>sound mate</b></a></td>
          172  +            <td align="right">&nbsp;</td>
          173  +          </tr>
          174  +           <tr>
          175  +            <td align="right"><a class="navigation" href="http://tos-ide.ethz.ch/" target="_blank"><b>TinyOS IDE </b></a></td>
          176  +            <td align="right">&nbsp;</td>
          177  +          </tr>
          178  +          <!--<tr>
          179  +            <td align="right"><a class="navigation" href="/theory.html" target="_self"><b>Theory</b></a></td>
          180  +            <td align="right">&nbsp;</td>
          181  +          </tr>-->
          182  +          <tr>
          183  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          184  +            <td align="right">&nbsp;</td>
          185  +          </tr>
          186  +          <tr>
          187  +            <td align="right"><b>SPIN-OFFs</b></td>
          188  +            <td align="right">&nbsp;</td>
          189  +          </tr>
          190  +          <tr>
          191  +            <td align="right"><a class="navigation" href="http://sunbeat-uv.com/" target="_blank"><b>BitSplitters</b></a></td>
          192  +            <td align="right">&nbsp;</td>
          193  +          </tr>
          194  +          <tr>
          195  +            <td align="right">&nbsp;&nbsp;&nbsp;</td>
          196  +            <td align="right">&nbsp;</td>
          197  +          </tr>
          198  +          <tr>
          199  +            <td align="right"><b>FORMER</b></td>
          200  +            <td align="right">&nbsp;</td>
          201  +          </tr>
          202  +          <tr>
          203  +            <td align="right"><a class="navigation" href="http://sourceforge.net/projects/spamato/" target="_blank"><b>Spamato</b></a></td>
          204  +            <td align="right">&nbsp;</td>
          205  +          </tr>
          206  +          <tr>
          207  +      <td align="right"><a class="navigation" href="http://www.venturekick.ch/index.cfm?page=129733&profil_id=986" target="_blank"><b>StreamForge</b></a></td>
          208  +            <td align="right">&nbsp;</td>
          209  +          <tr>
          210  +            <td align="right"><a class="navigation" href="https://en.wikipedia.org/wiki/Wuala" target="_blank"><b>Wuala</b></a></td>
          211  +            <td align="right">&nbsp;</td>
          212  +          </tr>
          213  +        </table></td>
          214  +        <td style="padding: 18px 18px 18px 0;">
          215  +        <!-- BEGIN MAIN CONTENT -->
          216  +
          217  +<h1>DISCO Members</h1><table border="0" cellspacing="0" cellpadding="2"><tr><td valign="top"><p><a href="http://www.disco.ethz.ch/members/georgb.html" title="Georg Bachmeier">
          218  +                    <img height="200" width="150" border="0" alt="Georg Bachmeier" src="http://www.tik.ee.ethz.ch/file/f8c00a8fe3129c2fba35cf0ae97fee3d/georg_bachmeier.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          219  +                    <script type="text/javascript">
          220  +/*<![CDATA[*/
          221  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%47%65%6f%72%67%20%42%61%63%68%6d%65%69%65%72%20%3c%67%65%6f%72%67%2e%62%61%63%68%6d%65%69%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%67%65%6f%72%67%2e%62%61%63%68%6d%65%69%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%47%65%6f%72%67%20%42%61%63%68%6d%65%69%65%72%3c%2f%61%3e%27%29'))
          222  +/*]]>*/
          223  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          224  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/brandts.html" title="Sebastian Brandt">
          225  +                    <img height="200" width="150" border="0" alt="Sebastian Brandt" src="../pics/brandts.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          226  +                    <script type="text/javascript">
          227  +/*<![CDATA[*/
          228  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%53%65%62%61%73%74%69%61%6e%20%42%72%61%6e%64%74%20%3c%73%65%62%61%73%74%69%61%6e%2e%62%72%61%6e%64%74%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%65%62%61%73%74%69%61%6e%2e%62%72%61%6e%64%74%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%53%65%62%61%73%74%69%61%6e%20%42%72%61%6e%64%74%3c%2f%61%3e%27%29'))
          229  +/*]]>*/
          230  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          231  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/bruetscf.html" title="Friederike Bruetsch">
          232  +                    <img height="200" width="150" border="0" alt="Friederike Bruetsch" src="../pics/bruetscf.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          233  +                    <script type="text/javascript">
          234  +/*<![CDATA[*/
          235  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%46%72%69%65%64%65%72%69%6b%65%20%42%72%75%65%74%73%63%68%20%3c%66%72%69%65%64%65%72%69%6b%65%2e%62%72%75%65%74%73%63%68%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%66%72%69%65%64%65%72%69%6b%65%2e%62%72%75%65%74%73%63%68%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%46%72%69%65%64%65%72%69%6b%65%20%42%72%75%65%74%73%63%68%3c%2f%61%3e%27%29'))
          236  +/*]]>*/
          237  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />Administrative Assistant 
          238  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/brunnegi.html" title="Gino Brunner">
          239  +                    <img height="200" width="150" border="0" alt="Gino Brunner" src="http://www.tik.ee.ethz.ch/file/29df59a45573843552e4912f95cfec9c/ginoSmall.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          240  +                    <script type="text/javascript">
          241  +/*<![CDATA[*/
          242  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%47%69%6e%6f%20%42%72%75%6e%6e%65%72%20%3c%67%69%6e%6f%2e%62%72%75%6e%6e%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%67%69%6e%6f%2e%62%72%75%6e%6e%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%47%69%6e%6f%20%42%72%75%6e%6e%65%72%3c%2f%61%3e%27%29'))
          243  +/*]]>*/
          244  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          245  +                  </td></tr><tr><td> &nbsp; </td></tr><tr><td valign="top"><p><a href="index.html" title="Conrad Burchert">
          246  +                    <img height="200" width="150" border="0" alt="Conrad Burchert" src="../pics/male.gif" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          247  +                    <script type="text/javascript">
          248  +/*<![CDATA[*/
          249  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%43%6f%6e%72%61%64%20%42%75%72%63%68%65%72%74%20%3c%62%63%6f%6e%72%61%64%40%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%63%6f%6e%72%61%64%40%65%74%68%7a%2e%63%68%22%3e%43%6f%6e%72%61%64%20%42%75%72%63%68%65%72%74%3c%2f%61%3e%27%29'))
          250  +/*]]>*/
          251  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          252  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/manuelei.html" title="Manuel Eichelberger">
          253  +                    <img height="200" width="150" border="0" alt="Manuel Eichelberger" src="http://www.tik.ee.ethz.ch/file/5715e13687a32bc48fcd564b09e03398/manuelei.png" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          254  +                    <script type="text/javascript">
          255  +/*<![CDATA[*/
          256  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4d%61%6e%75%65%6c%20%45%69%63%68%65%6c%62%65%72%67%65%72%20%3c%6d%61%6e%75%65%6c%2e%65%69%63%68%65%6c%62%65%72%67%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%61%6e%75%65%6c%2e%65%69%63%68%65%6c%62%65%72%67%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%4d%61%6e%75%65%6c%20%45%69%63%68%65%6c%62%65%72%67%65%72%3c%2f%61%3e%27%29'))
          257  +/*]]>*/
          258  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          259  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/kpankaj.html" title="Pankaj Khanchandani">
          260  +                    <img height="200" width="150" border="0" alt="Pankaj Khanchandani" src="../pics/male.gif" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          261  +                    <script type="text/javascript">
          262  +/*<![CDATA[*/
          263  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%50%61%6e%6b%61%6a%20%4b%68%61%6e%63%68%61%6e%64%61%6e%69%20%3c%70%61%6e%6b%61%6a%2e%6b%68%61%6e%63%68%61%6e%64%61%6e%69%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%61%6e%6b%61%6a%2e%6b%68%61%6e%63%68%61%6e%64%61%6e%69%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%50%61%6e%6b%61%6a%20%4b%68%61%6e%63%68%61%6e%64%61%6e%69%3c%2f%61%3e%27%29'))
          264  +/*]]>*/
          265  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          266  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/mikoenig.html" title="Michael König">
          267  +                    <img height="200" width="150" border="0" alt="Michael König" src="../pics/mikoenig.png" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          268  +                    <script type="text/javascript">
          269  +/*<![CDATA[*/
          270  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4d%69%63%68%61%65%6c%20%4b%26%6f%75%6d%6c%3b%6e%69%67%20%3c%6d%69%63%68%61%65%6c%2e%6b%6f%65%6e%69%67%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%69%63%68%61%65%6c%2e%6b%6f%65%6e%69%67%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%4d%69%63%68%61%65%6c%20%4b%26%6f%75%6d%6c%3b%6e%69%67%3c%2f%61%3e%27%29'))
          271  +/*]]>*/
          272  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          273  +                  </td></tr><tr><td> &nbsp; </td></tr><tr><td valign="top"><p><a href="http://www.disco.ethz.ch/members/dmelnyk.html" title="Darya Melnyk">
          274  +                    <img height="200" width="150" border="0" alt="Darya Melnyk" src="../pics/male.gif" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          275  +                    <script type="text/javascript">
          276  +/*<![CDATA[*/
          277  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%44%61%72%79%61%20%4d%65%6c%6e%79%6b%20%3c%64%61%72%79%61%2e%6d%65%6c%6e%79%6b%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%64%61%72%79%61%2e%6d%65%6c%6e%79%6b%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%44%61%72%79%61%20%4d%65%6c%6e%79%6b%3c%2f%61%3e%27%29'))
          278  +/*]]>*/
          279  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          280  +                  </td><td valign="top"><p><a href="index.html" title="Stefan Schindler">
          281  +                    <img height="200" width="150" border="0" alt="Stefan Schindler" src="../pics/male.gif" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          282  +                    <script type="text/javascript">
          283  +/*<![CDATA[*/
          284  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%53%74%65%66%61%6e%20%53%63%68%69%6e%64%6c%65%72%20%3c%73%74%65%66%61%6e%2e%73%63%68%69%6e%64%6c%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%74%65%66%61%6e%2e%73%63%68%69%6e%64%6c%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%53%74%65%66%61%6e%20%53%63%68%69%6e%64%6c%65%72%3c%2f%61%3e%27%29'))
          285  +/*]]>*/
          286  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />Sysadmin
          287  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/sitanne.html" title="Simon Tanner">
          288  +                    <img height="200" width="150" border="0" alt="Simon Tanner" src="../pics/male.gif" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          289  +                    <script type="text/javascript">
          290  +/*<![CDATA[*/
          291  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%53%69%6d%6f%6e%20%54%61%6e%6e%65%72%20%3c%73%69%6d%6f%6e%2e%74%61%6e%6e%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%69%6d%6f%6e%2e%74%61%6e%6e%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%53%69%6d%6f%6e%20%54%61%6e%6e%65%72%3c%2f%61%3e%27%29'))
          292  +/*]]>*/
          293  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          294  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/thulrich.html" title="Thomas Ulrich">
          295  +                    <img height="200" width="150" border="0" alt="Thomas Ulrich" src="http://www.tik.ee.ethz.ch/file/c601096abcff56a20046635d5672b3a4/thulrich.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          296  +                    <script type="text/javascript">
          297  +/*<![CDATA[*/
          298  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%54%68%6f%6d%61%73%20%55%6c%72%69%63%68%20%3c%74%68%6f%6d%61%73%2e%75%6c%72%69%63%68%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%74%68%6f%6d%61%73%2e%75%6c%72%69%63%68%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%54%68%6f%6d%61%73%20%55%6c%72%69%63%68%3c%2f%61%3e%27%29'))
          299  +/*]]>*/
          300  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          301  +                  </td></tr><tr><td> &nbsp; </td></tr><tr><td valign="top"><p><a href="http://www.disco.ethz.ch/members/yuwang.html" title="Yuyi Wang">
          302  +                    <img height="200" width="150" border="0" alt="Yuyi Wang" src="../pics/male.gif" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          303  +                    <script type="text/javascript">
          304  +/*<![CDATA[*/
          305  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%59%75%79%69%20%57%61%6e%67%20%3c%79%75%79%69%2e%77%61%6e%67%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%79%75%79%69%2e%77%61%6e%67%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%59%75%79%69%20%57%61%6e%67%3c%2f%61%3e%27%29'))
          306  +/*]]>*/
          307  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD Student
          308  +                  </td><td valign="top"><p><a href="http://dcg.ethz.ch/members/wroger.html" title="Roger Wattenhofer">
          309  +                    <img height="200" width="150" border="0" alt="Roger Wattenhofer" src="../pics/wroger.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          310  +                    <script type="text/javascript">
          311  +/*<![CDATA[*/
          312  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%52%6f%67%65%72%20%57%61%74%74%65%6e%68%6f%66%65%72%20%3c%77%61%74%74%65%6e%68%6f%66%65%72%40%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%77%61%74%74%65%6e%68%6f%66%65%72%40%65%74%68%7a%2e%63%68%22%3e%52%6f%67%65%72%20%57%61%74%74%65%6e%68%6f%66%65%72%3c%2f%61%3e%27%29'))
          313  +/*]]>*/
          314  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />Professor
          315  +                  </td></tr></table><p>&nbsp; </p><p>&nbsp; </p><h1>DISCO Alumni</h1><table border="0" cellspacing="0" cellpadding="2"><tr><td valign="top"><p><a href="http://www.disco.ethz.ch/members/bissigp.html" title="Pascal Bissig">
          316  +                    <img height="200" width="150" border="0" alt="Pascal Bissig" src="http://www.tik.ee.ethz.ch/file/14cb9e38dc6ca3579429bb936ce4ea2e/bissigp.png" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          317  +                    <script type="text/javascript">
          318  +/*<![CDATA[*/
          319  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%50%61%73%63%61%6c%20%42%69%73%73%69%67%20%3c%70%61%73%63%61%6c%2e%62%69%73%73%69%67%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%61%73%63%61%6c%2e%62%69%73%73%69%67%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%50%61%73%63%61%6c%20%42%69%73%73%69%67%3c%2f%61%3e%27%29'))
          320  +/*]]>*/
          321  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD April 2017
          322  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/gbenny.html" title="Benny Gächter">
          323  +                    <img height="200" width="150" border="0" alt="Benny Gächter" src="../pics/gbenny.png" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          324  +                    <script type="text/javascript">
          325  +/*<![CDATA[*/
          326  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%42%65%6e%6e%79%20%47%26%61%75%6d%6c%3b%63%68%74%65%72%20%3c%62%65%6e%6e%79%2e%67%61%65%63%68%74%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%65%6e%6e%79%2e%67%61%65%63%68%74%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%42%65%6e%6e%79%20%47%26%61%75%6d%6c%3b%63%68%74%65%72%3c%2f%61%3e%27%29'))
          327  +/*]]>*/
          328  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />Sysadmin<br />2014-2017
          329  +                  </td><td valign="top"><p><a href="index.html" title="Ladislas Jacobe de Naurois">
          330  +                    <img height="200" width="150" border="0" alt="Ladislas Jacobe de Naurois" src="../pics/jacobedl.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          331  +                    <script type="text/javascript">
          332  +/*<![CDATA[*/
          333  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4c%61%64%69%73%6c%61%73%20%4a%61%63%6f%62%65%20%64%65%20%4e%61%75%72%6f%69%73%20%3c%6a%61%63%6f%62%65%64%6c%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6a%61%63%6f%62%65%64%6c%40%73%74%75%64%65%6e%74%2e%65%74%68%7a%2e%63%68%22%3e%4c%61%64%69%73%6c%61%73%20%4a%61%63%6f%62%65%20%64%65%20%4e%61%75%72%6f%69%73%3c%2f%61%3e%27%29'))
          334  +/*]]>*/
          335  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />Researcher <br />2016-2016
          336  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/foklaus.html" title="Klaus-Tycho Förster">
          337  +                    <img height="200" width="150" border="0" alt="Klaus-Tycho Förster" src="../pics/foklaus.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          338  +                    <script type="text/javascript">
          339  +/*<![CDATA[*/
          340  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4b%6c%61%75%73%2d%54%79%63%68%6f%20%46%26%6f%75%6d%6c%3b%72%73%74%65%72%20%3c%6b%6c%61%75%73%2d%74%79%63%68%6f%2e%66%6f%65%72%73%74%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6b%6c%61%75%73%2d%74%79%63%68%6f%2e%66%6f%65%72%73%74%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%4b%6c%61%75%73%2d%54%79%63%68%6f%20%46%26%6f%75%6d%6c%3b%72%73%74%65%72%3c%2f%61%3e%27%29'))
          341  +/*]]>*/
          342  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD September 2016
          343  +                  </td></tr><tr><td> &nbsp; </td></tr><tr><td valign="top"><p><a href="http://www.disco.ethz.ch/members/pbrandes.html" title="Philipp Brandes">
          344  +                    <img height="200" width="150" border="0" alt="Philipp Brandes" src="../pics/pbrandes.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          345  +                    <script type="text/javascript">
          346  +/*<![CDATA[*/
          347  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%50%68%69%6c%69%70%70%20%42%72%61%6e%64%65%73%20%3c%70%68%69%6c%69%70%70%2e%62%72%61%6e%64%65%73%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%70%68%69%6c%69%70%70%2e%62%72%61%6e%64%65%73%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%50%68%69%6c%69%70%70%20%42%72%61%6e%64%65%73%3c%2f%61%3e%27%29'))
          348  +/*]]>*/
          349  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD July 2016
          350  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/lpeer.html" title="Laura Peer">
          351  +                    <img height="200" width="150" border="0" alt="Laura Peer" src="../pics/lpeer.png" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          352  +                    <script type="text/javascript">
          353  +/*<![CDATA[*/
          354  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4c%61%75%72%61%20%50%65%65%72%20%3c%6c%61%75%72%61%2e%70%65%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6c%61%75%72%61%2e%70%65%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%4c%61%75%72%61%20%50%65%65%72%3c%2f%61%3e%27%29'))
          355  +/*]]>*/
          356  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />Researcher <br />2014-2016
          357  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/stolzda.html" title="David Stolz">
          358  +                    <img height="200" width="150" border="0" alt="David Stolz" src="http://www.tik.ee.ethz.ch/file/ee278196125d2c76dd981046bc402f63/david.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          359  +                    <script type="text/javascript">
          360  +/*<![CDATA[*/
          361  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%44%61%76%69%64%20%53%74%6f%6c%7a%20%3c%64%61%76%69%64%2e%73%74%6f%6c%7a%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%64%61%76%69%64%2e%73%74%6f%6c%7a%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%44%61%76%69%64%20%53%74%6f%6c%7a%3c%2f%61%3e%27%29'))
          362  +/*]]>*/
          363  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />Researcher <br />2014-2016
          364  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/cdecker.html" title="Christian Decker">
          365  +                    <img height="200" width="150" border="0" alt="Christian Decker" src="../pics/cdecker.png" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          366  +                    <script type="text/javascript">
          367  +/*<![CDATA[*/
          368  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%43%68%72%69%73%74%69%61%6e%20%44%65%63%6b%65%72%20%3c%64%65%63%6b%65%72%2e%63%68%72%69%73%74%69%61%6e%40%67%6d%61%69%6c%2e%63%6f%6d%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%64%65%63%6b%65%72%2e%63%68%72%69%73%74%69%61%6e%40%67%6d%61%69%6c%2e%63%6f%6d%22%3e%43%68%72%69%73%74%69%61%6e%20%44%65%63%6b%65%72%3c%2f%61%3e%27%29'))
          369  +/*]]>*/
          370  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD January 2016
          371  +                  </td></tr><tr><td> &nbsp; </td></tr><tr><td valign="top"><p><a href="http://www.disco.ethz.ch/alumni/barkelle.html" title="Barbara Keller">
          372  +                    <img height="200" width="150" border="0" alt="Barbara Keller" src="../pics/barkelle.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          373  +                    <script type="text/javascript">
          374  +/*<![CDATA[*/
          375  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%42%61%72%62%61%72%61%20%4b%65%6c%6c%65%72%20%3c%62%61%72%62%61%72%61%2e%6b%65%6c%6c%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%62%61%72%62%61%72%61%2e%6b%65%6c%6c%65%72%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%42%61%72%62%61%72%61%20%4b%65%6c%6c%65%72%3c%2f%61%3e%27%29'))
          376  +/*]]>*/
          377  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD November 2015
          378  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/seidelj.html" title="Jochen Seidel">
          379  +                    <img height="200" width="150" border="0" alt="Jochen Seidel" src="../pics/seidelj.jpg" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
          380  +                    <script type="text/javascript">
          381  +/*<![CDATA[*/
          382  +	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%63%6c%61%73%73%3d%22%22%20%74%69%74%6c%65%3d%22%4a%6f%63%68%65%6e%20%53%65%69%64%65%6c%20%3c%6a%6f%63%68%65%6e%2e%73%65%69%64%65%6c%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%3e%22%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6a%6f%63%68%65%6e%2e%73%65%69%64%65%6c%40%74%69%6b%2e%65%65%2e%65%74%68%7a%2e%63%68%22%3e%4a%6f%63%68%65%6e%20%53%65%69%64%65%6c%3c%2f%61%3e%27%29'))
          383  +/*]]>*/
          384  +</script><noscript>This email address is protected from spam bots. You need JavaScript enabled to view it.</noscript>&nbsp;&nbsp;&nbsp;<br />PhD August 2015
          385  +                  </td><td valign="top"><p><a href="http://www.disco.ethz.ch/members/juitto.html" title="Jara Uitto">
          386  +                    <img height="200" width="150" border="0" alt="Jara Uitto" src="../pics/juitto.jpg" /></a