<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://murray.cds.caltech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nok</id>
	<title>Murray Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://murray.cds.caltech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nok"/>
	<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/Special:Contributions/Nok"/>
	<updated>2026-04-09T21:32:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23605</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23605"/>
		<updated>2020-04-08T13:15:47Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git checkout eeci2020&lt;br /&gt;
    $ pip install wheel&lt;br /&gt;
    $ pip install cvxopt&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;polytope:&#039;&#039;&#039; Make sure you have version 0.2.2 or higher of polytope installed&lt;br /&gt;
&lt;br /&gt;
   $ python -c &amp;quot;import polytope; print(polytope.__version__)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If the version is not &#039;0.2.2&#039; (possibly followed by some additional text, e.g., 0.2.2.dev0+f12c87a64641fed4d36a0fe904613495c434577d), then you need to install the latest version of polytope from source:&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/polytope.git&lt;br /&gt;
    $ python setup.py install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;matplotlib:&#039;&#039;&#039; matplotlib is not required for TuLiP but will be used in the course for visualization&lt;br /&gt;
&lt;br /&gt;
    $ pip install matplotlib&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dot:&#039;&#039;&#039; dot is not required for TuLiP but is used for visualization.  The dot program is part of the graphviz package available on most *nix systems.  A typical way to install the package is to use the following command&lt;br /&gt;
&lt;br /&gt;
    $ sudo apt-get install graphviz&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like &#039;&#039;venv_path&#039;&#039;/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=&#039;&#039;path_to_storm&#039;&#039;&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: &#039;&#039;venv_path&#039;&#039;/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: &#039;&#039;venv_path&#039;&#039;/include&lt;br /&gt;
        Z3_LIBRARY: &#039;&#039;venv_path&#039;&#039;/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
Note that the last one has to be python3 even if in the virtual environment, python is a symbolic link to python3 already.&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23604</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23604"/>
		<updated>2020-04-08T13:15:09Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git checkout eeci2020&lt;br /&gt;
    $ pip install wheel&lt;br /&gt;
    $ pip install cvxopt&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;polytope:&#039;&#039;&#039; Make sure you have version 0.2.2 or higher of polytope installed&lt;br /&gt;
&lt;br /&gt;
   $ python -c &amp;quot;import polytope; print(polytope.__version__)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If the version is not &#039;0.2.2&#039; (possibly followed by some additional text, e.g., 0.2.2.dev0+f12c87a64641fed4d36a0fe904613495c434577d), then you need to install the latest version of polytope from source:&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/polytope.git&lt;br /&gt;
    $ python setup.py install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;matplotlib:&#039;&#039;&#039; matplotlib is not required for TuLiP but will be used in the course for visualization&lt;br /&gt;
&lt;br /&gt;
    $ pip install matplotlib&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dot:&#039;&#039;&#039; dot is not required for TuLiP but is used for visualization.  The dot program is part of the graphviz package available on most *nix systems.  A typical way to install the package is to use the following command&lt;br /&gt;
&lt;br /&gt;
    $ sudo apt-get install graphviz&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like &#039;&#039;venv_path&#039;&#039;/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=path_to_storm&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: &#039;&#039;venv_path&#039;&#039;/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: &#039;&#039;venv_path&#039;&#039;/include&lt;br /&gt;
        Z3_LIBRARY: &#039;&#039;venv_path&#039;&#039;/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
Note that the last one has to be python3 even if in the virtual environment, python is a symbolic link to python3 already.&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Behavior_Specifications&amp;diff=23521</id>
		<title>EECI 2020: Behavior Specifications</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Behavior_Specifications&amp;diff=23521"/>
		<updated>2020-03-09T08:16:29Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Further Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Computer Session: MVP|next=Safety-Critical Systems}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
One of the major challenges in the development, validation and deployment of autonomous vehicles is to understand what constitutes their correct behavior. The behavior specifications of autonomous vehicles come from numerous sources, including not only the vaguely written traffic laws, but also ethics and local driving culture to ensure their predictability and compatibility with other traffic participants. This lecture provides real-life examples where such specifications are conflicting and present a new formalism called “rulebooks”, developed at Nutonomy, to specify the correct behavior of autonomous vehicles and provide a systematic approach to handle possibly conflicting specifications.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/8i6yj94p10a2cj0/L9_rulebooks.pdf?dl=0 Lecture slides]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://dl.acm.org/doi/pdf/10.1145/2461328.2461330 Liability, Ethics, and Culture-Aware Behavior Specification using Rulebooks] A. Censi, K. Slutsky, T. Wongpiromsarn, D. Yershov, S. Pendleton, J. Fu, E. Frazzoli, ICRA 2019. Detail on the rulebooks framework.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://530cb0a7-a-62cb3a1a-s-sites.googlegroups.com/site/tichakorn/itsc11.pdf?attachauth=ANoY7crfSz_U77VBEX95uPM-hJ45EDINGM5mtrqbPiY6VBfpf0WFZGdE-aYV0TPGZBje1gC29IdT2OyQkebTr2q8xY6qGM4wkg512xDedo29SulIC1PCzzmzerWn6NSTWCZgau_MSTb7gsrxxHvSGvU3NFoa5-jusHMpPdfrMvwSGmw0RL3-2XmMTXlAT22z1fPiRAOkhLgpJRacM-oOj36yeKVCIT1hcQ%3D%3D&amp;amp;attredirects=0 Synthesis of Provably Correct Controllers for Autonomous Vehicles in Urban Environments] T. Wongpiromsarn, S. Karaman, E. Frazzoli, ITSC 2011. How Urban Challenge specifications can be expressed in LTL.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_TuLiP&amp;diff=23520</id>
		<title>EECI 2020: Computer Session: TuLiP</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_TuLiP&amp;diff=23520"/>
		<updated>2020-03-09T07:11:45Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Reactive Synthesis|next=Minimum Violation Planning}}&lt;br /&gt;
&lt;br /&gt;
This lecture provides an overview of TuLiP, a Python-based software toolbox for the synthesis of embedded control software that is provably correct with respect to a GR[1] specifications. TuLiP combines routines for (1) finite state abstraction of control systems, (2) digital design synthesis from GR[1] specifications, and (3) receding horizon planning. The underlying digital design synthesis routine treats the environment as adversary; hence, the resulting controller is guaranteed to be correct for any admissible environment profile. TuLiP applies the receding horizon framework, allowing the synthesis problem to be broken into a set of smaller problems, and consequently alleviating the computational complexity of the synthesis procedure, while preserving the correctness guarantee.&lt;br /&gt;
&lt;br /&gt;
A brief overview of TuLiP will be followed by hands-on exercises using the toolbox. &lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides: [http://www.cds.caltech.edu/~murray/courses/eeci-sp13/C2_tulip-21Mar13.pdf TuLiP]&lt;br /&gt;
* amination script: [home/tichakorn/Shared/eeci/animate.py animate.py]&lt;br /&gt;
* [http://www.cds.caltech.edu/~murray/courses/eeci-sp12/tulip_examples.zip Example TuLiP files] (zip file): &lt;br /&gt;
** 6 cell robot, discrete state space: [http://www.cds.caltech.edu/~murray/courses/eeci-sp12/robot_discrete_simple.py robot_discrete_simple.py]&lt;br /&gt;
** 6 cell robot, with dynamics: [http://www.cds.caltech.edu/~murray/courses/eeci-sp12/robot_simple.py robot_simple.py], [http://www.cds.caltech.edu/~murray/courses/eeci-sp12/robot_simple2.py robot_simple2.py] (alternative formulation)&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2010n_wtoxm11-hscc.html TuLiP: A Software Toolbox for Receding Horizon Temporal Logic Planning], T. Wongpiromsarn, U. Topcu, N. Ozay, H. Xu and R. M. Murray, Hybrid Systems: Computation and Control, 2011. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://sourceforge.net/apps/mediawiki/tulip-control/index.php?title=Main_Page TuLiP on SourceForge] &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://tulip-control.sourceforge.net/doc/ TuLiP Documentation] and [http://tulip-control.sourceforge.net/doc/install.html Installation instructions] &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://jtlv.ysaar.net/ JTLV Project Home Site] JTLV provides the framework for the underlying digital design synthesis routine used in TuLiP. &amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_TuLiP&amp;diff=23519</id>
		<title>EECI 2020: Computer Session: TuLiP</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_TuLiP&amp;diff=23519"/>
		<updated>2020-03-09T07:11:29Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Reactive Synthesis|next=Minimum Violation Planning}}&lt;br /&gt;
&lt;br /&gt;
This lecture provides an overview of TuLiP, a Python-based software toolbox for the synthesis of embedded control software that is provably correct with respect to a GR[1] specifications. TuLiP combines routines for (1) finite state abstraction of control systems, (2) digital design synthesis from GR[1] specifications, and (3) receding horizon planning. The underlying digital design synthesis routine treats the environment as adversary; hence, the resulting controller is guaranteed to be correct for any admissible environment profile. TuLiP applies the receding horizon framework, allowing the synthesis problem to be broken into a set of smaller problems, and consequently alleviating the computational complexity of the synthesis procedure, while preserving the correctness guarantee.&lt;br /&gt;
&lt;br /&gt;
A brief overview of TuLiP will be followed by hands-on exercises using the toolbox. &lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides: [http://www.cds.caltech.edu/~murray/courses/eeci-sp13/C2_tulip-21Mar13.pdf TuLiP]&lt;br /&gt;
* amination script: [/home/tichakorn/Shared/eeci/animate.py animate.py]&lt;br /&gt;
* [http://www.cds.caltech.edu/~murray/courses/eeci-sp12/tulip_examples.zip Example TuLiP files] (zip file): &lt;br /&gt;
** 6 cell robot, discrete state space: [http://www.cds.caltech.edu/~murray/courses/eeci-sp12/robot_discrete_simple.py robot_discrete_simple.py]&lt;br /&gt;
** 6 cell robot, with dynamics: [http://www.cds.caltech.edu/~murray/courses/eeci-sp12/robot_simple.py robot_simple.py], [http://www.cds.caltech.edu/~murray/courses/eeci-sp12/robot_simple2.py robot_simple2.py] (alternative formulation)&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2010n_wtoxm11-hscc.html TuLiP: A Software Toolbox for Receding Horizon Temporal Logic Planning], T. Wongpiromsarn, U. Topcu, N. Ozay, H. Xu and R. M. Murray, Hybrid Systems: Computation and Control, 2011. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://sourceforge.net/apps/mediawiki/tulip-control/index.php?title=Main_Page TuLiP on SourceForge] &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://tulip-control.sourceforge.net/doc/ TuLiP Documentation] and [http://tulip-control.sourceforge.net/doc/install.html Installation instructions] &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://jtlv.ysaar.net/ JTLV Project Home Site] JTLV provides the framework for the underlying digital design synthesis routine used in TuLiP. &amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23514</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23514"/>
		<updated>2020-03-06T03:17:29Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git checkout eeci2020&lt;br /&gt;
    $ pip install wheel&lt;br /&gt;
    $ pip install cvxopt&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;polytope:&#039;&#039;&#039; Make sure you have version 0.2.2 or higher of polytope installed&lt;br /&gt;
&lt;br /&gt;
   $ python -e &amp;quot;import polytope; print(polytope.__version__)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If the version is not &#039;0.2.2&#039; (possibly followed by some additional text, e.g., 0.2.2.dev0+f12c87a64641fed4d36a0fe904613495c434577d), then you need to install the latest version of polytope from source:&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/polytope.git&lt;br /&gt;
    $ python setup.py install&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;matplotlib:&#039;&#039;&#039; matplotlib is not required for TuLiP but will be used in the course for visualization&lt;br /&gt;
&lt;br /&gt;
    $ pip install matplotlib&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like &#039;&#039;venv_path&#039;&#039;/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: &#039;&#039;venv_path&#039;&#039;/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: &#039;&#039;venv_path&#039;&#039;/include&lt;br /&gt;
        Z3_LIBRARY: &#039;&#039;venv_path&#039;&#039;/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
Note that the last one has to be python3 even if in the virtual environment, python is a symbolic link to python3 already.&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23509</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23509"/>
		<updated>2020-03-03T18:15:23Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git chechout eeci2020&lt;br /&gt;
    $ pip install wheel&lt;br /&gt;
    $ pip install cvxopt&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;matplotlib:&#039;&#039;&#039; matplotlib is not required for TuLiP but will be used in the course for visualization&lt;br /&gt;
&lt;br /&gt;
    $ pip install matplotlib&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like &#039;&#039;venv_path&#039;&#039;/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: &#039;&#039;venv_path&#039;&#039;/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: &#039;&#039;venv_path&#039;&#039;/include&lt;br /&gt;
        Z3_LIBRARY: &#039;&#039;venv_path&#039;&#039;/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
Note that the last one has to be python3 even if in the virtual environment, python is a symbolic link to python3 already.&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23508</id>
		<title>EECI 2020: Probabilistic Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23508"/>
		<updated>2020-03-03T16:42:27Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Further Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Model Checking|next=Computer Session: Stormpy}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
This lecture provides an introduction to probabilistic model checking. We start with Markov chains as a mathematical model to describe behavior of probabilistic systems where a successor of each state is chosen according to a probability distribution. Then, we discuss basic concepts of probability theory necessary to reason about the quantitative properties of Markov chains. We then move to quantitative analysis of systems modeled by Markov chains, including reachability, regular safety and omega-regular properties. Finally, we introduce Markov decision processes (MDPs), a mathematical model that permits both probabilistic and nondeterministic choices and discuss policy synthesis for MDPs with LTL specifications.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/23v517niko6bxhf/L5_probabilistic-2020.pdf?dl=0 Lecture slides] (Presentation and notation follow that in &amp;quot;Principles of Model Checking&amp;quot; chapter 10 by Baier and Katoen.)&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://530cb0a7-a-62cb3a1a-s-sites.googlegroups.com/site/tichakorn/icra13.pdf?attachauth=ANoY7crKSLOes2FVUSIFvUAL1pMBFHwaF7BejOyR81PJ7ERfZmzCbNYmDg_O90rVDdhkoMP0G1FDI7dIpLuBRH4qJwrRRFatIe3VHJbRB4ETTZVUQeAb9FPLEZEvcA614D2lID6wiZtUpacyxrjPGxtLaN5vepGs_ZexGwijYJYODI740knnu1Cx9THrJenwaaeoZXRpLbvztjkQ1XEiUXx2oeuqXP7dKA%3D%3D&amp;amp;attredirects=0 Incremental Synthesis of Control Policies for Heterogeneous Multi-Agent Systems with Linear Temporal Logic Specifications], T. Wongpiromsarn, A. Ulusoy, C. Belta, E. Frazzoli and D. Rus, ICRA 2013. An incremental version of probabilistic synthesis, with autonomous driving examples.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://530cb0a7-a-62cb3a1a-s-sites.googlegroups.com/site/tichakorn/cdc12_pompdp.pdf?attachauth=ANoY7cqyMmicYhlWMkoB7iz5CbxSlWswoBjhDGlO9KmKidxBF7XPwsPpBIan0jkz5g-L5tmEvNtVeLWRYUVW9IkUoiWpg2Rp9FAxMEYJo76l33RsURqvj3W1mMnmK25d5jnLXMsf1uVJXEIBfJzXxbM6I3GdQJfH9bG5spNvcjD3u41YTVh3XBM4Zn32kWp-cuK-4i_q9j_JiizN1Lbgf53y_yShRAADnA%3D%3D&amp;amp;attredirects=0 Control of Probabilistic Systems under Dynamic, Partially Known Environments with Temporal Logic Specifications], T. Wongpiromsarn and E. Frazzoli, CDC 2012. Another example, with not fully observable agents.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23507</id>
		<title>EECI 2020: Probabilistic Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23507"/>
		<updated>2020-03-03T16:39:59Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Further Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Model Checking|next=Computer Session: Stormpy}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
This lecture provides an introduction to probabilistic model checking. We start with Markov chains as a mathematical model to describe behavior of probabilistic systems where a successor of each state is chosen according to a probability distribution. Then, we discuss basic concepts of probability theory necessary to reason about the quantitative properties of Markov chains. We then move to quantitative analysis of systems modeled by Markov chains, including reachability, regular safety and omega-regular properties. Finally, we introduce Markov decision processes (MDPs), a mathematical model that permits both probabilistic and nondeterministic choices and discuss policy synthesis for MDPs with LTL specifications.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/23v517niko6bxhf/L5_probabilistic-2020.pdf?dl=0 Lecture slides] (Presentation and notation follow that in &amp;quot;Principles of Model Checking&amp;quot; chapter 10 by Baier and Katoen.)&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://530cb0a7-a-62cb3a1a-s-sites.googlegroups.com/site/tichakorn/cdc12_pompdp.pdf?attachauth=ANoY7cqyMmicYhlWMkoB7iz5CbxSlWswoBjhDGlO9KmKidxBF7XPwsPpBIan0jkz5g-L5tmEvNtVeLWRYUVW9IkUoiWpg2Rp9FAxMEYJo76l33RsURqvj3W1mMnmK25d5jnLXMsf1uVJXEIBfJzXxbM6I3GdQJfH9bG5spNvcjD3u41YTVh3XBM4Zn32kWp-cuK-4i_q9j_JiizN1Lbgf53y_yShRAADnA%3D%3D&amp;amp;attredirects=0 Control of Probabilistic Systems under Dynamic, Partially Known Environments with Temporal Logic Specifications], T. Wongpiromsarn and E. Frazzoli, CDC 2012. Examples of applying probabilistic synthesis to autonomous driving problems.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://530cb0a7-a-62cb3a1a-s-sites.googlegroups.com/site/tichakorn/icra13.pdf?attachauth=ANoY7crKSLOes2FVUSIFvUAL1pMBFHwaF7BejOyR81PJ7ERfZmzCbNYmDg_O90rVDdhkoMP0G1FDI7dIpLuBRH4qJwrRRFatIe3VHJbRB4ETTZVUQeAb9FPLEZEvcA614D2lID6wiZtUpacyxrjPGxtLaN5vepGs_ZexGwijYJYODI740knnu1Cx9THrJenwaaeoZXRpLbvztjkQ1XEiUXx2oeuqXP7dKA%3D%3D&amp;amp;attredirects=0 Incremental Synthesis of Control Policies for Heterogeneous Multi-Agent Systems with Linear Temporal Logic Specifications], T. Wongpiromsarn, A. Ulusoy, C. Belta, E. Frazzoli and D. Rus, ICRA 2013. Similar to above, but with not fully observable agents.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23506</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23506"/>
		<updated>2020-03-03T04:44:49Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git chechout eeci2020&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;matplotlib:&#039;&#039;&#039; matplotlib is not required for TuLiP but will be used in the course for visualization&lt;br /&gt;
&lt;br /&gt;
    $ pip install matplotlib&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like &#039;&#039;venv_path&#039;&#039;/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: &#039;&#039;venv_path&#039;&#039;/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: &#039;&#039;venv_path&#039;&#039;/include&lt;br /&gt;
        Z3_LIBRARY: &#039;&#039;venv_path&#039;&#039;/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
Note that the last one has to be python3 even if in the virtual environment, python is a symbolic link to python3 already.&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_MVP&amp;diff=23505</id>
		<title>EECI 2020: Computer Session: MVP</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_MVP&amp;diff=23505"/>
		<updated>2020-03-03T03:32:19Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Minimum Violation Planning|next=Behavior Specifications}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
Hands-on minimum violation planning exercises using TuLiP.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/s9qnrtmxiyul86m/C3_mvp-2020.pdf?dl=0 Lecture slides]&lt;br /&gt;
* Example files: [https://www.dropbox.com/s/tc4rujdcmf0g6f9/mvp.ipynb?dl=0 mvp.ipynb]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_MVP&amp;diff=23504</id>
		<title>EECI 2020: Computer Session: MVP</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_MVP&amp;diff=23504"/>
		<updated>2020-03-03T03:09:38Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Minimum Violation Planning|next=Behavior Specifications}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
