<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://mw.hh.se/wg211/index.php?action=history&amp;feed=atom&amp;title=WG211%2FM4Schedule</id>
	<title>WG211/M4Schedule - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://mw.hh.se/wg211/index.php?action=history&amp;feed=atom&amp;title=WG211%2FM4Schedule"/>
	<link rel="alternate" type="text/html" href="http://mw.hh.se/wg211/index.php?title=WG211/M4Schedule&amp;action=history"/>
	<updated>2026-04-05T19:29:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>http://mw.hh.se/wg211/index.php?title=WG211/M4Schedule&amp;diff=511&amp;oldid=prev</id>
		<title>Walid at 13:39, 16 December 2011</title>
		<link rel="alternate" type="text/html" href="http://mw.hh.se/wg211/index.php?title=WG211/M4Schedule&amp;diff=511&amp;oldid=prev"/>
		<updated>2011-12-16T13:39:11Z</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 15:39, 16 December 2011&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&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;[[Category:WG211]]&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;[[Category:WG211]]&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 colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;IFIP WG2.11, meeting schedule&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; 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;&amp;lt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&lt;/del&gt;&amp;gt;IFIP &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;WG2.11, meeting schedule&amp;lt;/title&amp;gt;&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;&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;br&lt;/ins&gt;&amp;gt;&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; &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;IFIP &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;Working Group 2.11 Fourth Meeting&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/head&amp;gt;&amp;lt;body bgcolor=&quot;white&quot;&amp;gt;&lt;/del&gt;&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; 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; &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; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;center&amp;gt;&lt;/del&gt;&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; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;#IP [[http://www.smart-generators.org/ &lt;/del&gt;Working Group 2.11&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/del&gt;Fourth Meeting&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;div&gt;&amp;lt;h1 class=&amp;quot;style3&amp;quot;&amp;gt;Schedule&amp;lt;/h1&amp;gt;&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;lt;h1 class=&amp;quot;style3&amp;quot;&amp;gt;Schedule&amp;lt;/h1&amp;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;div&gt;October 27-28, 2006, Portland, Oregon.&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;October 27-28, 2006, Portland, Oregon.&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/center&amp;gt;&lt;/del&gt;&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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;/del&gt;&amp;lt;br&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&lt;/del&gt;&amp;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;&amp;lt;br&amp;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;div&gt;=Your Checklist:=&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;=Your Checklist:=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Walid</name></author>
	</entry>
	<entry>
		<id>http://mw.hh.se/wg211/index.php?title=WG211/M4Schedule&amp;diff=183&amp;oldid=prev</id>
		<title>Admin: 1 revision</title>
		<link rel="alternate" type="text/html" href="http://mw.hh.se/wg211/index.php?title=WG211/M4Schedule&amp;diff=183&amp;oldid=prev"/>
		<updated>2011-12-12T10:06:26Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:WG211]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;IFIP WG2.11, meeting schedule&amp;lt;/title&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/head&amp;gt;&amp;lt;body bgcolor=&amp;quot;white&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
