<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://murray.cds.caltech.edu/index.php?action=history&amp;feed=atom&amp;title=SURF_2015%3A_Platform-based_design_for_robotics_applications</id>
	<title>SURF 2015: Platform-based design for robotics applications - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://murray.cds.caltech.edu/index.php?action=history&amp;feed=atom&amp;title=SURF_2015%3A_Platform-based_design_for_robotics_applications"/>
	<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2015:_Platform-based_design_for_robotics_applications&amp;action=history"/>
	<updated>2026-07-28T21:28:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2015:_Platform-based_design_for_robotics_applications&amp;diff=17896&amp;oldid=prev</id>
		<title>Vasu at 03:40, 29 December 2014</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2015:_Platform-based_design_for_robotics_applications&amp;diff=17896&amp;oldid=prev"/>
		<updated>2014-12-29T03:40:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:40, 29 December 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l8&quot;&gt;Line 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 8:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This project will &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;develop support for &lt;/del&gt;platform-based design for robotics applications using the Temporal Logic Planning Toolbox (TuLiP), a collection of Python-based programs for automatic synthesis of correct-by-construction embedded control software [1].  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This project will &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;explore &lt;/ins&gt;platform-based design for robotics applications using the Temporal Logic Planning Toolbox (TuLiP), a collection of Python-based programs for automatic synthesis of correct-by-construction embedded control software [1].  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In platform-based &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;design &lt;/del&gt;[2], design progresses in a structured fashion&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;over precisely defined abstraction levels, which separate functionality (the “what”) from implementation (the “how”). A platform is an abstraction layer that hides the details of several possible implementation refinements of the underlying layers. It consists of a library of elements with various functionalities, and rules that define legal composition of these elements.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In platform-based &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;approaches &lt;/ins&gt;[2], design progresses in a structured fashion over precisely defined abstraction levels, which separate functionality (the “what”) from implementation (the “how”). A platform is an abstraction layer that hides the details of several possible implementation refinements of the underlying layers. It consists of a library of elements with various functionalities, and rules that define legal composition of these elements. Platform-based design therefore allows specifications to be refined at each abstraction level based on models of different potential implementations.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Platform-based design therefore allows specifications to be refined at each abstraction level based on models of different potential implementations.  &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Consider the example of a robot operating in a search-and-rescue setting. Specifications on this robot’s behavior apply at different levels of operation, e.g. decision-making about where to go and when, safety during motion planning, robot-specific &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;specification &lt;/del&gt;on battery level and charging frequency, etc. This SURF project will model this scenario and others like it using platform-based design, separating the desired requirements into different levels of abstraction, determining the best tools for synthesizing control at each level and the rules for interfacing them. The control synthesis will use existing tools in TuLiP, as well as explore options currently external to TuLiP that may be more germane to specific levels of abstraction (see, e.g. [3,4]). If feasible, the project will include an experimental component with ground robots in the Vehicles Lab.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Consider the example of a robot operating in a search-and-rescue setting. Specifications on this robot’s behavior apply at different levels of operation, e.g. decision-making about where to go and when, safety during motion planning, robot-specific &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;specifications &lt;/ins&gt;on battery level and charging frequency, etc. This SURF project will model this scenario and others like it using platform-based design, separating the desired requirements into different levels of abstraction, determining the best tools for synthesizing control at each level and the rules for interfacing them. The control synthesis will use existing tools in TuLiP, as well as explore options currently external to TuLiP that may be more germane to specific levels of abstraction (see, e.g. [3,4]). If feasible, the project will include an experimental component with ground robots in the Vehicles Lab.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Required Skills:&#039;&#039;&#039; This project requires programming experience in Python or another object-oriented language. Experience in experimental robotics and the Robot Operating System (ROS) is preferred, and willingness to learn these things is necessary. Some familiarity with or &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;willingness to learn about &lt;/del&gt;automata theory, formal languages, and model checking &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is also desired&lt;/del&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Required Skills:&#039;&#039;&#039; This project requires programming experience in Python or another object-oriented language. Experience in experimental robotics and the Robot Operating System (ROS) is preferred, and willingness to learn these things is necessary. Some familiarity with or &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;interest in &lt;/ins&gt;automata theory, formal languages, and model checking &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;will be advantageous&lt;/ins&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key acs_math_mw_144-murraycds_:diff:1.41:old-17894:rev-17896:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Vasu</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2015:_Platform-based_design_for_robotics_applications&amp;diff=17894&amp;oldid=prev</id>
		<title>Vasu at 23:57, 28 December 2014</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2015:_Platform-based_design_for_robotics_applications&amp;diff=17894&amp;oldid=prev"/>
		<updated>2014-12-28T23:57:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:57, 28 December 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Platform-based design therefore allows specifications to be refined at each abstraction level based on models of different potential implementations.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Platform-based design therefore allows specifications to be refined at each abstraction level based on models of different potential implementations.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Consider the example of a robot operating in a search-and-rescue setting. Specifications on this robot’s behavior apply at different levels of operation, e.g. decision-making about where to go and when, safety during motion planning, robot-specific specification on battery level and charging frequency, etc. This SURF project will model this scenario and others like it using platform-based design, separating the desired requirements into different levels of abstraction, determining the best tools for synthesizing control at each level and the rules for interfacing them. The control synthesis will use existing tools in TuLiP, as well as explore options currently external to TuLiP that may be more germane to specific levels of abstraction (see, e.g. [3,4]). If feasible, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The &lt;/del&gt;project will include an experimental component with ground robots in the Vehicles Lab.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Consider the example of a robot operating in a search-and-rescue setting. Specifications on this robot’s behavior apply at different levels of operation, e.g. decision-making about where to go and when, safety during motion planning, robot-specific specification on battery level and charging frequency, etc. This SURF project will model this scenario and others like it using platform-based design, separating the desired requirements into different levels of abstraction, determining the best tools for synthesizing control at each level and the rules for interfacing them. The control synthesis will use existing tools in TuLiP, as well as explore options currently external to TuLiP that may be more germane to specific levels of abstraction (see, e.g. [3,4]). If feasible, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;project will include an experimental component with ground robots in the Vehicles Lab.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Required Skills:&amp;#039;&amp;#039;&amp;#039; This project requires programming experience in Python or another object-oriented language. Experience in experimental robotics and the Robot Operating System (ROS) is preferred, and willingness to learn these things is necessary. Some familiarity with or willingness to learn about automata theory, formal languages, and model checking is also desired.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Required Skills:&amp;#039;&amp;#039;&amp;#039; This project requires programming experience in Python or another object-oriented language. Experience in experimental robotics and the Robot Operating System (ROS) is preferred, and willingness to learn these things is necessary. Some familiarity with or willingness to learn about automata theory, formal languages, and model checking is also desired.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Vasu</name></author>
	</entry>
	<entry>
		<id>https://murray.cds.caltech.edu/index.php?title=SURF_2015:_Platform-based_design_for_robotics_applications&amp;diff=17893&amp;oldid=prev</id>
		<title>Vasu: Created page with &quot;&#039;&#039;&#039;2015 SURF project description&#039;&#039;&#039; * Mentor: Richard M. Murray * Co-mentors: Vasu Raman and Samira Farahani  [[File:PBD.gif|250px|thumb|Figure 1. Platform-based...&quot;</title>
		<link rel="alternate" type="text/html" href="https://murray.cds.caltech.edu/index.php?title=SURF_2015:_Platform-based_design_for_robotics_applications&amp;diff=17893&amp;oldid=prev"/>
		<updated>2014-12-28T23:56:24Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;&lt;a href=&quot;/SURF_2015&quot; title=&quot;SURF 2015&quot;&gt;2015 SURF&lt;/a&gt; project description&amp;#039;&amp;#039;&amp;#039; * Mentor: Richard M. Murray * Co-mentors: Vasu Raman and Samira Farahani  [[File:PBD.gif|250px|thumb|Figure 1. Platform-based...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;[[SURF 2015|2015 SURF]] project description&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Mentor: Richard M. Murray&lt;br /&gt;