Hands-on minimum violation planning exercises using TuLiP.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/s9qnrtmxiyul86m/C3_mvp-2020.pdf?dl=0 Lecture slides]&lt;br /&gt;
* Example files: [https://www.dropbox.com/s/40lm3yconeytgni/mvp.ipynb?dl=0 mvp.ipynb]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_MVP&amp;diff=23503</id>
		<title>EECI 2020: Computer Session: MVP</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_MVP&amp;diff=23503"/>
		<updated>2020-03-03T01:58:10Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Minimum Violation Planning|next=Behavior Specifications}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
Hands-on minimum violation planning exercises using TuLiP.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides&lt;br /&gt;
* Example files: [https://www.dropbox.com/s/40lm3yconeytgni/mvp.ipynb?dl=0 mvp.ipynb]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_Stormpy&amp;diff=23502</id>
		<title>EECI 2020: Computer Session: Stormpy</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_Stormpy&amp;diff=23502"/>
		<updated>2020-03-03T01:56:00Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Probabilistic Systems|next=Discrete Abstractions}}&lt;br /&gt;
&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
Hands-on probabilistic model checking exercises using stormpy. &lt;br /&gt;
* quantitative analysis of PCTL specifications against Markov chain model&lt;br /&gt;
* control strategy synthesis. &lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/f7emn3p77w57nx9/C1_probabilistic.pdf?dl=0 Lecture slides] &lt;br /&gt;
* Example files: &lt;br /&gt;
** Models and policies: [https://www.dropbox.com/s/hvk96u652m1m40d/light.pm?dl=0 light.pm], [https://www.dropbox.com/s/8bdi777j6aw8wc8/ma.nm?dl=0 ma.nm], [https://www.dropbox.com/s/1pp4klntys3zyac/mh.pm?dl=0 mh.pm], [https://www.dropbox.com/s/87ec672ifdi5yh5/policy.json?dl=0 policy.json],&lt;br /&gt;
** Code [https://www.dropbox.com/s/k56l72yuud0wh9m/analysis_light.ipynb?dl=0 analysis_light.ipynb], [https://www.dropbox.com/s/s0a67cilq5wc2bc/analysis_compose.ipynb?dl=0 analysis_compose.ipynb], [https://www.dropbox.com/s/p2kx6pzf26ik3t1/analysis_policy.ipynb?dl=0 analysis_policy.ipynb], [https://www.dropbox.com/s/chrt9atu98ybl0l/synthesis.ipynb?dl=0 synthesis.ipynb]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://moves-rwth.github.io/stormpy stormpy]. A comprehensive reference on stormpy &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://www.prismmodelchecker.org/manual/Main/Welcome prism]. For the PRISM Language and properties &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23501</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23501"/>
		<updated>2020-03-03T00:23:23Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git chechout eeci2020&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like &#039;&#039;venv_path&#039;&#039;/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: &#039;&#039;venv_path&#039;&#039;/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: &#039;&#039;venv_path&#039;&#039;/include&lt;br /&gt;
        Z3_LIBRARY: &#039;&#039;venv_path&#039;&#039;/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
Note that the last one has to be python3 even if in the virtual environment, python is a symbolic link to python3 already.&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23500</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23500"/>
		<updated>2020-03-03T00:22:21Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git chechout eeci2020&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like venv_path/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: venv_path/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: venv_path/include&lt;br /&gt;
        Z3_LIBRARY: venv_path/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
Note that the last one has to be python3 even if in the virtual environment, python is a symbolic link to python3 already.&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23499</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23499"/>
		<updated>2020-03-03T00:21:22Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone git@github.com:tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git chechout eeci2020&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like venv_path/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: venv_path/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: venv_path/include&lt;br /&gt;
        Z3_LIBRARY: venv_path/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
Note that the last one has to be python3 even if in the virtual environment, python is a symbolic link to python3 already.&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23498</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23498"/>
		<updated>2020-03-03T00:19:19Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone git@github.com:tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git chechout eeci2020&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like venv_path/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: venv_path/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: venv_path/include&lt;br /&gt;
        Z3_LIBRARY: venv_path/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ cd stormpy&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23497</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23497"/>
		<updated>2020-03-03T00:18:11Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone git@github.com:tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git chechout eeci2020&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like venv_path/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: venv_path/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: venv_path/include&lt;br /&gt;
        Z3_LIBRARY: venv_path/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;stormpy:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/stormpy.git&lt;br /&gt;
    $ git checkout 7ae4d0806edde02093d4f90ee25d381b344180ff&lt;br /&gt;
    $ python3 setup.py develop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23496</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23496"/>
		<updated>2020-03-03T00:17:17Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
The above link provides instructions on how to install the software on your own. I highly recommend the use of virtual environments (either through [https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ python virtualenv] or [https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html anaconda]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;TuLiP (use the eeci2020 branch where minimum violation planning is implemented):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone git@github.com:tulip-control/tulip-control.git&lt;br /&gt;
    $ cd tulip-control&lt;br /&gt;
    $ git chechout eeci2020&lt;br /&gt;
    $ pip install -r requirements.txt&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stormpy:&#039;&#039;&#039; stormpy requires multiple packages, including carl, pycarl, z3 and storm. First, get all the required libraries. I summarize it here based on Ubuntu. (I tried it on Ubuntu18.04 but other versions should work too.)&lt;br /&gt;
&lt;br /&gt;
    $ sudo snap install cmake --classic&lt;br /&gt;
    $ sudo apt install build-essential libgmp3-dev libeigen3-dev libboost-all-dev libcln-dev ginac-tools autoconf glpk-utils hwloc libginac-dev automake libglpk-dev libhwloc-dev libz3-dev libxerces-c-dev libeigen3-dev&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;carl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/smtrat/carl.git&lt;br /&gt;
    $ cd carl&lt;br /&gt;
    $ git checkout master14&lt;br /&gt;
    $ mkdir build &amp;amp;&amp;amp; cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ make lib_carl&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pycarl:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/moves-rwth/pycarl.git&lt;br /&gt;
    $ cd pycarl/&lt;br /&gt;
    $ python setup.py develop&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;z3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone https://github.com/Z3Prover/z3.git&lt;br /&gt;
    $ cd z3&lt;br /&gt;
    $ python scripts/mk_make.py&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ make&lt;br /&gt;
    $ sudo make install&lt;br /&gt;
&lt;br /&gt;
Note down where z3 is installed. If you use virtualenv, it should be something like venv_path/bin/z3 where venv_path is the path to the virtual environment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;storm:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
    $ git clone -b stable https://github.com/moves-rwth/storm.git&lt;br /&gt;
    $ cd storm&lt;br /&gt;
    $ export STORM_DIR=/home/tichakorn/storm/&lt;br /&gt;
    $ mkdir build&lt;br /&gt;
    $ cd build&lt;br /&gt;
    $ cmake -DUSE_CLN_NUMBERS=ON -DUSE_GINAC=ON -DTHREAD_SAFE=ON ..&lt;br /&gt;
    $ ccmake ..&lt;br /&gt;
      Change the followings:&lt;br /&gt;
        Z3_EXEC: venv_path/bin/z3&lt;br /&gt;
        Z3_INCLUDE_DIR: venv_path/include&lt;br /&gt;
        Z3_LIBRARY: venv_path/lib/libz3.so&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23495</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23495"/>
		<updated>2020-03-02T23:49:33Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2020, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon,10:00&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:30|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
Minimum violation planning using TuLiP&lt;br /&gt;
* Defining system and prioritized safety specification&lt;br /&gt;
* Solving minimum violation planning problem&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_MVP&amp;diff=23494</id>
		<title>EECI 2020: Computer Session: MVP</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_MVP&amp;diff=23494"/>
		<updated>2020-03-02T23:40:45Z</updated>

		<summary type="html">&lt;p&gt;Nok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Minimum Violation Planning|next=Behavior Specifications}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
Hands-on minimum violation planning exercises using TuLiP.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides&lt;br /&gt;
* Example files: [https://www.dropbox.com/s/r8kcjom4y9ijyu2/mvp.py?dl=0 mvp.py]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Safety-Critical_Systems&amp;diff=23476</id>
		<title>EECI 2020: Safety-Critical Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Safety-Critical_Systems&amp;diff=23476"/>
		<updated>2020-02-29T21:36:45Z</updated>

		<summary type="html">&lt;p&gt;Nok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Behaviour Specifications of Autonomous Vehicles|next=Course Summary}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Behavior_Specifications&amp;diff=23474</id>
		<title>EECI 2020: Behavior Specifications</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Behavior_Specifications&amp;diff=23474"/>
		<updated>2020-02-29T21:35:24Z</updated>

		<summary type="html">&lt;p&gt;Nok: Created page with &amp;quot;{{eeci-sp2020 header|prev=Computer Session: VMP|next=Safety-Critical Systems}} {{righttoc}}  One of the major challenges in the development, validation and deployment of auton...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Computer Session: VMP|next=Safety-Critical Systems}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
One of the major challenges in the development, validation and deployment of autonomous vehicles is to understand what constitutes their correct behavior. The behavior specifications of autonomous vehicles come from numerous sources, including not only the vaguely written traffic laws, but also ethics and local driving culture to ensure their predictability and compatibility with other traffic participants. This lecture provides real-life examples where such specifications are conflicting and present a new formalism called “rulebooks”, developed at Nutonomy, to specify the correct behavior of autonomous vehicles and provide a systematic approach to handle possibly conflicting specifications.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/8i6yj94p10a2cj0/L9_rulebooks.pdf?dl=0 Lecture slides]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://dl.acm.org/doi/pdf/10.1145/2461328.2461330 Liability, Ethics, and Culture-Aware Behavior Specification using Rulebooks] A. Censi, K. Slutsky, T. Wongpiromsarn, D. Yershov, S. Pendleton, J. Fu, E. Frazzoli, ICRA 2019. Detail on the rulebooks framework.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23473</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23473"/>
		<updated>2020-02-29T21:28:32Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Course Introduction|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automata&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic Systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete Abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Reactive Synthesis|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* Weighted automaton&lt;br /&gt;
