<?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%2FM10Hermann</id>
	<title>WG211/M10Hermann - 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%2FM10Hermann"/>
	<link rel="alternate" type="text/html" href="http://mw.hh.se/wg211/index.php?title=WG211/M10Hermann&amp;action=history"/>
	<updated>2026-04-05T23:09:52Z</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/M10Hermann&amp;diff=35&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/M10Hermann&amp;diff=35&amp;oldid=prev"/>
		<updated>2011-12-12T10:06:23Z</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;
&lt;br /&gt;
&amp;lt;strong&amp;gt;Multi-Level DSLs with a co-design of code generation and analysis/verification&amp;lt;/strong&amp;gt; by Christoph Herrmann&lt;br /&gt;
&lt;br /&gt;
The aim of this approach is to obtain precise information &amp;lt;br /&amp;gt;about properties of program-controlled systems in terms &amp;lt;br /&amp;gt;of input parameters. The language constructs are assigned &amp;lt;br /&amp;gt;to different levels of abstraction. &amp;lt;br /&amp;gt;Code generation transforms a program at one level to a&amp;lt;br /&amp;gt;program at the next lower level. The lowest level has a &amp;lt;br /&amp;gt;direct correspondence to a machine operation in a general &amp;lt;br /&amp;gt;sense, e.g. an instruction of a concrete or virtual &amp;lt;br /&amp;gt;processor, a command to an actuator or a request from a &amp;lt;br /&amp;gt;sensor. &amp;lt;br /&amp;gt;Program analysis uses the information at one level to &amp;lt;br /&amp;gt;obtain the information at the next higher level; and &amp;lt;br /&amp;gt;this involves the semantics of the transformation between &amp;lt;br /&amp;gt;the levels. The information will necessarily be expressed &amp;lt;br /&amp;gt;in terms of parameters, to account for data-dependent &amp;lt;br /&amp;gt;case distinctions or iteration counts. The crucial point&amp;lt;br /&amp;gt;in the design methodology is that the properties for which&amp;lt;br /&amp;gt;the system is to be analysed/verified are stated before &amp;lt;br /&amp;gt;the design and that only language constructs are introduced &amp;lt;br /&amp;gt;that permit the analysis/verification of all these &amp;lt;br /&amp;gt;properties. Depending on how these properties depend on &amp;lt;br /&amp;gt;run-time information the complexity of language constructs &amp;lt;br /&amp;gt;will be limited. &amp;lt;br /&amp;gt;In the first example I will report about the formal &amp;lt;br /&amp;gt;verification in Agda that a robot can move from one location &amp;lt;br /&amp;gt;to another in a certain time given as an expression in terms &amp;lt;br /&amp;gt;of start and final location. Although it will be simple&amp;lt;br /&amp;gt;to obtain such a formula by an analysis, the verification&amp;lt;br /&amp;gt;in Agda ties the result to the semantics of the translation.&amp;lt;br /&amp;gt;In the second example I will sketch the design of a system &amp;lt;br /&amp;gt;of collaborating autonomous vehicles, in which the language &amp;lt;br /&amp;gt;levels deal with &amp;lt;br /&amp;gt;(1) global strategic planning, &amp;lt;br /&amp;gt;(2) execution of a plan by an arbitrary vehicle, and&amp;lt;br /&amp;gt;(3) operational implemention of an execution step.&amp;lt;br /&amp;gt;With the proposed design methodology it will be possible to &amp;lt;br /&amp;gt;develop quite complex systems that allow for an analysis &amp;lt;br /&amp;gt;of important properties such as execution time or energy&amp;lt;br /&amp;gt;consumption and include these results into the planning &amp;lt;br /&amp;gt;process.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>