#IP [[http://www.smart-generators.org/ Working Group 2.11]] Fourth Meeting&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;style3&amp;quot;&amp;gt;Schedule&amp;lt;/h1&amp;gt;&lt;br /&gt;
October 27-28, 2006, Portland, Oregon.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Your Checklist:=&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; [[http://smart-generators.org/M4Directions&amp;#039;&amp;#039;&amp;#039; Directions to University Place]]&lt;br /&gt;
* Don&amp;#039;t forget to [[https://cohesion.rice.edu/services/eventreg/?event=IF06 register for event]]. (closed)&lt;br /&gt;
* Don&amp;#039;t forget to book your [[http://www.pdx.edu/cegs/uplace.html hotel room]].&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; If you are an observer and would like to give a talk, please add an abstract [[http://smart-generators.org/M4Talks&amp;#039;&amp;#039;&amp;#039; here]]&lt;br /&gt;
* If your proposal is not listed in &amp;quot;Well Developed Proposals&amp;quot;, put it in the right format and send me an email to review it.&lt;br /&gt;
* Please sign up for any sessions that you would like to attend in the following section.&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Arrival: If you want to try to find someone else arriving at the same time, please add your arrival time [[http://smart-generators.org/M4Arrival&amp;#039;&amp;#039;&amp;#039; here]]&lt;br /&gt;
=Sessions You can Sign Up for (right here)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# (Friday) Teaching Program Generation (Organizers:  Eelco Visser.  Participants:  Walid Taha, Peter Sestoft, Jeremy Siek, Markus Pueschel, ... )&lt;br /&gt;
# (Friday) Assurance techniques for code generators (Organizers: Ewen Denney, Bernd Fischer. Participants:  Oleg, Julia, Baris Aktemur, Tom Ellman, Manuel Fahndrich) ([[http://resource-aware.org/twiki/bin/viewfile/WG211/M4Schedule?rev=;filename=Code_generator_assurance_(overview).ppt Overview]], [[http://resource-aware.org/twiki/bin/viewfile/WG211/M4Schedule?rev=;filename=Code_generator_assurance_(summary).ppt Summary]])&lt;br /&gt;
# (Friday) Dependently-typed languages (Organizers: Stephanie Weirich. see attached notes).&lt;br /&gt;
# (Saturday) Library Specialization (Organizers: Yannis Smaragdakis, Peter Sestoft. Participants: Jeremy Siek, Harold Ossher,  Stephanie Weirich, Baris Aktemur, Tom Ellman..., Manuel Fahndrich)&lt;br /&gt;
# (Saturday) Embedded Systems (Organizers:  Kevin Hammond, Paul Kelly.  Participants:  Walid, Albert Cohen [Sat only], Oleg, Julia, Markus Pueschel).   &amp;lt;B&amp;gt; Notes on the outcomes of this session have now been attached to this page. &amp;lt;/B&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Preliminary Schedule=&lt;br /&gt;
&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Date&amp;#039;&amp;#039;&amp;#039;     | &amp;#039;&amp;#039;&amp;#039;Time&amp;#039;&amp;#039;&amp;#039;      | &amp;#039;&amp;#039;&amp;#039;Activity&amp;#039;&amp;#039;&amp;#039;                               |&lt;br /&gt;
| Fri 10/27  | 07:30-08:30 | Breakfast                                |&lt;br /&gt;
|            | 08:30-12:00 | Guest talks                              |&lt;br /&gt;
|            |             | 8:30-9:00: Tom Ellman                    |&lt;br /&gt;
|            |             | 9:00-9:30: Manuel Fahndrich              |&lt;br /&gt;
|            |             | 9:30-10:00: Emir Pasalic                 |&lt;br /&gt;
|            |             | 10:00-10:30: Break                       |&lt;br /&gt;
|            |             | 10:30-11:00: Markus Pueschel             |&lt;br /&gt;
|            |             | 11:00-11:30: Jeremy Siek                 |&lt;br /&gt;
|            |             | 11:30-12:00: Laurence Tratt              |&lt;br /&gt;
|            | 12:00-01:30 | Lunch                                    |&lt;br /&gt;
|            | 01:30-02:30 | Advertisment talks for sessions          |&lt;br /&gt;
|            |             | 1:30-1:45 teaching program generation    |&lt;br /&gt;
|            |             | 1:45-2:00 assurance techniques           |&lt;br /&gt;
|            |             | 2:00-2:15 library specialization         |&lt;br /&gt;
|            |             | 2:30-2:45 embedded systems               |&lt;br /&gt;
|            | 02:30-05:30 | Working Sessions                         |&lt;br /&gt;
|            |             | * teaching program generation            |&lt;br /&gt;
|            |             | * assurance techniques                   |&lt;br /&gt;
|            | 06:00-07:30 | Dinner                                   |&lt;br /&gt;
&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Date&amp;#039;&amp;#039;&amp;#039;     | &amp;#039;&amp;#039;&amp;#039;Time&amp;#039;&amp;#039;&amp;#039;      | &amp;#039;&amp;#039;&amp;#039;Activity&amp;#039;&amp;#039;&amp;#039;                               |&lt;br /&gt;
| Sat 10/28  | 07:30-08:30 | Breakfast                                |&lt;br /&gt;
|            | 08:30-11:45 | Working Session                          |&lt;br /&gt;
|            |             | * library specialization                 |&lt;br /&gt;
|            |             | * embedded systems                       |&lt;br /&gt;
|            | 11:45-01:30 | Lunch                                    |&lt;br /&gt;
|            | 01:30-05:00 | Summary talks from working sessions      |&lt;br /&gt;
|            | 05:00-05:30 | Business meeting                         |&lt;br /&gt;
&lt;br /&gt;
=Well Developed Proposal=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Proposal: WG2.11 Session on library specialization&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Organizers: Yannis Smaragdakis, Peter Sestoft&lt;br /&gt;
&lt;br /&gt;
Participants: Please sign up above&lt;br /&gt;
&lt;br /&gt;
Peter raised the subject of library specialization in his message below and provided a motivating example that we can all work  on. His specification document is an attachment to this page: [[http://resource-aware.org/twiki/bin/viewfile/WG211/M4Schedule?rev=1;filename=peter.txt Peter&amp;#039;s Overview]]&lt;br /&gt;
&lt;br /&gt;
What we are interested in is language mechanisms for structured, type-safe specialization of types and modules. This is unlike traditional code specialization constructs such as the C/C++ #ifdef, since #ifdef allows inconsistent uses (e.g., defining a method under a #ifdef but calling it outside).&lt;br /&gt;
&lt;br /&gt;
This can be viewed as a reflective meta-programming technique: our static type system allows an &amp;quot;if&amp;quot; construct and keeps track of pieces of code that are only included conditionally. Specifically we want to ask questions like:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; what is the right type system for such a mechanism?&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; can this be integrated in current languages and how?&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; what is the compilation model when we have conditional methods (e.g., are methods under unsatisfied conditions always removed from the result of compilation, or should they occasionally stay to support separate compilation?)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Proposal: WG2.11 Session on program generation in embedded systems&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Organizers:  Paul Kelly and Kevin Hammond&lt;br /&gt;
&lt;br /&gt;
Participants:  Please sign up above&lt;br /&gt;
&lt;br /&gt;
Embedded systems (broadly-interpreted) provide compelling motivation for the study of program generation.  Embedded development suffers from limited resources, power and performance constraints, a large hardware-software co-design space, difficulties with testing and debugging, and the difficulty of deploying bug-fixes.  For these reasons, Program Generation is widely used.  Examples include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Generating VLSI and FPGA designs&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Generating code for multi-processor system-on-chip devices&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Domain-specific languages and compilers&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Component configuration, feature composition, product line generation&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Specialisation&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Runtime reconfiguration&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Automatic adaptation to platform&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt; Design-space exploration.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The objective of this session is to expose the potential for our community&amp;#039;s techniques in embedded systems, to identify some actual and promising success stories, to identify some common foundations, and to identify challenges for future work and collaboration.  Contributions (short talks) are invited to address these goals.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Proposal: WG2.11 Session on [[teaching program generation]]&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Organizer:  Eelco Visser&lt;br /&gt;
&lt;br /&gt;
Participants:  Please sign up above&lt;br /&gt;
&lt;br /&gt;
Getting program generation accepted and used starts with teaching our&lt;br /&gt;
students. How should we incorporate program generation in the computer science curriculum? This session gives room for expressing views and reflecting on experience. Issues include:&lt;br /&gt;
&lt;br /&gt;
* experience with teaching courses on/involving program generation&lt;br /&gt;
* place in the curriculum (wrt other material)&lt;br /&gt;
* theoretical and conceptual framework&lt;br /&gt;
* tools&lt;br /&gt;
* course organization&lt;br /&gt;
* topics and their relative priority (what is important)&lt;br /&gt;
* suitable example domains&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2&amp;gt;Proposal: WG2.11 Session on assurance techniques for code generators&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Organizers: Ewen Denney, Bernd Fischer&lt;br /&gt;
&lt;br /&gt;
Participants: Please sign up above&lt;br /&gt;
&lt;br /&gt;
Automated code generation offers many compelling advantages to software development but reliability is still often seen as a weak point, at least in safety-critical domains. Indeed, code generators can even produce code which is more difficult to verify and certify than manually developed code.&lt;br /&gt;
&lt;br /&gt;
This session will explore different techniques for assuring the output of code generators. There are different forms of assurance that we might aspire towards. For example:&lt;br /&gt;
&lt;br /&gt;
* compliance with requirements&lt;br /&gt;
* compliance with specification/model&lt;br /&gt;
* coding standards&lt;br /&gt;
* traceability&lt;br /&gt;
* appropriate documentation&lt;br /&gt;
* absence of run-time errors&lt;br /&gt;
Various techniques can be used to address this general problem and we would like to discuss the challenges and issues which arise for the different paradigms of code generation, as well as different application domains.&lt;br /&gt;
&lt;br /&gt;
=Underdveloped Proposal=&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m not sure what the intended format should be, but I added topics that I would be interested in and added my name to them. If others do the same, it may become clear which would be popular topics. Probably the topics should be specified more at some point.&lt;br /&gt;
&lt;br /&gt;
-- Main.EelcoVisser&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m interested in:&lt;br /&gt;
* Program transformation - in particular tools for domain-specific optimisations (and analyses), and active libraries&lt;br /&gt;
* Generation of hardware designs (and generation of parallel, embedded and hardware/software codesigns)&lt;br /&gt;
&lt;br /&gt;
-- Main.PaulHJKelly - 14 Jul 2006&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m interested in:&lt;br /&gt;
* embedded software and dependent types&lt;br /&gt;
* synchronous/asynchronous languages for real-time systems&lt;br /&gt;
* hardware description languages&lt;br /&gt;
&lt;br /&gt;
Edwin Brady has been looking at the first problem from the types&lt;br /&gt;
for resource perspective.  I know Walid is also interested from&lt;br /&gt;
the perspective of resource-aware-programming. Any other takers to&lt;br /&gt;
put together a session?&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m also particularly interested in exploring the issues in &amp;quot;crossover&amp;quot; synchronous/asynchronous&lt;br /&gt;
notations such as Lucid Synchrone (with Marc and Albert?).&lt;br /&gt;
I&amp;#039;m not sure there&amp;#039;s a clear &amp;quot;challenge application&amp;quot; here, more a&lt;br /&gt;
collection of problems?&lt;br /&gt;
&lt;br /&gt;
Also, this is probably not mature enough for an open session,&lt;br /&gt;
but I&amp;#039;d be interested in talking to like-minded people (Chris L,&lt;br /&gt;
Paul K?) about program generation for Grid computing.  I&amp;#039;m thinking of skeleton-based/template-driven approaches at a workflow level,&lt;br /&gt;
probably on a dynamic generation basis.&lt;br /&gt;
&lt;br /&gt;
-- Main.KevinHammond - 19 Jul 2006&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m most interested in language for specifying program transformations and&lt;br /&gt;
generation of hardware designs.&lt;br /&gt;
&lt;br /&gt;
I would also be interested in hearing about MDE vs DSL and program generation&lt;br /&gt;
for grid computing.&lt;br /&gt;
&lt;br /&gt;
-- Main.JuliaLawall - 24 Jul 2006&lt;br /&gt;
(why are we all named main? :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
Oleg Kiselyov suggests:&lt;br /&gt;
&lt;br /&gt;
- software radio as an easy and immensely practical example of&lt;br /&gt;
code generation with static assurances (currently, they use Python to&lt;br /&gt;
generate C++ code, and state typing constraints (like the demodulator&lt;br /&gt;
and the filter both communicate single-precision complex numbers) in&lt;br /&gt;
the _comments_ of the Python code). Certainly we can do better.&lt;br /&gt;
&lt;br /&gt;
- complex optimization of numeric code (at the very least,&lt;br /&gt;
partial loop unrolling and simple loop transformations). The&lt;br /&gt;
optimizations are written independently of the code and can be applied&lt;br /&gt;
to the naive code.&lt;br /&gt;
&lt;br /&gt;
- staging and delimited continuations. Staging and code&lt;br /&gt;
migration.&lt;br /&gt;
&lt;br /&gt;
- staging and generic programming (in the spirit of `Scratch&lt;br /&gt;
your boilerplate&amp;#039;). Implementing SYB in MetaOCaml while preserving&lt;br /&gt;
equational reasoning. Using staging to implement a capability-safe&lt;br /&gt;
subset of OCaml.&lt;br /&gt;
&lt;br /&gt;
-- Main.JuliaLawall - 26 Jul 2006&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
Peter Sestoft suggests:&lt;br /&gt;
&lt;br /&gt;
* Runtime code generation (RTCG) for managed platforms, that is, Java&lt;br /&gt;
Virtual Machine and the Common Language Infrastructure, aka&lt;br /&gt;
Microsoft .NET.  We have some recent results on implementing&lt;br /&gt;
spreadsheets using RTCG for .NET.&lt;br /&gt;
&lt;br /&gt;
* Generation of specialized libraries.  We don&amp;#039;t have any results&lt;br /&gt;
here, but a big wish: The C5 library (www.itu.dk/research/c5) is a&lt;br /&gt;
very comprehensive generic collection library for C#.  However, you&lt;br /&gt;
pay for all the great functionality (at least in memory) even when&lt;br /&gt;
you don&amp;#039;t need it.  How can one allow developers to generate&lt;br /&gt;
specialized (reduced) versions of this library code that suits&lt;br /&gt;
their needs, in a &amp;#039;&amp;#039;&amp;#039;practical&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;maintainable&amp;#039;&amp;#039;&amp;#039; way?&lt;br /&gt;
&lt;br /&gt;
# theory, you could use a huge number of #if ... #end directives,&lt;br /&gt;
but that makes the implementation unmaintainable, and there&amp;#039;s no&lt;br /&gt;
guarantee that those #if&amp;#039;s are inserted in a consistent and&lt;br /&gt;
meaningful way.  Much the same can be said for conditional&lt;br /&gt;
methods.  Aspects will (at present) make the implementation too&lt;br /&gt;
slow.&lt;br /&gt;
&lt;br /&gt;
Also, there&amp;#039;s a question of testing.  We have a large number of&lt;br /&gt;
unit tests.  Conceivably, one could generate a million different&lt;br /&gt;
versions of the library.  How describe which unit tests should be&lt;br /&gt;
expected to succeed in each of those versions?&lt;br /&gt;
&lt;br /&gt;
-- Main.JuliaLawall - 06 Aug 2006&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
--&lt;br /&gt;
I&amp;#039;m very interested in languages for program generation and transformation, especially safe static reflection over existing programs.&lt;br /&gt;
&lt;br /&gt;
Resource-aware program generation sounds intriguing and I&amp;#039;ll probably be interested in participating in a session like that.&lt;br /&gt;
&lt;br /&gt;
-- Main.YannisSmaragdakis - 10 Aug 2006&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
-&lt;br /&gt;
&lt;br /&gt;
-- [[Main.EwenDenney | Ewen Denney ]] - 4 Oct 2006&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m interested in any optimization or concurrent/parallel programming topic, and in particular:&lt;br /&gt;
&lt;br /&gt;
* as proposed by Kevin, in a dedicated discussion, on synchronous/asynchronous language&lt;br /&gt;
constructions for predictable concurrent programming and efficient code generation;&lt;br /&gt;
&lt;br /&gt;
* in generative techniques that preserve equational reasoning, type safety, while allowing complex (loop, storage, data layout) optimizations to be performed; the SDR application proposed by Oleg&lt;br /&gt;
is great.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, I will only attend the second day of the meeting.&lt;br /&gt;
&lt;br /&gt;
-- [[Main.AlbertCohen | Albert Cohen ]] - 31 Aug 2006&lt;br /&gt;
&lt;br /&gt;
* [[Media:peter.txt | peter.txt ]]: peter.txt&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;m not proposing a session on this at this late stage, but I have become interested in generation of code for high-quality user interfaces based on descriptions of what needs to be shown. To achieve high visual quality, there would have to be a lot of support for hand-tailoring of the visual appearance, leading to interesting round-tripping issues.&lt;br /&gt;
&lt;br /&gt;
-- Main.HaroldOssher - 09 Oct 2006&lt;br /&gt;
&lt;br /&gt;
=Attendees=&lt;br /&gt;
&lt;br /&gt;
Tankut Baris Aktemur,&lt;br /&gt;
Edwin Brady,&lt;br /&gt;
Martin Bravenboer,&lt;br /&gt;
Albert Cohen,&lt;br /&gt;
Krzysztof Czarnecki,&lt;br /&gt;
Ewen Denney,&lt;br /&gt;
Tom Ellman,&lt;br /&gt;
Manuel Alfred Fahndrich,&lt;br /&gt;
Bernd Fischer,&lt;br /&gt;
Kevin Hammond,&lt;br /&gt;
Sam Kamin,&lt;br /&gt;
Gabor Karsai,&lt;br /&gt;
Paul H J Kelly,&lt;br /&gt;
Oleg Kiselyov,&lt;br /&gt;
Ralf Lammel,&lt;br /&gt;
Julia Lawall,&lt;br /&gt;
Anne-Francoise Le Meur,&lt;br /&gt;
Crista Lopes,&lt;br /&gt;
John O&amp;#039;Leary,&lt;br /&gt;
Harold Ossher,&lt;br /&gt;
Emir Pasalic,&lt;br /&gt;
Markus Pueschel,&lt;br /&gt;
Peter Sestoft,&lt;br /&gt;
Tim Sheard,&lt;br /&gt;
Yannis Smaragdakis,&lt;br /&gt;
Walid Taha,&lt;br /&gt;
Laurence Tratt,&lt;br /&gt;
Eelco Visser,&lt;br /&gt;
Stephanie Weirich&lt;br /&gt;
&lt;br /&gt;
==File Attachments== &lt;br /&gt;
&lt;br /&gt;
*[[Media:Code_generator_assurance_(summary).ppt | Code_generator_assurance_(summary).ppt]]&lt;br /&gt;
*[[Media:Code_generator_assurance_(overview).ppt | Code_generator_assurance_(overview).ppt]]&lt;br /&gt;
*[[Media:dependent-types.ppt | dependent-types.ppt]]&lt;br /&gt;
*[[Media:peter.txt | peter.txt]]&lt;br /&gt;
*[[Media:embedded-system-notes.txt | embedded-system-notes.txt]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>