* Prioritized safety specification&lt;br /&gt;
* Minimum violation planning problem and solution for finite state systems&lt;br /&gt;
* Incremental sampling-based algorithm for continuous systems&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Behaviour Specifications of Autonomous Vehicles|&lt;br /&gt;
* Challenges&lt;br /&gt;
* Behavior specification using rulebooks&lt;br /&gt;
* Singapore examples&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Safety-Critical Systems|&lt;br /&gt;
* Requirements for safety-critical control systems&lt;br /&gt;
* Incorporating ML into autonomous sytems&lt;br /&gt;
* Testing and evaluation&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Course Summary|&lt;br /&gt;
* Summary of key concepts from the course&lt;br /&gt;
* Open issues for future research &lt;br /&gt;
* Discussion&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23472</id>
		<title>EECI 2020: Minimum Violation Planning</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23472"/>
		<updated>2020-02-29T20:07:31Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Further Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Computer Session: TuLiP|next=Computer Session: MVP}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/05g0y9t13hm3hgt/L8_mvp-2020.pdf?dl=0 Lecture slides]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://dl.acm.org/doi/pdf/10.1145/2461328.2461330 Least-violating Control Strategy Synthesis with Safety Rules] J. Tumova, G.C Hall, S.  Karaman, E.  Frazzoli and D. Rus, HSCC 2013. Detail on minimum violation planning for finite state systems.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://arxiv.org/pdf/1305.1102.pdf Incremental Sampling-based Algorithm for Minimum-violation Motion Planning] L.I.R. Castro, P. Chaudhari, J. Tumova, S. Karaman, E. Frazzoli, D. Rus, CDC 2013. Incremental version of minimum violation planning.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://www.sites.google.com/site/tichakorn/acc14.pdf?attredirects=0 Incremental Synthesis of Minimum-Violation Control Strategies for Robots Interacting with External Agents] P. Chaudhari, T. Wongpiromsarn and E. Frazzoli, ACC 2014. Multi-agent version of minimum violation planning.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://arxiv.org/pdf/1105.1186.pdf Sampling-based Algorithms for Optimal Motion Planning] S. Karaman and E. Frazzoli, IJRR 2011. Sampling-based algorithms.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://link.springer.com/content/pdf/10.1007%2F3-540-46002-0_30.pdf Temporal debugging for concurrent systems] E.L. Gunter and D. Peled, TACAS 2002. Detail on finite LTL and translation to finite automaton&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23471</id>
		<title>EECI 2020: Minimum Violation Planning</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23471"/>
		<updated>2020-02-29T20:07:15Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Further Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Computer Session: TuLiP|next=Computer Session: MVP}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/05g0y9t13hm3hgt/L8_mvp-2020.pdf?dl=0 Lecture slides]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://dl.acm.org/doi/pdf/10.1145/2461328.2461330 Least-violating Control Strategy Synthesis with Safety Rules] J. Tumova, G.C Hall, S.  Karaman, E.  Frazzoli and D. Rus, HSCC 2013. Detail on minimum violation planning for finite state systems.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://arxiv.org/pdf/1305.1102.pdf Incremental Sampling-based Algorithm for Minimum-violation Motion Planning] L.I.R. Castro, P. Chaudhari, J. Tumova, S. Karaman, E. Frazzoli, D. Rus, CDC 2013. Incremental version of minimum violation planning.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://www.sites.google.com/site/tichakorn/acc14.pdf?attredirects=0 Incremental Synthesis of Minimum-Violation Control Strategies for Robots Interacting with External Agents] P. Chaudhari, T. Wongpiromsarn and E. Frazzoli, ACC 2014. Multi-agent version of minimum violation planning.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://arxiv.org/pdf/1105.1186.pdf Sampling-based Algorithms for Optimal Motion Planning] S. Karaman and E. Frazzoli, IJRR 2011. Sampling-based algorithms.&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://link.springer.com/content/pdf/10.1007%2F3-540-46002-0_30.pdf Temporal debugging for concurrent systems] E.L. Gunter and D. Peled, TACAS 2002. Detail on finite LTL and translation to finite automaton&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23470</id>
		<title>EECI 2020: Minimum Violation Planning</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23470"/>
		<updated>2020-02-29T20:03:43Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{eeci-sp2020 header|prev=Computer Session: TuLiP|next=Computer Session: MVP}}&lt;br /&gt;
{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/05g0y9t13hm3hgt/L8_mvp-2020.pdf?dl=0 Lecture slides]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://dl.acm.org/doi/pdf/10.1145/2461328.2461330 Least-violating Control Strategy Synthesis with Safety Rules] J. Tumova, G.C Hall, S.  Karaman, E.  Frazzoli and D. Rus, HSCC 2013. Detail on minimum violation planning for finite state systems.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://arxiv.org/pdf/1305.1102.pdf Incremental Sampling-based Algorithm for Minimum-violation Motion Planning] L.I.R. Castro, P. Chaudhari, J. Tumova, S. Karaman, E. Frazzoli, D. Rus, CDC 2013. Incremental version of minimum violation planning.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://link.springer.com/content/pdf/10.1007%2F3-540-46002-0_30.pdf Temporal debugging for concurrent systems] E.L. Gunter and D. Peled, TACAS 2002. Detail on finite LTL and translation to finite automaton&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23423</id>
		<title>EECI 2020: Minimum Violation Planning</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23423"/>
		<updated>2020-02-28T18:57:15Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Further Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://dl.acm.org/doi/pdf/10.1145/2461328.2461330 Least-violating Control Strategy Synthesis with Safety Rules] J. Tumova, G.C Hall, S.  Karaman, E.  Frazzoli and D. Rus, HSCC 2013. Detail on minimum violation planning for finite state systems.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://arxiv.org/pdf/1305.1102.pdf Incremental Sampling-based Algorithm for Minimum-violation Motion Planning] L.I.R. Castro, P. Chaudhari, J. Tumova, S. Karaman, E. Frazzoli, D. Rus, CDC 2013. Incremental version of minimum violation planning.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://link.springer.com/content/pdf/10.1007%2F3-540-46002-0_30.pdf Temporal debugging for concurrent systems] E.L. Gunter and D. Peled, TACAS 2002. Detail on finite LTL and translation to finite automaton&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23422</id>
		<title>EECI 2020: Minimum Violation Planning</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23422"/>
		<updated>2020-02-28T18:57:00Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Further Reading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://dl.acm.org/doi/pdf/10.1145/2461328.2461330 Least-violating Control Strategy Synthesis with Safety Rules] J. Tumova, G.C Hall, S.  Karaman, E.  Frazzoli and D. Rus, HSCC 2013. Detail on minimum violation planning for finite state systems.&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://arxiv.org/pdf/1305.1102.pdf Incremental Sampling-based Algorithm for Minimum-violation Motion Planning] L.I.R. Castro, P. Chaudhari, J. Tumova, S. Karaman, E. Frazzoli, D. Rus, CDC 2013. Incremental version of minimum violation planning.&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://link.springer.com/content/pdf/10.1007%2F3-540-46002-0_30.pdf Temporal debugging for concurrent systems] E.L. Gunter and D. Peled, TACAS 2002. Detail on finite LTL and translation to finite automaton&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23421</id>
		<title>EECI 2020: Minimum Violation Planning</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Minimum_Violation_Planning&amp;diff=23421"/>
		<updated>2020-02-28T18:50:47Z</updated>

		<summary type="html">&lt;p&gt;Nok: Created page with &amp;quot;{{righttoc}}  ==  Lecture Materials == * Lecture slides  == Further Reading == * &amp;lt;p&amp;gt;[https://link.springer.com/content/pdf/10.1007%2F3-540-46002-0_30.pdf Temporal debugging fo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://link.springer.com/content/pdf/10.1007%2F3-540-46002-0_30.pdf Temporal debugging for concurrent systems] E.L. Gunter and D. Peled, TACAS 2002. Detail on finite LTL and translation to finite automaton&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Discrete_Abstractions&amp;diff=23420</id>
		<title>EECI 2020: Discrete Abstractions</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Discrete_Abstractions&amp;diff=23420"/>
		<updated>2020-02-27T23:36:36Z</updated>

		<summary type="html">&lt;p&gt;Nok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
This lecture focuses on the abstraction of hybrid systems. We first discuss finite-state under- and over-approximations of hybrid dynamics and how these finite-state models coupled with the model checking tools can be used to verify temporal logic properties against hybrid dynamics. Then, we present a procedure for constructing finite-state, under-approximations which will later be used in the course in the synthesis of hierarchical control protocols.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/yqjbcink8qzmhsp/L6_Abstractions-2020.pdf?dl=0 Lecture slides]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt; [http://robotics.eecs.berkeley.edu/~sastry/ee291e/lygeros.pdf Lecture Notes on Hybrid Systems] (by John Lygeros): A rough introduction to hybrid systems. Chapters 5 and 6 are on various analysis techniques relevant for this short course. &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~utopcu/images//4/4d/WTM-itac10R.pdf Receding horizon temporal logic planning],T. Wongpiromsarn, U. Topcu, and R. Murray, submitted to IEEE Transactions on Automatic Control, 2010.  Details on the receding horizon temporal logic planning.  &amp;lt;/p&amp;gt; &lt;br /&gt;
* &amp;lt;p&amp;gt; [http://www.cds.caltech.edu/~murray/wiki/index.php/EECI08:_Optimization-Based_Control Optimization based control]. A page prepared for EECI 2008 with information and material on basic receding horizon control.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://control.ee.ethz.ch/~mpt/ Multiparametric Toolbox]  The Multi-Parametric Toolbox (MPT) is a free Matlab toolbox for design, analysis and deployment of optimal controllers for constrained linear, nonlinear and hybrid systems. [http://www.cds.caltech.edu/tulip The receding horizon temporal logic planning toolbox] uses the polytope manipulation (intersection, union, set difference, projection, etc.) functionalities of MPT. &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~utopcu/images//9/98/WTM-aaai10.pdf Automatic synthesis of robust embedded control software], T. Wongpiromsarn, U. Topcu, and R. Murray, AAAI 2010 Spring Symposium on Embedded Reasoning: Intelligence in Embedded Systems, 2010. Details on the abstraction procedure covered in this lecture. &amp;lt;/p&amp;gt;&lt;br /&gt;
*&amp;lt;p&amp;gt; [http://www.mpc.berkeley.edu/mpc-course-material/BBMbook_Cambridge.pdf?attredirects=0&amp;amp;d=1 Predictive Control]: A book draft by Bemporap, Borrelli, and Morari. Details on some of the ideas in the implementation of the abstraction procedure presented in the slides can be found in this book. &amp;lt;/p&amp;gt;&lt;br /&gt;
*&amp;lt;p&amp;gt; [http://www.mpc.berkeley.edu/mpc-course-material/BBMbook_Cambridge.pdf?attredirects=0&amp;amp;d=1 Predictive Control]: A book draft by Bemporap, Borrelli, and Morari. Details on some of the ideas in the implementation of the abstraction procedure presented in the slides can be found in this book. &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~utopcu/eeci13/ltom-12-cdc.pdf Reactive controllers for differentially flat systems with temporal logic constraints], J. Liu, N. Ozay, U. Topcu, and R. Murray, Control and Decision Conference, 2012. &amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Discrete_Abstractions&amp;diff=23419</id>
		<title>EECI 2020: Discrete Abstractions</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Discrete_Abstractions&amp;diff=23419"/>
		<updated>2020-02-27T23:35:42Z</updated>

		<summary type="html">&lt;p&gt;Nok: Created page with &amp;quot;This lecture focuses on the abstraction of hybrid systems. We first discuss finite-state under- and over-approximations of hybrid dynamics and how these finite-state models co...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This lecture focuses on the abstraction of hybrid systems. We first discuss finite-state under- and over-approximations of hybrid dynamics and how these finite-state models coupled with the model checking tools can be used to verify temporal logic properties against hybrid dynamics. Then, we present a procedure for constructing finite-state, under-approximations which will later be used in the course in the synthesis of hierarchical control protocols.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/yqjbcink8qzmhsp/L6_Abstractions-2020.pdf?dl=0 Lecture slides]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt; [http://robotics.eecs.berkeley.edu/~sastry/ee291e/lygeros.pdf Lecture Notes on Hybrid Systems] (by John Lygeros): A rough introduction to hybrid systems. Chapters 5 and 6 are on various analysis techniques relevant for this short course. &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~utopcu/images//4/4d/WTM-itac10R.pdf Receding horizon temporal logic planning],T. Wongpiromsarn, U. Topcu, and R. Murray, submitted to IEEE Transactions on Automatic Control, 2010.  Details on the receding horizon temporal logic planning.  &amp;lt;/p&amp;gt; &lt;br /&gt;
* &amp;lt;p&amp;gt; [http://www.cds.caltech.edu/~murray/wiki/index.php/EECI08:_Optimization-Based_Control Optimization based control]. A page prepared for EECI 2008 with information and material on basic receding horizon control.&amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://control.ee.ethz.ch/~mpt/ Multiparametric Toolbox]  The Multi-Parametric Toolbox (MPT) is a free Matlab toolbox for design, analysis and deployment of optimal controllers for constrained linear, nonlinear and hybrid systems. [http://www.cds.caltech.edu/tulip The receding horizon temporal logic planning toolbox] uses the polytope manipulation (intersection, union, set difference, projection, etc.) functionalities of MPT. &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~utopcu/images//9/98/WTM-aaai10.pdf Automatic synthesis of robust embedded control software], T. Wongpiromsarn, U. Topcu, and R. Murray, AAAI 2010 Spring Symposium on Embedded Reasoning: Intelligence in Embedded Systems, 2010. Details on the abstraction procedure covered in this lecture. &amp;lt;/p&amp;gt;&lt;br /&gt;
*&amp;lt;p&amp;gt; [http://www.mpc.berkeley.edu/mpc-course-material/BBMbook_Cambridge.pdf?attredirects=0&amp;amp;d=1 Predictive Control]: A book draft by Bemporap, Borrelli, and Morari. Details on some of the ideas in the implementation of the abstraction procedure presented in the slides can be found in this book. &amp;lt;/p&amp;gt;&lt;br /&gt;
*&amp;lt;p&amp;gt; [http://www.mpc.berkeley.edu/mpc-course-material/BBMbook_Cambridge.pdf?attredirects=0&amp;amp;d=1 Predictive Control]: A book draft by Bemporap, Borrelli, and Morari. Details on some of the ideas in the implementation of the abstraction procedure presented in the slides can be found in this book. &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~utopcu/eeci13/ltom-12-cdc.pdf Reactive controllers for differentially flat systems with temporal logic constraints], J. Liu, N. Ozay, U. Topcu, and R. Murray, Control and Decision Conference, 2012. &amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23418</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23418"/>
		<updated>2020-02-27T23:33:49Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Introduction: Design of Self-Driving Cars|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automatat&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete abstractions|&lt;br /&gt;
* Finite-state approximation of hybrid systems&lt;br /&gt;
* Use of model checking for the verificatino of hybrid systems&lt;br /&gt;
* Construction of finite-state abstractions for synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Synthesis of Reactive Control Protocols|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Rulebooks|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Testing and evaluation|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Incorporating ML|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Model_Checking&amp;diff=23417</id>
		<title>EECI 2020: Model Checking</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Model_Checking&amp;diff=23417"/>
		<updated>2020-02-27T22:35:59Z</updated>

		<summary type="html">&lt;p&gt;Nok: Created page with &amp;quot;{{righttoc}}  This lecture provides an introduction to automata based model checking and its use for closed system synthesis. We first discuss what model checking is, how it w...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
This lecture provides an introduction to automata based model checking and its use for closed system synthesis. We first discuss what model checking is, how it works (in particular how automata based model checking works), and how it is used for verification of linear temporal logic specifications against finite transition system models. We then move to its use for synthesizing (open-loop) control strategies.&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides: [https://www.dropbox.com/s/lobibjtvnenmmz5/L4_model-checking-2020.pdf?dl=0 Model Checking and Logic Synthesis] (Presentation and notation follow that in &amp;quot;Model Checking&amp;quot; chapter 5.2 by Baier and Katoen.)&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 6 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.amazon.com/Model-Checking-Edmund-Clarke-Jr/dp/0262032708/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1297071898&amp;amp;sr=1-1 Model Checking], E. M. Clarke, O. Grumberg and D. A. Peled, The MIT Press, 1999.  A very good reference on automata based model checking.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://portal.acm.org/citation.cfm?id=101990 On the development of reactive systems], D. Harel and A. Pnueli, Logics and models of concurrent systems, Springer-Verlag New York, Inc., 1985, pp. 477–498. For discussion about closed and open systems&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23416</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23416"/>
		<updated>2020-02-27T20:31:14Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Introduction: Design of Self-Driving Cars|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automatat&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete abstractions|&lt;br /&gt;
* Discrete abstractions&lt;br /&gt;
* Traces for continuous systems&lt;br /&gt;
* Trace-inclusive abstractions&lt;br /&gt;
* Reading: WTM, RRT* paper&lt;br /&gt;
* Examples: gridworld, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Synthesis of Reactive Control Protocols|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Rulebooks|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Testing and evaluation|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Incorporating ML|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23415</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23415"/>
		<updated>2020-02-27T20:30:25Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Introduction: Design of Self-Driving Cars|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automatat&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
* Reading: B&amp;amp;K, Ch  10&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete abstractions|&lt;br /&gt;
* Discrete abstractions&lt;br /&gt;
* Traces for continuous systems&lt;br /&gt;
* Trace-inclusive abstractions&lt;br /&gt;
* Reading: WTM, RRT* paper&lt;br /&gt;
* Examples: gridworld, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Synthesis of Reactive Control Protocols|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Rulebooks|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Testing and evaluation|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Incorporating ML|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23414</id>
		<title>EECI 2020: Probabilistic Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23414"/>
		<updated>2020-02-27T20:29:32Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
This lecture provides an introduction to probabilistic model checking. We start with Markov chains as a mathematical model to describe behavior of probabilistic systems where a successor of each state is chosen according to a probability distribution. Then, we discuss basic concepts of probability theory necessary to reason about the quantitative properties of Markov chains. We then move to quantitative analysis of systems modeled by Markov chains, including reachability, regular safety and omega-regular properties. Finally, we introduce Markov decision processes (MDPs), a mathematical model that permits both probabilistic and nondeterministic choices and discuss policy synthesis for MDPs with LTL specifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/23v517niko6bxhf/L5_probabilistic-2020.pdf?dl=0 Lecture slides] (Presentation and notation follow that in &amp;quot;Principles of Model Checking&amp;quot; chapter 10 by Baier and Katoen.)&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_Stormpy&amp;diff=23413</id>
		<title>EECI 2020: Computer Session: Stormpy</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_Stormpy&amp;diff=23413"/>
		<updated>2020-02-27T19:50:14Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
Hands-on probabilistic model checking exercises using stormpy. &lt;br /&gt;
* quantitative analysis of PCTL specifications against Markov chain model&lt;br /&gt;
* control strategy synthesis. &lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/f7emn3p77w57nx9/C1_probabilistic.pdf?dl=0 Lecture slides] &lt;br /&gt;
* Example files: [https://www.dropbox.com/s/hvk96u652m1m40d/light.pm?dl=0 light.pm], [https://www.dropbox.com/s/8bdi777j6aw8wc8/ma.nm?dl=0 ma.nm], [https://www.dropbox.com/s/1pp4klntys3zyac/mh.pm?dl=0 mh.pm], [https://www.dropbox.com/s/87ec672ifdi5yh5/policy.json?dl=0 policy.json], [https://www.dropbox.com/s/oagkzn0hnfeor2a/analysis_light.py?dl=0 analysis_light.py], [https://www.dropbox.com/s/81weaf5qyqahepa/analysis_compose.py?dl=0 analysis_compose.py], [https://www.dropbox.com/s/c561i4zcdw44p4t/analysis_policy.py?dl=0 analysis_policy.py], [https://www.dropbox.com/s/ctf79j7r34mgud7/synthesis.py?dl=0 synthesis.py]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://moves-rwth.github.io/stormpy stormpy]. A comprehensive reference on stormpy &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://www.prismmodelchecker.org/manual/Main/Welcome prism]. For the PRISM Language and properties &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_Stormpy&amp;diff=23412</id>
		<title>EECI 2020: Computer Session: Stormpy</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_Stormpy&amp;diff=23412"/>
		<updated>2020-02-27T19:50:03Z</updated>

		<summary type="html">&lt;p&gt;Nok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
Hands-on probabilistic model checking exercises using stormpy. &lt;br /&gt;
* quantitative analysis of PCTL specifications against Markov chain model&lt;br /&gt;
* control strategy synthesis. &lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/f7emn3p77w57nx9/C1_probabilistic.pdf?dl=0 Lecture slides] &lt;br /&gt;
* * Example files: [https://www.dropbox.com/s/hvk96u652m1m40d/light.pm?dl=0 light.pm], [https://www.dropbox.com/s/8bdi777j6aw8wc8/ma.nm?dl=0 ma.nm], [https://www.dropbox.com/s/1pp4klntys3zyac/mh.pm?dl=0 mh.pm], [https://www.dropbox.com/s/87ec672ifdi5yh5/policy.json?dl=0 policy.json], [https://www.dropbox.com/s/oagkzn0hnfeor2a/analysis_light.py?dl=0 analysis_light.py], [https://www.dropbox.com/s/81weaf5qyqahepa/analysis_compose.py?dl=0 analysis_compose.py], [https://www.dropbox.com/s/c561i4zcdw44p4t/analysis_policy.py?dl=0 analysis_policy.py], [https://www.dropbox.com/s/ctf79j7r34mgud7/synthesis.py?dl=0 synthesis.py]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://moves-rwth.github.io/stormpy stormpy]. A comprehensive reference on stormpy &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://www.prismmodelchecker.org/manual/Main/Welcome prism]. For the PRISM Language and properties &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23411</id>
		<title>EECI 2020: Probabilistic Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23411"/>
		<updated>2020-02-27T19:44:09Z</updated>

		<summary type="html">&lt;p&gt;Nok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
This lecture provides an introduction to probabilistic model checking. We start with Markov chains as a mathematical model to describe behavior of probabilistic systems where a successor of each state is chosen according to a probability distribution. Then, we discuss basic concepts of probability theory necessary to reason about the quantitative properties of Markov chains. We then move to quantitative analysis of systems modeled by Markov chains, including reachability, regular safety and omega-regular properties. Finally, we introduce Markov decision processes (MDPs), a mathematical model that permits both probabilistic and nondeterministic choices and discuss policy synthesis for MDPs with LTL specifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/23v517niko6bxhf/L6_probabilistic-2020.pdf?dl=0 Lecture slides] (Presentation and notation follow that in &amp;quot;Principles of Model Checking&amp;quot; chapter 10 by Baier and Katoen.)&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_Stormpy&amp;diff=23410</id>
		<title>EECI 2020: Computer Session: Stormpy</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Computer_Session:_Stormpy&amp;diff=23410"/>
		<updated>2020-02-27T19:43:33Z</updated>

		<summary type="html">&lt;p&gt;Nok: Created page with &amp;quot;{{righttoc}}  Hands-on probabilistic model checking exercises using stormpy.  * quantitative analysis of PCTL specifications against Markov chain model * control strategy synt...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
Hands-on probabilistic model checking exercises using stormpy. &lt;br /&gt;
* quantitative analysis of PCTL specifications against Markov chain model&lt;br /&gt;
* control strategy synthesis. &lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* [https://www.dropbox.com/s/f7emn3p77w57nx9/C1_probabilistic.pdf?dl=0 Lecture slides] &lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://moves-rwth.github.io/stormpy stormpy]. A comprehensive reference on stormpy &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[https://www.prismmodelchecker.org/manual/Main/Welcome prism]. For the PRISM Language and properties &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23409</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23409"/>
		<updated>2020-02-27T19:32:23Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Lecture Schedule */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Introduction: Design of Self-Driving Cars|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automatat&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis (if time)&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
* Reading: B&amp;amp;K, Ch  10&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: stormpy|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete abstractions|&lt;br /&gt;
* Discrete abstractions&lt;br /&gt;
* Traces for continuous systems&lt;br /&gt;
* Trace-inclusive abstractions&lt;br /&gt;
* Reading: WTM, RRT* paper&lt;br /&gt;
* Examples: gridworld, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Synthesis of Reactive Control Protocols|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Rulebooks|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Testing and evaluation|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Incorporating ML|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23408</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23408"/>
		<updated>2020-02-27T19:30:36Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Software Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Introduction: Design of Self-Driving Cars|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automatat&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis (if time)&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
* Reading: B&amp;amp;K, Ch  10&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Storm|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete abstractions|&lt;br /&gt;
* Discrete abstractions&lt;br /&gt;
* Traces for continuous systems&lt;br /&gt;
* Trace-inclusive abstractions&lt;br /&gt;
* Reading: WTM, RRT* paper&lt;br /&gt;
* Examples: gridworld, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Synthesis of Reactive Control Protocols|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Rulebooks|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Testing and evaluation|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Incorporating ML|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23407</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23407"/>
		<updated>2020-02-27T19:30:02Z</updated>

		<summary type="html">&lt;p&gt;Nok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Introduction: Design of Self-Driving Cars|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automatat&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis (if time)&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
* Reading: B&amp;amp;K, Ch  10&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Storm|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete abstractions|&lt;br /&gt;
* Discrete abstractions&lt;br /&gt;
* Traces for continuous systems&lt;br /&gt;
* Trace-inclusive abstractions&lt;br /&gt;
* Reading: WTM, RRT* paper&lt;br /&gt;
* Examples: gridworld, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Synthesis of Reactive Control Protocols|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Rulebooks|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Testing and evaluation|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Incorporating ML|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* PRISM/Storm&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* [https://moves-rwth.github.io/stormpy stormpy]&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23406</id>
		<title>EECI 2020: Probabilistic Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI_2020:_Probabilistic_Systems&amp;diff=23406"/>
		<updated>2020-02-27T19:27:53Z</updated>

		<summary type="html">&lt;p&gt;Nok: Created page with &amp;quot;{{righttoc}}  This lecture provides an introduction to probabilistic model checking. We start with Markov chains as a mathematical model to describe behavior of probabilistic...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{righttoc}}&lt;br /&gt;
&lt;br /&gt;
This lecture provides an introduction to probabilistic model checking. We start with Markov chains as a mathematical model to describe behavior of probabilistic systems where a successor of each state is chosen according to a probability distribution. Then, we discuss basic concepts of probability theory necessary to reason about the quantitative properties of Markov chains. We then move to quantitative analysis of systems modeled by Markov chains, including reachability, regular safety and omega-regular properties. Finally, we introduce Markov decision processes (MDPs), a mathematical model that permits both probabilistic and nondeterministic choices and discuss policy synthesis for MDPs with LTL specifications.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Lecture Materials ==&lt;br /&gt;
* Lecture slides: [https://www.dropbox.com/s/23v517niko6bxhf/L6_probabilistic-2020.pdf?dl=0 Probabilistic Systems] (Presentation and notation follow that in &amp;quot;Principles of Model Checking&amp;quot; chapter 10 by Baier and Katoen.)&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  A detailed reference on model checking.  Slides for this lecture follow Chapter 10 of this reference.  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==  Additional Information ==&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23405</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23405"/>
		<updated>2020-02-27T18:55:47Z</updated>

		<summary type="html">&lt;p&gt;Nok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Introduction: Design of Self-Driving Cars|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automatat&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis (if time)&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* PCTL&lt;br /&gt;
* Reading: B&amp;amp;K, Ch  10&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Storm|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete abstractions|&lt;br /&gt;
* Discrete abstractions&lt;br /&gt;
* Traces for continuous systems&lt;br /&gt;
* Trace-inclusive abstractions&lt;br /&gt;
* Reading: WTM, RRT* paper&lt;br /&gt;
* Examples: gridworld, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Synthesis of Reactive Control Protocols|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Rulebooks|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Testing and evaluation|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Incorporating ML|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* PRISM/Storm&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* Storm: TBD&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23404</id>
		<title>EECI-IGSC 2020</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=EECI-IGSC_2020&amp;diff=23404"/>
		<updated>2020-02-27T18:54:44Z</updated>

		<summary type="html">&lt;p&gt;Nok: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table width=&amp;quot;100%&amp;quot; cellspacing=0&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=middle&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;gt; [[Image:eecilogo.png|90px]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+2&#039;&amp;gt;&amp;lt;p&amp;gt;Specification, Design, and Verification for Self-Driving Cars&amp;lt;/p&amp;gt; &amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td rowspan=4 align=center&amp;quot;&amp;gt; [[Image:cdslogo.png|90px]]&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;Richard M. Murray and Nok Wongpiromsarn&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=top&amp;gt;&amp;lt;td align=center&amp;gt;&amp;lt;font color=&#039;blue&#039; size=&#039;+0&#039;&amp;gt;9-13 March 2012, Istanbul (Turkey)&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt; __NOTOC__&lt;br /&gt;
&lt;br /&gt;
== Course Description ==&lt;br /&gt;
Increases in fast and inexpensive computing and communications have enabled a new generation of information-rich control systems that rely on multi-threaded networked execution, distributed optimization, sensor fusion and protocol stacks in increasingly sophisticated ways. This course will provide working knowledge of a collection of methods and tools for specifying,  designing and verifying control protocols for autonomous systems, including self-driving cars. We combine methods from computer science (temporal logic, model checking, reactive synthesis) with those from control theory (abstraction methods, optimal control, invariants sets) to analyze and design partially asynchronous control protocols for continuous systems. In addition to introducing the mathematical techniques required to formulate problems and prove properties, we also describe a software toolbox, TuLiP, that is designed for analyzing and synthesizing hybrid control systems using temporal logic and robust performance specifications.&lt;br /&gt;
&lt;br /&gt;
== Reading ==&lt;br /&gt;
The following papers and textbooks will be used heavily throughout the course:&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11481 Principles of Model Checking], C. Baier and J.-P. Katoen, The MIT Press, 2008.  &amp;lt;/p&amp;gt;&lt;br /&gt;
* &amp;lt;p&amp;gt;[http://www.cds.caltech.edu/~murray/papers/2012z_wtm12-us.html Synthesis of Control Protocols for Autonomous Systems], N. Wongpiromsarn, U. Topcu and R. M. Murray.  &#039;&#039;Unmanned Systems&#039;&#039;, 2013 (submitted)&lt;br /&gt;
Additional references for individual topics are included on the individual lecture pages.&lt;br /&gt;
&lt;br /&gt;
== Course information ==&lt;br /&gt;
* Instructors: [[http:www.cds.caltech.edu/~murray|Richard M. Murray]] (Caltech, CDS) and [[http:www.sites.google.com/site/tichakorn/|Nok Wongpiromsarn]] (UT Austin/Iowa State)&lt;br /&gt;
* Date and location: 9-13 March 2020, Istanbul (Turkey)&lt;br /&gt;
* Sponsor: [http://www.eeci-igsc.eu European Embedded Control Institute (EECI) Internataional Graduate School on Control]&lt;br /&gt;
&lt;br /&gt;
== Lecture Schedule ==&lt;br /&gt;
&lt;br /&gt;
The schedule below lists the lectures that will be given as part of the course. Each lecture will last approximately 90 minutes. The individual lecture pages give an overview of the lecture and links to additional information.&lt;br /&gt;
&lt;br /&gt;
{|border=1 cellpadding=2&lt;br /&gt;
|-&lt;br /&gt;
|align=center|Lec&lt;br /&gt;
|align=center|Date/time &lt;br /&gt;
|Title &lt;br /&gt;
|Topics&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| Mon, 9:30&lt;br /&gt;
| Welcome and course administration&lt;br /&gt;
|&lt;br /&gt;
{{eeci2020 entry|L1|RM|Mon, 10:00|Introduction: Design of Self-Driving Cars|&lt;br /&gt;
* Introduction to self-driving cars&lt;br /&gt;
* Specifications and rules of the road&lt;br /&gt;
* Architecture for self-driving (including layers)&lt;br /&gt;
* Design problem, analysis/safety&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L2|RM|Mon, 12:45|Automata Theory|&lt;br /&gt;
* Finite transition systems&lt;br /&gt;
* Kripke structures&lt;br /&gt;
* Automata classes (finite, Buchi,  ND, etc)&lt;br /&gt;
* Examples: stoplight, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L3|RM|Mon, 14:15|Temporal Logic|&lt;br /&gt;
* Temporal logic&lt;br /&gt;
* Linear time properties&lt;br /&gt;
* LTL, STL&lt;br /&gt;
* Examples: lane change, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L4|TW|Mon, 15:45|Model Checking|&lt;br /&gt;
* LTL to Buchi automatat&lt;br /&gt;
* Ideas behind how model checkers work&lt;br /&gt;
* Use for “open loop” synthesis (if time)&lt;br /&gt;
* Examples: intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L6|TW|Tue, 8:30|Probabilistic systems|&lt;br /&gt;
* Stochastic models: Markov chains, Markov decision processes&lt;br /&gt;
* Sigma algebra&lt;br /&gt;
* Reachability, regular safety and omega-regular properties&lt;br /&gt;
* Reading: B&amp;amp;K, Ch  10&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C1|TW|Tue, 10:30|Computer Session: Storm|&lt;br /&gt;
* Probabilistic model checking&lt;br /&gt;
* Probabilistic synthesis&lt;br /&gt;
* TuLiP interface to stormpy&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L5|TW|Tue, 14:15|Discrete abstractions|&lt;br /&gt;
* Discrete abstractions&lt;br /&gt;
* Traces for continuous systems&lt;br /&gt;
* Trace-inclusive abstractions&lt;br /&gt;
* Reading: WTM, RRT* paper&lt;br /&gt;
* Examples: gridworld, intersection&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L7|RM|Wed, 8:30|Synthesis of Reactive Control Protocols|&lt;br /&gt;
* Assume/guarantee formalsms&lt;br /&gt;
* Two-player, asymmetric games&lt;br /&gt;
* Winning set computations, solving for strategies&lt;br /&gt;
* Reading: WTM&lt;br /&gt;
* Examples: runner-blocker, grid-world (parking lot, intersection)&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C2|RM|Thu, 10:30|Computer Session: TuLiP|&lt;br /&gt;
* Simulation setup&lt;br /&gt;
* TuLiP synthesis&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L8|TW|Thu, 8:30|Minimum Violation Planning|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|C3|TW|Thu, 10:30|Computer Session: MVP|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L9|TW|Fri, 9:00|Rulebooks|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L10|RM|Fri, 10:00|Testing and evaluation|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
{{eeci2020 entry|L11|RM|Fri, 11:00|Incorporating ML|&lt;br /&gt;
* TBD&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Installation ==&lt;br /&gt;
&lt;br /&gt;
We will make use of two programs during the lab sessions:&lt;br /&gt;
* PRISM/Storm&lt;br /&gt;
* [http://tulip-control.sf.net TuLiP] - python-based toolbox for temporal logic planning and controller synthesis&lt;br /&gt;
&lt;br /&gt;
During the course, we will access these programs on a remote machine using ssh.  For some parts of the course it will be useful to have a local installation of MATLAB that can be used for visualizing some simulation results.&lt;br /&gt;
&lt;br /&gt;
If you would like to install the software on your own, here are some basic directions for installing the two packages:&lt;br /&gt;
* Storm: TBD&lt;br /&gt;
* TuLiP: TBD&lt;br /&gt;
&lt;br /&gt;
[[Category:Courses]]&lt;br /&gt;
[[Category:2019-20 Courses]]&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Model-Based_Design_and_Qualification_of_Complex_Systems&amp;diff=10795</id>
		<title>Model-Based Design and Qualification of Complex Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Model-Based_Design_and_Qualification_of_Complex_Systems&amp;diff=10795"/>
		<updated>2010-06-22T22:47:24Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Publications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a joint project with [http://crossgroup.caltech.edu/index.html Michael Cross] and [http://www.cmp.caltech.edu/refael/ Gil Refael], funded by Boeing.&lt;br /&gt;
&lt;br /&gt;
{| width=100%&lt;br /&gt;
|- valign=top&lt;br /&gt;
| Current participants:&lt;br /&gt;
* {{Andrea Censi}}&lt;br /&gt;
* Dennice Gayme (PhD student, CDS)&lt;br /&gt;
* {{Shou Han}}&lt;br /&gt;
* Oleg Kogan (PhD student, Physics)&lt;br /&gt;
* Tony Lee (PhD student, Physics)&lt;br /&gt;
* {{Dominic Rizzo}}&lt;br /&gt;
* Heywood Tam (PhD student, Physics)&lt;br /&gt;
* {{Pete Trautman}}&lt;br /&gt;
* {{Ufuk Topcu}}&lt;br /&gt;
* {{Nok Wongpiromsarn}}&lt;br /&gt;
| Past participants:&lt;br /&gt;
* David Alderson (CDS postdoc, NPS)&lt;br /&gt;
* {{Julia Braman}}&lt;br /&gt;
* Lijun Chen (CDS PhD, postdoc)&lt;br /&gt;
* Lars Cremean (ME PhD, Aerovironment)&lt;br /&gt;
* Stefano di Cairano (Visiting student, U. Siena)&lt;br /&gt;
* [http://www.cds.caltech.edu/~doyle John Doyle]&lt;br /&gt;
* Michael Epstein (PhD student, ME)&lt;br /&gt;
* Tamas Keviczky (postdoc, CDS)&lt;br /&gt;
* Dimitry Kogan (CDS MS)&lt;br /&gt;
* Lun Li (PhD student, EE)&lt;br /&gt;
* Alfred Martinez (PhD student, CDS)&lt;br /&gt;
* Stephen Prajna (CDS PhD)&lt;br /&gt;
* Demetri Spanos (PhD student, CDS)&lt;br /&gt;
* {{Johan Ugander}}&lt;br /&gt;
* Fei Wang (EE PhD; on leave)&lt;br /&gt;
| &lt;br /&gt;
__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Objectives ==&lt;br /&gt;
&lt;br /&gt;
The broad goal of this project is to develop new theory, algorithms&lt;br /&gt;
and demonstrations of model-based design strategies for complex&lt;br /&gt;
systems.  This activity is broken up into three broad themes:&lt;br /&gt;
* &amp;lt;p&amp;gt;&#039;&#039;Systems Modeling Theory and Practice:&#039;&#039; Development of modeling and analysis tools, with emphasis on hierarchies of simulations that can be used for verification and testing at different levels of fidelity.  A key issue is the development of multiple simulations that can be combined to form high fidelity models while at the same time being used in simpler combinations for rapid testing of higher level functions (where highly detailed models are too large or too slow to allow exploration of the relevant design space). &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;p&amp;gt; &#039;&#039;Engineering Implementation:&#039;&#039; Apply analysis and methods in robust-yet-fragile behavior and multi-scale modeling to specific engineering systems of systems that will provide an evaluation of the efficacy of both the framework and the tools toward applications.  Two specific testbeds are being used for this purpose: the Caltech multi-vehicle wireless testbed (MVWT) and the Caltech autonomous vehicle testbed (&amp;quot;Alice&amp;quot;).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;p&amp;gt; &#039;&#039;Multiscale Analysis of Complex Systems:&#039;&#039; Study novel approaches to multiscale analysis based on methodologies and techniques developed for physical dynamical systems.  To develop the required methodologies and techniques we are focusing on an archetype complex system which may contain a multitude of scales, namely collections of disparate coupled nonlinear oscillators where each oscillator may have its own natural frequency. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Publications ==&lt;br /&gt;
&#039;&#039;&#039;2009-10&#039;&#039;&#039;&lt;br /&gt;
* Shuo Han, Andrea Censi, Andrew D. Straw, and Richard M. Murray, &amp;quot;A bio-plausible design for visual pose stabilization&amp;quot;, International Conference on Intelligent Robots and Systems (IROS), 2010 (to appear). &lt;br /&gt;
* Peter Trautman and Andreas Krause, &amp;quot;Unfreezing the Robot: Navigation in Dense, Interacting Crowds&amp;quot;. International Conference on Intelligent Robots and Systems, 2010 (submitted).&lt;br /&gt;
* Ufuk Topcu, T. Sullivan, M. McKerns, and H. Owhadi, &amp;quot;Uncertainty quantification via codimension-one partitioning&amp;quot;.  &#039;&#039;International Journal on Numerical Methods in Engineering&#039;&#039;, 2010 (submitted)&lt;br /&gt;
* Ufuk Topcu,  L. Lucas, H. Owhadi, and M. Ortiz, &amp;quot;Rigorous uncertainty quantification without integral testing&amp;quot;. &#039;&#039;Reliability Engineering and System Safety&#039;&#039;, 2010 (submitted).&lt;br /&gt;
* Nok Wongpiromsarn, Sayan Mitra, Richard M. Murray, and Andrew Lamperski.  &amp;quot;Verification of Periodically Controlled Hybrid Systems: Application to An Autonomous Vehicle&amp;quot;. &#039;&#039;ACM Transactions in Embedded Computing Systems (ACM TECS), Special Issue on the Verification of Cyber-Physical Software Systems&#039;&#039; (accepted).&lt;br /&gt;
* Nok Wongpiromsarn, Ufuk Topcu, and Richard M. Murray. &amp;quot;Receding Horizon Temporal Logic Planning&amp;quot;. &#039;&#039;IEEE Transactions on Automatic Control&#039;&#039; (submitted).&lt;br /&gt;
* Nok Wongpiromsarn, Ufuk Topcu and Richard M. Murray, &amp;quot;Automatic synthesis of robust embedded control software&amp;quot;. Proceedings of the AAAI 2010 Spring Symposium on Embedded Reasoning: Intelligence in Embedded Systems.&lt;br /&gt;
* Nok Wongpiromsarn, Ufuk Topcu and Richard M. Murray, &amp;quot;Receding horizon control for temporal logic specifications&amp;quot;.  Proceedings of the International Conference on Hybrid Systems: Computation and Control (HSCC), 2010.&lt;br /&gt;
* Nok Wongpiromsarn, Ufuk Topcu and Richard M. Murray, &amp;quot;Receding horizon temporal logic planning for dynamical systems&amp;quot;.  Conference on Decision and Control (CDC), 2009.&lt;br /&gt;
* Ufuk Topcu, Andrew Packard and Richard M. Murray, &amp;quot;Compositional stability analysis based on dual decomposition&amp;quot;.  Conference Decision and Control (CDC), 2009.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2008-09&#039;&#039;&#039;&lt;br /&gt;
* Julia M B Braman, Richard M Murray, &amp;quot;Automatic Conversion Software for the Safety Verification of Goal-Based Control Programs.&amp;quot; International Conference on Software Engineering, 2009 (submitted). &lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, &amp;quot;Control Program Verification for a Sample Titan Aerobot Mission.&amp;quot; AIAA Infotech@Aerospace Conference, 2009 (submitted). &lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, &amp;quot;Probabilistic Safety Analysis of Sensor-Driven Hybrid Automata.&amp;quot; International Conference on Hybrid Systems: Computation and Control, 2009 (submitted). &lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Sayan Mitra, Richard M. Murray, Andrew Lamperski, Verification of Periodically Controlled Hybrid Systems: Application to An Autonomous Vehicle. ACM Transactions in Embedded Computing Systems (ACM TECS), Special Issue on the Verification of Cyber-Physical Software Systems (submitted).&lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Ufuk Topcu, Richard M. Murray, Receding Horizon Temporal Logic Planning for Dynamical Systems. Conference on Decision and Control (CDC), 2009 (submitted).&lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Sayan Mitra, Richard M. Murray, Andrew Lamperski, [http://www.cds.caltech.edu/~murray/papers/2008r_wmml09-hscc.html Periodically Controlled Hybrid Systems: Verifying A Controller for An Autonomous Vehicle]. International Conference on Hybrid Systems: Computation and Control, 2009. &lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Sayan Mitra, Richard M. Murray, Andrew Lamperski, [http://resolver.caltech.edu/CaltechCDSTR:2008.003 Periodically Controlled Hybrid Systems: Verifying A Controller for An Autonomous Vehicle]. CDS Technical Report, California Institute of Technology, 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2007-08&#039;&#039;&#039;&lt;br /&gt;
* Julia M B Braman, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008f_bm08-cdc.html Failure Probability of Verifiable Goal-based Control Programs due to State Estimation Uncertainty].  Conference on Decision and Control, 2008 (submitted).&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007u_bm07-cds.html Conversion and Verification Procedure for Goal-Based Control Programs]. CDS Technical Report, California Institute of Technology, 2007.&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, David A Wagner, [http://www.cds.caltech.edu/~murray/papers/2007t_bmw07-iros.html Safety Verification of a Fault Tolerant Reconfigurable Autonomous Goal-Based Robotic Control System].  IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2007&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, Michel D Ingham, [http://www.cds.caltech.edu/~murray/papers/2007s_bmi07-infotech.html Verification Procedure for Generalized Goal-based Control Programs]. AIAA Infotech@Aerospace Conference and Exhibit, 2007.&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007n_bm08-acc.html Safety Verification of Fault Tolerant Goal-based Control Programs with Estimation Uncertainty]. American Control Conference, 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007i_bm08-iros.html Automatic Conversion Software for the Safety Verification of Goal-based Control Programs].  Proceedings of the International Conference on Intelligent Robots and Systems, 2008 (submitted).&lt;br /&gt;
&lt;br /&gt;
*  Joel W Burdick, Noel duToit, Andrew Howard, Christian Looman, Jeremy Ma, Richard M Murray and Tichakorn Wongpiromsarn, [http://gc.caltech.edu/media/papers/dgc07-final.pdf Sensing, Navigation and Reasoning Technologies for the DARPA Urban Challenge], DARPA Urban Challenge Final Report, 2007.&lt;br /&gt;
&lt;br /&gt;
* L. Chen, S. H. Low and J. C. Doyle, &amp;quot;Contention Control: A Game-theoretic Approach&amp;quot;. Proceedings of IEEE CDC, December 2007.&lt;br /&gt;
&lt;br /&gt;
* L. Chen, T. Cui, S. H. Low and J. C. Doyle, &amp;quot;A Game-Theoretic Model for Medium Access Control&amp;quot;. Proceedings of International Wireless Internet Conference, October 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen, T. Ho, S. Low and L. Andrew, &amp;quot;Opportunistic Source Coding for Data Gathering in Wireless Sensor Networks,&amp;quot;. Proceedings of IEEE Conference on Mobile Ad-hoc and Sensor Systems, October 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen and T. Ho, &amp;quot;Distributed Optimization in Wireless Networks Using Broadcast Advantage&amp;quot;. Proceedings of IEEE CDC, December 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen and T. Ho, &amp;quot;Optimization Based Rate Control for Multicast with Network Coding: A Multipath Formulation&amp;quot;. Proceedings of IEEE CDC, December 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, T. Ho and L. Chen, &amp;quot;Distributed Minimum Cost Multicasting with Lossless Source Coding and Network Coding&amp;quot;. Proceedings of IEEE CDC, December 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen and T. Ho, &amp;quot;Energy Efficient Opportunistic Network Coding for Wireless Networks&amp;quot;. Proceedings of IEEE Infocom, April 2008.&lt;br /&gt;
&lt;br /&gt;
* Noel E DuToit, Tichakorn Wongpiromsarn, Joel W Burdick, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008c_dwbm08-ivcs.html Situational Reasoning for Road Driving in an Urban Environment]. International Workshop on Intelligent Vehicle Control Systems (IVCS), 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
* Michael Epstein, Ling Shi, Abhishek Tiwari, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008i_estm08-automatica.html Probabilistic Performance of State Estimation Across a Lossy Network]. Automatica, 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
* Michael Epstein, Ling Shi, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007w_esm07-cdc.html Estimation schemes for networked control systems using UDP-like communication]. Conference on Decision and Control (CDC), 3945 - 3951, 2007.&lt;br /&gt;
&lt;br /&gt;
* Michael Epstein, Kevin Lynch, Karl Henrik Johansson, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007p_eljm08-ifac.html Using Hierarchical Decomposition to Speed Up Average Consensus]. International Federation of Automatic Control (IFAC) World Congress, 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
* Oleg Kogan, J. L. Rogers, Gil Refael, and M. C. Cross, &amp;quot;Renormalization group method for predicting frequency clusters in a chain of nearest-neighbor Kuramoto oscillators&amp;quot;, 2008  (in preparation).&lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008h_wm08-cdc.html Formal Verification of an Autonomous Vehicle System].  Conference on Decision and Control, 2008 (submitted).&lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008d_wm08-ivcs.html Distributed Mission and Contingency Management for the DARPA Urban Challenge]. International Workshop on Intelligent Vehicle Control Systems (IVCS), 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2006-07&#039;&#039;&#039;&lt;br /&gt;
* D. Alderson and L. Li.  [http://www.cds.caltech.edu/~lun/publications/PRE06.pdf On the Diversity of Graph with Highly Variable Connectivity]. &#039;&#039;Physical Review E&#039;&#039;, 2007.&lt;br /&gt;
&lt;br /&gt;
* F. Borrelli and T. Keviczky. Distributed LQR design for identical dynamically decoupled systems. &#039;&#039;IEEE Trans. Automatic Control&#039;&#039;, 2007, submitted.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* J. M. B. Braman, D. A. Wagner and R. M. Murray. [http://www.cds.caltech.edu/~murray/papers/2006m_bwm07-icra.html Fault Tolerance of a Reconfigurable Autonomous Goal-Based Robotic Control System].  2007 International Confeerence on Robotics and Automation (ICRA), 2007. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* L. Chen, T. Ho, S. H. Low, M. Chiang and J. C. Doyle, Optimization Based Rate Control for Multicast with Network Coding, Proceedings of IEEE Infocom, 2007.&lt;br /&gt;
&lt;br /&gt;
* L. B. Cremean, T. B. Foote, J. H. Gillula, G. H. Hines, D. Kogan, K. L.   Kriechbaum, J. C. Lamb, J. Leibs, L. Lindzey, C. E. Rasmussen, A. D. Stewart,   J. W. Burdick, and R. M. Murray. {{htdb|2005t_cre+06-jfr|Alice: An information-rich autonomous vehicle for high-speed desert navigation}}. &#039;&#039;Journal of Field Robotics&#039;&#039;, 2007.  &lt;br /&gt;
&lt;br /&gt;
* T. Cui, T. Ho and L. Chen, On Distributed Distortion Optimization for Correlated Sources with Network Coding, Proceedings of IEEE ISIT, 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen and T. Ho, Opportunistic Source Coding for Data Gathering in Wireless Sensor Networks, technical report, 2007.&lt;br /&gt;
&lt;br /&gt;
* J.-C. Delvenne, H. Sandberg, and J. C. Doyle. Thermodynamics of Linear Systems.  In &#039;&#039;Proceedings of the European Control Conference&#039;&#039;, 2007. &lt;br /&gt;
&lt;br /&gt;
* D. Gayme, &amp;quot;Streamwise Constant Model of Turbulence Statistics in Plane Couette Flow&amp;quot;.  CDS Candidacy Report, May 2008.&lt;br /&gt;
&lt;br /&gt;
* D. Gayme, B. McKeon, A. Papachristodoulou, B. Bamieh and J.C. Doyle, &amp;quot;Streamwise Constant Model of Turbulence Statistics in Plane Couette Flow&amp;quot;, Under preparation for journal submission, 2008.&lt;br /&gt;
&lt;br /&gt;
* H. Sandberg, J.-C. Delvenne, and J. C. Doyle. The Statistical Mechanics of Fluctuation-Dissipation and Measurement Back Action. In &#039;&#039;Proceedings of the American Control Conference&#039;&#039;, 2007.&lt;br /&gt;
&lt;br /&gt;
* H. Sandberg, J.-C. Delvenne, and J. C. Doyle. Linear-Quadratic-Gaussian Heat Engines. Submitted, 2007.&lt;br /&gt;
&lt;br /&gt;
* H. Sandberg and R. M. Murray. Frequency-Weighted Model Reduction with Applications to Structured Models.   In &#039;&#039;Proceedings of the American Control Conference&#039;&#039;, 2007.&lt;br /&gt;
&lt;br /&gt;
* J. Wang, L. Li, S. H. Low, and J. C. Doyle. Cross-layer optimization in tcp/ip networks. &#039;&#039;IEEE/ACM Transactions on Networking&#039;&#039;, 13(3), 2006.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005-06&#039;&#039;&#039;&lt;br /&gt;
* D. Alderson, L.  Li, W. Willinger, and J. C. Doyle. Understanding Internet topology: Principles, models, and   validation. &#039;&#039;IEEE/ACM Transactions on Networking&#039;&#039;, 13(6), 2005.  &lt;br /&gt;
&lt;br /&gt;
* D. Alderson and W. Willinger. A contrasting look at self-organization in the Internet and   next-generation communication networks. &#039;&#039;IEEE Communications Magazine&#039;&#039;, July 2005. &lt;br /&gt;
&lt;br /&gt;
* L. Chen, S. H. Low, M. Chiang, and J. C. Doyle. Cross-layer congestion control, routing and scheduling design in ad   hoc wireless networks. In &#039;&#039;Proceedings of IEEE Infocom&#039;&#039;, 2006. &lt;br /&gt;
&lt;br /&gt;
* L. Chen, S. H. Low, and J. C. Doyle. Joint congestion control and media access control design for wireless   ad hoc networks. In &#039;&#039;Proceedings of IEEE Infocom&#039;&#039;, 2005. &lt;br /&gt;
&lt;br /&gt;
* L. Chen, S. H. Low and J. C. Doyle, Random Access Game and Medium Access Control Design, submitted, technical report, 2006.&lt;br /&gt;
&lt;br /&gt;
* J. C. Doyle, D. Alderson, L. Li, S. Low, M. Roughan, S. Shalunov, R. Tanaka,   and W. Willinger. The ``robust yet fragile&#039;&#039; nature of the Internet. &#039;&#039;Proceedings of the National Academy of Sciences&#039;&#039;,   102(41):14497--14502, 2005.  &lt;br /&gt;
&lt;br /&gt;
* D. Gayme, J. C Doyle, S. Prajna, A. Papachristodoulou, and Maryam Fazel. Optimization based methods for determining basins of attraction in   the logistic map and set membership in the mandelbrot set. Preprint, 2006.  &lt;br /&gt;
&lt;br /&gt;
* D. Gayme, M. Fazel, and J. C. Doyle. Sos proofs of invariant regions in the logistic map. In &#039;&#039;Proc. IEEE Control and Decision Conference&#039;&#039;, 2006. Submitted.  &lt;br /&gt;
&lt;br /&gt;
* S. Glavaski, A. Papachristodoulou, and K. Ariyur. Safety verification of controlled advanced life support system using   barrier certificates. In &#039;&#039;Hybrid Systems: Computation and Control&#039;&#039;, 2005.  &lt;br /&gt;
&lt;br /&gt;
* D. Kogan. Realtime path planning through optimization methods. Master&#039;s thesis, California Institute of Technology, 2005.  &lt;br /&gt;
&lt;br /&gt;
* L. Li, D. Alderson, J. C. Doyle and W. Willinger.  [http://www.cds.caltech.edu/~lun/publications/IM06.pdf Towards a Theory of Scale-Free Graphs: Definition, Properties, and Implications].  &#039;&#039;Internet Mathematics&#039;&#039; 2(4), p 431-523, Mar. 2006.&lt;br /&gt;
&lt;br /&gt;
* L. Li, D. Alderson, W. Willinger and J. C. Doyle. [http://www.cds.caltech.edu/~lun/publications/sigcomm04.pdf A First-Principles Approach to Understanding the Internet&#039;s Router-level Topology].  Proceedings of ACM Sigcomm, 2004,&lt;br /&gt;
&lt;br /&gt;
* S. H. Low, J. C. Doyle, L. Li, A. Tang, J. Wang, Optimization Model of  Internet Protocols, Proceedings of ACM Sigmetrics, June 2005.&lt;br /&gt;
&lt;br /&gt;
* S. Prajna and A. Jadbabaie. Safety verification of hybrid systems using barrier certificates. In &#039;&#039;Hybrid Systems: Computation and Control&#039;&#039;, 2004.  &lt;br /&gt;
&lt;br /&gt;
* S. Prajna and A. Jadbabaie. Methods for safety verification of time-delay systems. In &#039;&#039;Proceedings of the IEEE Conference on Decision and Control&#039;&#039;,   2005. &lt;br /&gt;
&lt;br /&gt;
* S. Prajna, A. Jadbabaie, and G. J. Pappas. Stochastic safety verification using barrier certificates. In &#039;&#039;Proceedings of the IEEE Conference on Decision and Control&#039;&#039;,   2004. &lt;br /&gt;
&lt;br /&gt;
* S. Prajna, A. Papachristodoulou, P. J. Seiler, and P. A. Parrilo. SOSTOOLS -- Sum of Squares Optimization Toolbox, User&#039;s   Guide. Available at http://www.cds.caltech.edu/sostools and   http://www.mit.edu/~parrilo/sostools, 2002, 2004.  &lt;br /&gt;
&lt;br /&gt;
* S. Prajna and A. Rantzer. On the necessity of barrier certificates. In &#039;&#039;Proceedings of the IFAC World Congress&#039;&#039;, 2005.  &lt;br /&gt;
&lt;br /&gt;
* S. Prajna and A. Rantzer. Primal-dual tests for safety and reachability. In &#039;&#039;Hybrid Systems: Computation and Control&#039;&#039;. Springer-Verlag,  2005.&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
* [[Media:boeing_report-may08.pdf|Annual report, May 2007 to April 2008]]&lt;br /&gt;
* [[Media:boeing_report-mar06.pdf|Annual report, January 2005 to March 2006]]&lt;br /&gt;
* [[Media:boeing_report-apr06.pdf|Annual report, March 2006 to April 2007]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* SOSTOOLS&lt;br /&gt;
&lt;br /&gt;
== Related Activities ==&lt;br /&gt;
* [[Connections II]] - Workshop on Foundations of Network Science (Caltech, August 2006)&lt;br /&gt;
* [http://www.cds.caltech.edu/~murray/VaVmuri V&amp;amp;V MURI] - Specification, Design and Verification of Distributed Embedded Systems (AFOSR MURI)&lt;br /&gt;
* [[Workshop: Specification and Verification of Embedded Systems]] - (Caltech, October 2008)&lt;br /&gt;
* [[Caltech Workshop on Verification and Validation]] - September 23-24, 2009&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=Model-Based_Design_and_Qualification_of_Complex_Systems&amp;diff=10794</id>
		<title>Model-Based Design and Qualification of Complex Systems</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=Model-Based_Design_and_Qualification_of_Complex_Systems&amp;diff=10794"/>
		<updated>2010-06-22T22:46:21Z</updated>

		<summary type="html">&lt;p&gt;Nok: /* Publications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a joint project with [http://crossgroup.caltech.edu/index.html Michael Cross] and [http://www.cmp.caltech.edu/refael/ Gil Refael], funded by Boeing.&lt;br /&gt;
&lt;br /&gt;
{| width=100%&lt;br /&gt;
|- valign=top&lt;br /&gt;
| Current participants:&lt;br /&gt;
* {{Andrea Censi}}&lt;br /&gt;
* Dennice Gayme (PhD student, CDS)&lt;br /&gt;
* {{Shou Han}}&lt;br /&gt;
* Oleg Kogan (PhD student, Physics)&lt;br /&gt;
* Tony Lee (PhD student, Physics)&lt;br /&gt;
* {{Dominic Rizzo}}&lt;br /&gt;
* Heywood Tam (PhD student, Physics)&lt;br /&gt;
* {{Pete Trautman}}&lt;br /&gt;
* {{Ufuk Topcu}}&lt;br /&gt;
* {{Nok Wongpiromsarn}}&lt;br /&gt;
| Past participants:&lt;br /&gt;
* David Alderson (CDS postdoc, NPS)&lt;br /&gt;
* {{Julia Braman}}&lt;br /&gt;
* Lijun Chen (CDS PhD, postdoc)&lt;br /&gt;
* Lars Cremean (ME PhD, Aerovironment)&lt;br /&gt;
* Stefano di Cairano (Visiting student, U. Siena)&lt;br /&gt;
* [http://www.cds.caltech.edu/~doyle John Doyle]&lt;br /&gt;
* Michael Epstein (PhD student, ME)&lt;br /&gt;
* Tamas Keviczky (postdoc, CDS)&lt;br /&gt;
* Dimitry Kogan (CDS MS)&lt;br /&gt;
* Lun Li (PhD student, EE)&lt;br /&gt;
* Alfred Martinez (PhD student, CDS)&lt;br /&gt;
* Stephen Prajna (CDS PhD)&lt;br /&gt;
* Demetri Spanos (PhD student, CDS)&lt;br /&gt;
* {{Johan Ugander}}&lt;br /&gt;
* Fei Wang (EE PhD; on leave)&lt;br /&gt;
| &lt;br /&gt;
__TOC__&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Objectives ==&lt;br /&gt;
&lt;br /&gt;
The broad goal of this project is to develop new theory, algorithms&lt;br /&gt;
and demonstrations of model-based design strategies for complex&lt;br /&gt;
systems.  This activity is broken up into three broad themes:&lt;br /&gt;
* &amp;lt;p&amp;gt;&#039;&#039;Systems Modeling Theory and Practice:&#039;&#039; Development of modeling and analysis tools, with emphasis on hierarchies of simulations that can be used for verification and testing at different levels of fidelity.  A key issue is the development of multiple simulations that can be combined to form high fidelity models while at the same time being used in simpler combinations for rapid testing of higher level functions (where highly detailed models are too large or too slow to allow exploration of the relevant design space). &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;p&amp;gt; &#039;&#039;Engineering Implementation:&#039;&#039; Apply analysis and methods in robust-yet-fragile behavior and multi-scale modeling to specific engineering systems of systems that will provide an evaluation of the efficacy of both the framework and the tools toward applications.  Two specific testbeds are being used for this purpose: the Caltech multi-vehicle wireless testbed (MVWT) and the Caltech autonomous vehicle testbed (&amp;quot;Alice&amp;quot;).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;p&amp;gt; &#039;&#039;Multiscale Analysis of Complex Systems:&#039;&#039; Study novel approaches to multiscale analysis based on methodologies and techniques developed for physical dynamical systems.  To develop the required methodologies and techniques we are focusing on an archetype complex system which may contain a multitude of scales, namely collections of disparate coupled nonlinear oscillators where each oscillator may have its own natural frequency. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Publications ==&lt;br /&gt;
&#039;&#039;&#039;2009-10&#039;&#039;&#039;&lt;br /&gt;
* Shuo Han, Andrea Censi, Andrew D. Straw, and Richard M. Murray, &amp;quot;A bio-plausible design for visual pose stabilization&amp;quot;, International Conference on Intelligent Robots and Systems (IROS), 2010 (to appear). &lt;br /&gt;
* Peter Trautman and Andreas Krause, &amp;quot;Unfreezing the Robot: Navigation in Dense, Interacting Crowds&amp;quot;. International Conference on Intelligent Robots and Systems, 2010 (submitted).&lt;br /&gt;
* Ufuk Topcu, T. Sullivan, M. McKerns, and H. Owhadi, &amp;quot;Uncertainty quantification via codimension-one partitioning&amp;quot;.  &#039;&#039;International Journal on Numerical Methods in Engineering&#039;&#039;, 2010 (submitted)&lt;br /&gt;
* Ufuk Topcu,  L. Lucas, H. Owhadi, and M. Ortiz, &amp;quot;Rigorous uncertainty quantification without integral testing&amp;quot;. &#039;&#039;Reliability Engineering and System Safety&#039;&#039;, 2010 (submitted).&lt;br /&gt;
* Nok Wongpiromsarn, Sayan Mitra, Richard M. Murray, and Andrew Lamperski.  Verification of Periodically Controlled Hybrid Systems: Application to An Autonomous Vehicle. ACM Transactions in Embedded Computing Systems (ACM TECS), Special Issue on the Verification of Cyber-Physical Software Systems (accepted).&lt;br /&gt;
* Nok Wongpiromsarn, Ufuk Topcu, and Richard M. Murray. &amp;quot;Receding Horizon Temporal Logic Planning&amp;quot;. IEEE Transactions on Automatic Control (submitted).&lt;br /&gt;
* Nok Wongpiromsarn, Ufuk Topcu and Richard M. Murray, &amp;quot;Automatic synthesis of robust embedded control software&amp;quot;. Proceedings of the AAAI 2010 Spring Symposium on Embedded Reasoning: Intelligence in Embedded Systems.&lt;br /&gt;
* Nok Wongpiromsarn, Ufuk Topcu and Richard M. Murray, &amp;quot;Receding horizon control for temporal logic specifications&amp;quot;.  Proceedings of the International Conference on Hybrid Systems: Computation and Control (HSCC), 2010.&lt;br /&gt;
* Nok Wongpiromsarn, Ufuk Topcu and Richard M. Murray, &amp;quot;Receding horizon temporal logic planning for dynamical systems&amp;quot;.  Conference on Decision and Control (CDC), 2009.&lt;br /&gt;
* Ufuk Topcu, Andrew Packard and Richard M. Murray, &amp;quot;Compositional stability analysis based on dual decomposition&amp;quot;.  Conference Decision and Control (CDC), 2009.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2008-09&#039;&#039;&#039;&lt;br /&gt;
* Julia M B Braman, Richard M Murray, &amp;quot;Automatic Conversion Software for the Safety Verification of Goal-Based Control Programs.&amp;quot; International Conference on Software Engineering, 2009 (submitted). &lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, &amp;quot;Control Program Verification for a Sample Titan Aerobot Mission.&amp;quot; AIAA Infotech@Aerospace Conference, 2009 (submitted). &lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, &amp;quot;Probabilistic Safety Analysis of Sensor-Driven Hybrid Automata.&amp;quot; International Conference on Hybrid Systems: Computation and Control, 2009 (submitted). &lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Sayan Mitra, Richard M. Murray, Andrew Lamperski, Verification of Periodically Controlled Hybrid Systems: Application to An Autonomous Vehicle. ACM Transactions in Embedded Computing Systems (ACM TECS), Special Issue on the Verification of Cyber-Physical Software Systems (submitted).&lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Ufuk Topcu, Richard M. Murray, Receding Horizon Temporal Logic Planning for Dynamical Systems. Conference on Decision and Control (CDC), 2009 (submitted).&lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Sayan Mitra, Richard M. Murray, Andrew Lamperski, [http://www.cds.caltech.edu/~murray/papers/2008r_wmml09-hscc.html Periodically Controlled Hybrid Systems: Verifying A Controller for An Autonomous Vehicle]. International Conference on Hybrid Systems: Computation and Control, 2009. &lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Sayan Mitra, Richard M. Murray, Andrew Lamperski, [http://resolver.caltech.edu/CaltechCDSTR:2008.003 Periodically Controlled Hybrid Systems: Verifying A Controller for An Autonomous Vehicle]. CDS Technical Report, California Institute of Technology, 2008.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2007-08&#039;&#039;&#039;&lt;br /&gt;
* Julia M B Braman, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008f_bm08-cdc.html Failure Probability of Verifiable Goal-based Control Programs due to State Estimation Uncertainty].  Conference on Decision and Control, 2008 (submitted).&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007u_bm07-cds.html Conversion and Verification Procedure for Goal-Based Control Programs]. CDS Technical Report, California Institute of Technology, 2007.&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, David A Wagner, [http://www.cds.caltech.edu/~murray/papers/2007t_bmw07-iros.html Safety Verification of a Fault Tolerant Reconfigurable Autonomous Goal-Based Robotic Control System].  IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2007&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, Michel D Ingham, [http://www.cds.caltech.edu/~murray/papers/2007s_bmi07-infotech.html Verification Procedure for Generalized Goal-based Control Programs]. AIAA Infotech@Aerospace Conference and Exhibit, 2007.&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007n_bm08-acc.html Safety Verification of Fault Tolerant Goal-based Control Programs with Estimation Uncertainty]. American Control Conference, 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
* Julia M B Braman, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007i_bm08-iros.html Automatic Conversion Software for the Safety Verification of Goal-based Control Programs].  Proceedings of the International Conference on Intelligent Robots and Systems, 2008 (submitted).&lt;br /&gt;
&lt;br /&gt;
*  Joel W Burdick, Noel duToit, Andrew Howard, Christian Looman, Jeremy Ma, Richard M Murray and Tichakorn Wongpiromsarn, [http://gc.caltech.edu/media/papers/dgc07-final.pdf Sensing, Navigation and Reasoning Technologies for the DARPA Urban Challenge], DARPA Urban Challenge Final Report, 2007.&lt;br /&gt;
&lt;br /&gt;
* L. Chen, S. H. Low and J. C. Doyle, &amp;quot;Contention Control: A Game-theoretic Approach&amp;quot;. Proceedings of IEEE CDC, December 2007.&lt;br /&gt;
&lt;br /&gt;
* L. Chen, T. Cui, S. H. Low and J. C. Doyle, &amp;quot;A Game-Theoretic Model for Medium Access Control&amp;quot;. Proceedings of International Wireless Internet Conference, October 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen, T. Ho, S. Low and L. Andrew, &amp;quot;Opportunistic Source Coding for Data Gathering in Wireless Sensor Networks,&amp;quot;. Proceedings of IEEE Conference on Mobile Ad-hoc and Sensor Systems, October 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen and T. Ho, &amp;quot;Distributed Optimization in Wireless Networks Using Broadcast Advantage&amp;quot;. Proceedings of IEEE CDC, December 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen and T. Ho, &amp;quot;Optimization Based Rate Control for Multicast with Network Coding: A Multipath Formulation&amp;quot;. Proceedings of IEEE CDC, December 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, T. Ho and L. Chen, &amp;quot;Distributed Minimum Cost Multicasting with Lossless Source Coding and Network Coding&amp;quot;. Proceedings of IEEE CDC, December 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen and T. Ho, &amp;quot;Energy Efficient Opportunistic Network Coding for Wireless Networks&amp;quot;. Proceedings of IEEE Infocom, April 2008.&lt;br /&gt;
&lt;br /&gt;
* Noel E DuToit, Tichakorn Wongpiromsarn, Joel W Burdick, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008c_dwbm08-ivcs.html Situational Reasoning for Road Driving in an Urban Environment]. International Workshop on Intelligent Vehicle Control Systems (IVCS), 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
* Michael Epstein, Ling Shi, Abhishek Tiwari, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008i_estm08-automatica.html Probabilistic Performance of State Estimation Across a Lossy Network]. Automatica, 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
* Michael Epstein, Ling Shi, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007w_esm07-cdc.html Estimation schemes for networked control systems using UDP-like communication]. Conference on Decision and Control (CDC), 3945 - 3951, 2007.&lt;br /&gt;
&lt;br /&gt;
* Michael Epstein, Kevin Lynch, Karl Henrik Johansson, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2007p_eljm08-ifac.html Using Hierarchical Decomposition to Speed Up Average Consensus]. International Federation of Automatic Control (IFAC) World Congress, 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
* Oleg Kogan, J. L. Rogers, Gil Refael, and M. C. Cross, &amp;quot;Renormalization group method for predicting frequency clusters in a chain of nearest-neighbor Kuramoto oscillators&amp;quot;, 2008  (in preparation).&lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008h_wm08-cdc.html Formal Verification of an Autonomous Vehicle System].  Conference on Decision and Control, 2008 (submitted).&lt;br /&gt;
&lt;br /&gt;
* Tichakorn Wongpiromsarn, Richard M Murray, [http://www.cds.caltech.edu/~murray/papers/2008d_wm08-ivcs.html Distributed Mission and Contingency Management for the DARPA Urban Challenge]. International Workshop on Intelligent Vehicle Control Systems (IVCS), 2008 (to appear).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2006-07&#039;&#039;&#039;&lt;br /&gt;
* D. Alderson and L. Li.  [http://www.cds.caltech.edu/~lun/publications/PRE06.pdf On the Diversity of Graph with Highly Variable Connectivity]. &#039;&#039;Physical Review E&#039;&#039;, 2007.&lt;br /&gt;
&lt;br /&gt;
* F. Borrelli and T. Keviczky. Distributed LQR design for identical dynamically decoupled systems. &#039;&#039;IEEE Trans. Automatic Control&#039;&#039;, 2007, submitted.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* J. M. B. Braman, D. A. Wagner and R. M. Murray. [http://www.cds.caltech.edu/~murray/papers/2006m_bwm07-icra.html Fault Tolerance of a Reconfigurable Autonomous Goal-Based Robotic Control System].  2007 International Confeerence on Robotics and Automation (ICRA), 2007. &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* L. Chen, T. Ho, S. H. Low, M. Chiang and J. C. Doyle, Optimization Based Rate Control for Multicast with Network Coding, Proceedings of IEEE Infocom, 2007.&lt;br /&gt;
&lt;br /&gt;
* L. B. Cremean, T. B. Foote, J. H. Gillula, G. H. Hines, D. Kogan, K. L.   Kriechbaum, J. C. Lamb, J. Leibs, L. Lindzey, C. E. Rasmussen, A. D. Stewart,   J. W. Burdick, and R. M. Murray. {{htdb|2005t_cre+06-jfr|Alice: An information-rich autonomous vehicle for high-speed desert navigation}}. &#039;&#039;Journal of Field Robotics&#039;&#039;, 2007.  &lt;br /&gt;
&lt;br /&gt;
* T. Cui, T. Ho and L. Chen, On Distributed Distortion Optimization for Correlated Sources with Network Coding, Proceedings of IEEE ISIT, 2007.&lt;br /&gt;
&lt;br /&gt;
* T. Cui, L. Chen and T. Ho, Opportunistic Source Coding for Data Gathering in Wireless Sensor Networks, technical report, 2007.&lt;br /&gt;
&lt;br /&gt;
* J.-C. Delvenne, H. Sandberg, and J. C. Doyle. Thermodynamics of Linear Systems.  In &#039;&#039;Proceedings of the European Control Conference&#039;&#039;, 2007. &lt;br /&gt;
&lt;br /&gt;
* D. Gayme, &amp;quot;Streamwise Constant Model of Turbulence Statistics in Plane Couette Flow&amp;quot;.  CDS Candidacy Report, May 2008.&lt;br /&gt;
&lt;br /&gt;
* D. Gayme, B. McKeon, A. Papachristodoulou, B. Bamieh and J.C. Doyle, &amp;quot;Streamwise Constant Model of Turbulence Statistics in Plane Couette Flow&amp;quot;, Under preparation for journal submission, 2008.&lt;br /&gt;
&lt;br /&gt;
* H. Sandberg, J.-C. Delvenne, and J. C. Doyle. The Statistical Mechanics of Fluctuation-Dissipation and Measurement Back Action. In &#039;&#039;Proceedings of the American Control Conference&#039;&#039;, 2007.&lt;br /&gt;
&lt;br /&gt;
* H. Sandberg, J.-C. Delvenne, and J. C. Doyle. Linear-Quadratic-Gaussian Heat Engines. Submitted, 2007.&lt;br /&gt;
&lt;br /&gt;
* H. Sandberg and R. M. Murray. Frequency-Weighted Model Reduction with Applications to Structured Models.   In &#039;&#039;Proceedings of the American Control Conference&#039;&#039;, 2007.&lt;br /&gt;
&lt;br /&gt;
* J. Wang, L. Li, S. H. Low, and J. C. Doyle. Cross-layer optimization in tcp/ip networks. &#039;&#039;IEEE/ACM Transactions on Networking&#039;&#039;, 13(3), 2006.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2005-06&#039;&#039;&#039;&lt;br /&gt;
* D. Alderson, L.  Li, W. Willinger, and J. C. Doyle. Understanding Internet topology: Principles, models, and   validation. &#039;&#039;IEEE/ACM Transactions on Networking&#039;&#039;, 13(6), 2005.  &lt;br /&gt;
&lt;br /&gt;
* D. Alderson and W. Willinger. A contrasting look at self-organization in the Internet and   next-generation communication networks. &#039;&#039;IEEE Communications Magazine&#039;&#039;, July 2005. &lt;br /&gt;
&lt;br /&gt;
* L. Chen, S. H. Low, M. Chiang, and J. C. Doyle. Cross-layer congestion control, routing and scheduling design in ad   hoc wireless networks. In &#039;&#039;Proceedings of IEEE Infocom&#039;&#039;, 2006. &lt;br /&gt;
&lt;br /&gt;
* L. Chen, S. H. Low, and J. C. Doyle. Joint congestion control and media access control design for wireless   ad hoc networks. In &#039;&#039;Proceedings of IEEE Infocom&#039;&#039;, 2005. &lt;br /&gt;
&lt;br /&gt;
* L. Chen, S. H. Low and J. C. Doyle, Random Access Game and Medium Access Control Design, submitted, technical report, 2006.&lt;br /&gt;
&lt;br /&gt;
* J. C. Doyle, D. Alderson, L. Li, S. Low, M. Roughan, S. Shalunov, R. Tanaka,   and W. Willinger. The ``robust yet fragile&#039;&#039; nature of the Internet. &#039;&#039;Proceedings of the National Academy of Sciences&#039;&#039;,   102(41):14497--14502, 2005.  &lt;br /&gt;
&lt;br /&gt;
* D. Gayme, J. C Doyle, S. Prajna, A. Papachristodoulou, and Maryam Fazel. Optimization based methods for determining basins of attraction in   the logistic map and set membership in the mandelbrot set. Preprint, 2006.  &lt;br /&gt;
&lt;br /&gt;
* D. Gayme, M. Fazel, and J. C. Doyle. Sos proofs of invariant regions in the logistic map. In &#039;&#039;Proc. IEEE Control and Decision Conference&#039;&#039;, 2006. Submitted.  &lt;br /&gt;
&lt;br /&gt;
* S. Glavaski, A. Papachristodoulou, and K. Ariyur. Safety verification of controlled advanced life support system using   barrier certificates. In &#039;&#039;Hybrid Systems: Computation and Control&#039;&#039;, 2005.  &lt;br /&gt;
&lt;br /&gt;
* D. Kogan. Realtime path planning through optimization methods. Master&#039;s thesis, California Institute of Technology, 2005.  &lt;br /&gt;
&lt;br /&gt;
* L. Li, D. Alderson, J. C. Doyle and W. Willinger.  [http://www.cds.caltech.edu/~lun/publications/IM06.pdf Towards a Theory of Scale-Free Graphs: Definition, Properties, and Implications].  &#039;&#039;Internet Mathematics&#039;&#039; 2(4), p 431-523, Mar. 2006.&lt;br /&gt;
&lt;br /&gt;
* L. Li, D. Alderson, W. Willinger and J. C. Doyle. [http://www.cds.caltech.edu/~lun/publications/sigcomm04.pdf A First-Principles Approach to Understanding the Internet&#039;s Router-level Topology].  Proceedings of ACM Sigcomm, 2004,&lt;br /&gt;
&lt;br /&gt;
* S. H. Low, J. C. Doyle, L. Li, A. Tang, J. Wang, Optimization Model of  Internet Protocols, Proceedings of ACM Sigmetrics, June 2005.&lt;br /&gt;
&lt;br /&gt;
* S. Prajna and A. Jadbabaie. Safety verification of hybrid systems using barrier certificates. In &#039;&#039;Hybrid Systems: Computation and Control&#039;&#039;, 2004.  &lt;br /&gt;
&lt;br /&gt;
* S. Prajna and A. Jadbabaie. Methods for safety verification of time-delay systems. In &#039;&#039;Proceedings of the IEEE Conference on Decision and Control&#039;&#039;,   2005. &lt;br /&gt;
&lt;br /&gt;
* S. Prajna, A. Jadbabaie, and G. J. Pappas. Stochastic safety verification using barrier certificates. In &#039;&#039;Proceedings of the IEEE Conference on Decision and Control&#039;&#039;,   2004. &lt;br /&gt;
&lt;br /&gt;
* S. Prajna, A. Papachristodoulou, P. J. Seiler, and P. A. Parrilo. SOSTOOLS -- Sum of Squares Optimization Toolbox, User&#039;s   Guide. Available at http://www.cds.caltech.edu/sostools and   http://www.mit.edu/~parrilo/sostools, 2002, 2004.  &lt;br /&gt;
&lt;br /&gt;
* S. Prajna and A. Rantzer. On the necessity of barrier certificates. In &#039;&#039;Proceedings of the IFAC World Congress&#039;&#039;, 2005.  &lt;br /&gt;
&lt;br /&gt;
* S. Prajna and A. Rantzer. Primal-dual tests for safety and reachability. In &#039;&#039;Hybrid Systems: Computation and Control&#039;&#039;. Springer-Verlag,  2005.&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
* [[Media:boeing_report-may08.pdf|Annual report, May 2007 to April 2008]]&lt;br /&gt;
* [[Media:boeing_report-mar06.pdf|Annual report, January 2005 to March 2006]]&lt;br /&gt;
* [[Media:boeing_report-apr06.pdf|Annual report, March 2006 to April 2007]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* SOSTOOLS&lt;br /&gt;
&lt;br /&gt;
== Related Activities ==&lt;br /&gt;
* [[Connections II]] - Workshop on Foundations of Network Science (Caltech, August 2006)&lt;br /&gt;
* [http://www.cds.caltech.edu/~murray/VaVmuri V&amp;amp;V MURI] - Specification, Design and Verification of Distributed Embedded Systems (AFOSR MURI)&lt;br /&gt;
* [[Workshop: Specification and Verification of Embedded Systems]] - (Caltech, October 2008)&lt;br /&gt;
* [[Caltech Workshop on Verification and Validation]] - September 23-24, 2009&lt;/div&gt;</summary>
		<author><name>Nok</name></author>
	</entry>
</feed>