* Co-mentors: Vasu Raman and Samira Farahani&lt;br /&gt;
&lt;br /&gt;
[[File:PBD.gif|250px|thumb|Figure 1. Platform-based design (figure from http://embedded.eecs.berkeley.edu/Respep/Research/asves/)]]&lt;br /&gt;
&lt;br /&gt;
[[File:turtlebot.jpg|250px|thumb|Figure 2. Kobuki-based Turtlebot such as the ones used in the Caltech Vehicles Lab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This project will develop support for platform-based design for robotics applications using the Temporal Logic Planning Toolbox (TuLiP), a collection of Python-based programs for automatic synthesis of correct-by-construction embedded control software [1]. &lt;br /&gt;
&lt;br /&gt;
In platform-based design [2], design progresses in a structured fashion, over precisely defined abstraction levels, which separate functionality (the “what”) from implementation (the “how”). A platform is an abstraction layer that hides the details of several possible implementation refinements of the underlying layers. It consists of a library of elements with various functionalities, and rules that define legal composition of these elements. &lt;br /&gt;
Platform-based design therefore allows specifications to be refined at each abstraction level based on models of different potential implementations. &lt;br /&gt;
&lt;br /&gt;
Consider the example of a robot operating in a search-and-rescue setting. Specifications on this robot’s behavior apply at different levels of operation, e.g. decision-making about where to go and when, safety during motion planning, robot-specific specification on battery level and charging frequency, etc. This SURF project will model this scenario and others like it using platform-based design, separating the desired requirements into different levels of abstraction, determining the best tools for synthesizing control at each level and the rules for interfacing them. The control synthesis will use existing tools in TuLiP, as well as explore options currently external to TuLiP that may be more germane to specific levels of abstraction (see, e.g. [3,4]). If feasible, The project will include an experimental component with ground robots in the Vehicles Lab.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Required Skills:&amp;#039;&amp;#039;&amp;#039; This project requires programming experience in Python or another object-oriented language. Experience in experimental robotics and the Robot Operating System (ROS) is preferred, and willingness to learn these things is necessary. Some familiarity with or willingness to learn about automata theory, formal languages, and model checking is also desired. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
[1] T. Wongpiromsarn, U. Topcu, N. Ozay, H. Xu, and R. M. Murray, TuLiP: a software toolbox for receding horizon temporal logic planning, International Conference on Hybrid Systems: Computation and Control, 2011 (software available at http://tulip-control.sourceforge.net).&lt;br /&gt;
&lt;br /&gt;
[2] A. Sangiovanni-Vincentelli, G. Martin, Platform-based design and software design methodology for embedded systems, Design &amp;amp; Test of Computers, IEEE , vol.18, no.6, pp.23,33, Nov/Dec 2001&lt;br /&gt;
&lt;br /&gt;
[3] E. M. Wolff, U. Topcu, R. M. Murray, Optimization-based trajectory generation with linear temporal logic specifications. ICRA 2014: 5319-5325&lt;br /&gt;
&lt;br /&gt;
[4] V. Raman, A. Donzé, M. Maasoumy, R. M. Murray, A. Sangiovanni-Vincentelli, S. A. Seshia, Model Predictive Control with Signal Temporal Logic Specifications, CDC 2014.&lt;/div&gt;</summary>
		<author><name>Vasu</name></author>
	</entry>
</feed>