<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>5ise</title>
	<atom:link href="http://5ise.quanxinquanyi.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://5ise.quanxinquanyi.de</link>
	<description>Andreas Graf&#039;s Software Engineering Blog</description>
	<lastBuildDate>Sun, 18 Jul 2010 18:46:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CDT and structured analysis / Misra-C</title>
		<link>http://5ise.quanxinquanyi.de/2010/07/18/cdt-and-structured-analysis-misra-c/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/07/18/cdt-and-structured-analysis-misra-c/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 18:46:54 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Automotive]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=317</guid>
		<description><![CDATA[MDSD is one way to improve quality and speed in software development. However, not all code in a system will be generated. There is usually a certain amount of code that is still handcoded. Manually written code is more error-prone, especially when you use languages that give you a high degree of freedom &#8211; such [...]]]></description>
			<content:encoded><![CDATA[<p>MDSD is one way to improve quality and speed in software development. However, not all code in a system will be generated. There is usually a certain amount of code that is still handcoded. Manually written code is more error-prone, especially when you use languages that give you a high degree of freedom &#8211; such as C, which is still one of the most important languages in embedded systems. To prevent some of the pitfalls that C might have, especially for safety-relevant systems, programming guidelines are usually introduced. One of the best known set of guidelines is the Misra-C specification, which has its roots in the automotive industry.</p>
<p>It has several rules that intend to reduce ambiguities (it requires {} around the if/else-clauses), to avoid memory-related problems (no use of recursive function calls, no malloc) and things that make code hard to maintain (no more than two level of pointer indirection &#8211; **x is OK, ***x is not).</p>
<p>Obviously, this needs to be checked, and there is a number of commercial tools available that do this, most often as a command-line tool. However, Eclipse provides the CODAN framework, which makes structured analysis (and writing e.g. a Misra checker) much easier. It also has the advantage, that the analysis is done in the IDE, during coding and no build cycle is necessary. In a short time, I have implemented the following Misra-checks:</p>
<p>M2.2, M2.3</p>
<p>M12.9,M12.10</p>
<p>M14.8,M14.9,M14.10</p>
<p>M7.1</p>
<p>(sorry for the numbers, Misra has a copyright that does not allow you to freely reproduce their check descriptions). Some of these checks took only minutes to write, once you get to know the framework. Here is a screenshot of M14.8 (if, while, etc&#8230; have to be followed by {} )</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/07/2010-07-18-20h41_54.png"><img class="aligncenter size-medium wp-image-320" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/07/2010-07-18-20h41_54-300x221.png" alt="" width="300" height="221" /></a>Note the error markers.</p>
<p>I will add more checks when I have time. However, from the Miscra-licensing, it seems not possible to release it as open source. However, if you are interested, contact me and we could discuss.</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/07/18/cdt-and-structured-analysis-misra-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Automotive Industry Working Group Invitation</title>
		<link>http://5ise.quanxinquanyi.de/2010/07/13/eclipse-automotive-industry-working-group-invitation/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/07/13/eclipse-automotive-industry-working-group-invitation/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 09:16:17 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=315</guid>
		<description><![CDATA[The Eclipse Automotive Industry Working Group is meeting again next Monday at Kugler-Maag offices in Kornwestheim near Stuttgart. The Automotive IWG defines its goals as:

 To provide an infrastructure for tool development required by  the automotive industry
 To address and support the needs for the whole automotive  software development cycle
 To avoid that [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://wiki.eclipse.org/Auto_IWG" onclick="pageTracker._trackPageview('/outgoing/wiki.eclipse.org/Auto_IWG?referer=');">Eclipse Automotive Industry Working Group </a>is meeting again next Monday at Kugler-Maag offices in Kornwestheim near Stuttgart. The Automotive IWG defines its goals as:</p>
<ul>
<li> To provide an infrastructure for tool development required by  the automotive industry</li>
<li> To address and support the needs for the whole automotive  software development cycle</li>
<li> To avoid that the same non-competitive basic tool  functionality is redeveloped over and over again</li>
<li> To join forces and meet current and future requirements in  terms of tool runtime performance and memory consumption</li>
</ul>
<p>We started with a high number of participants in 2008, then 2009 came and meeting participation declined due to budget cuts in the industry. It is good to see that we are gaining drive again. The recent meetings were attended by major 1st tiers, an OEM (with others expressing interest, but still being constrained), the Eclipse Foundation, itemis, Geensys and Kugler-Maag (have I forgotten anyone).</p>
<p>We invite 1st-tiers and OEMs and other companies that see Eclipse as an important factor for their tooling to attend the working group (again, if you were there at 2008). Contact me or Ralph Müller at the Eclipse Foundation if you would like to attend. You can also use the web page above for registering.</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/07/13/eclipse-automotive-industry-working-group-invitation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Natural Language and DSLs</title>
		<link>http://5ise.quanxinquanyi.de/2010/07/07/natual-language-and-dsls/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/07/07/natual-language-and-dsls/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 14:26:30 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[PMT-Processes,Methods,Tools]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=303</guid>
		<description><![CDATA[A year ago I had blogged about Inform 7, an interesting DSL for the implementation of interactive fiction. I had briefly explored it, but didn&#8217;t do much more, because some of the concepts made it hard to use for my purposes (e.g. &#8220;relations&#8221; could only be defined between instances of objects, not classes. So you [...]]]></description>
			<content:encoded><![CDATA[<p>A year ago I had blogged about <a href="http://inform7.com/" onclick="pageTracker._trackPageview('/outgoing/inform7.com/?referer=');">Inform 7</a>, an interesting DSL for the implementation of interactive fiction. I had briefly explored it, but didn&#8217;t do much more, because some of the concepts made it hard to use for my purposes (e.g. &#8220;relations&#8221; could only be defined between instances of objects, not classes. So you needed a lot of workarounds). However, just recently the developers released a new version that removes several limitations.</p>
<p>I happen to come back to look at the DSL, if only for inspiration on how you can find notations that seem natural and yet are formal.  Inform 7</p>
<ul>
<li>wants describe a &#8220;world&#8221; in an executable way</li>
<li>expects its users to be literary inclined, not programming geeks.</li>
</ul>
<p>These goals are obviously similar to the use of DSLs. An example of how a description of a physical system could look like can be found in the examples:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="text" style="font-family:monospace;">&quot;Lead Cuts Paper&quot;
&nbsp;
A weight is a kind of value. 10kg specifies a weight. Everything has a weight. A thing usually has weight 1kg.
&nbsp;
A container has a weight called breaking strain. The breaking strain of a container is usually 50kg. Definition: A container is bursting if the total weight of things in it is greater than its breaking strain.
&nbsp;
A lead pig, a feather, a silver coin and a paper bag are in a room called the Metallurgy Workshop. The paper bag is a container with breaking strain 2kg.  The lead pig has weight 50kg.
&nbsp;
Every turn when a container (called the sack) held by someone visible (called the chump) is bursting:
 say &quot;[The sack] splits and breaks under the weight! [if the player is the chump]You discard[otherwise][The chump] discards[end if] its ruined remains, looking miserably down at [the list of things in the sack] on the floor.&quot;;
 now all of the things in the sack are in the location;
 remove the sack from play.</pre></td></tr></table></div>

<p>Especially the first three lines show how a physical system with rules can be described in (almost) natural language. And it can actually be executed. This is a transcript of the session:</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">Lead Cuts Paper
An Interactive Fiction
Release 1 / Serial number 100707 / Inform 7 build 6E72 (I6/v6.31 lib 6/12N) SD
&nbsp;
Metallurgy Workshop
You can see a lead pig, a feather, a silver coin and a paper bag (empty) here.
&nbsp;
&gt;get pig
Taken.
&nbsp;
&gt;get bag
Taken.
&nbsp;
&gt;put pig into bag
You put the lead pig into the paper bag.
&nbsp;
The paper bag splits and breaks under the weight! You discard its ruined remains, looking miserably down at the lead pig on the floor.</pre></div></div>

<p>Of course, we&#8217;d probably not describe lead pigs put components of cars and satellites &#8230;.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">&nbsp;</pre></div></div>

<p>Another interesting feature is the specification of tabular data. Again from the docs:</p>
<p><a href="pasteCode37()"><img src="../doc_images/paste.png" border="0" alt="" /></a> Table 2.1 &#8211; Selected Elements</p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top"><span style="color: #000080;font-size: x-small">Element</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">Symbol</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">Atomic number</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">Atomic weight</span></td>
</tr>
<tr>
<td valign="top"><span style="color: #000080;font-size: x-small">&#8220;Hydrogen&#8221;</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">&#8220;H&#8221;</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">1</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">1</span></td>
</tr>
<tr>
<td valign="top"><span style="color: #000080;font-size: x-small">&#8220;Iron&#8221;</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">&#8220;Fe&#8221;</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">26</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">56</span></td>
</tr>
<tr>
<td valign="top"><span style="color: #000080;font-size: x-small">&#8220;Zinc&#8221;</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">&#8220;Zn&#8221;</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">30</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">65</span></td>
</tr>
<tr>
<td valign="top"><span style="color: #000080;font-size: x-small">&#8220;Uranium&#8221;</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">&#8220;U&#8221;</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">92</span></td>
<td valign="top"><span style="color: #000080;font-size: x-small">238</span></td>
</tr>
</tbody>
</table>
<p>And the access to the table:</p>
<p><span><span style="color: #000080">symbol in row 3 of the Table of Selected Elements </span></span></p>
<p><span><span> </span></span>It will be interesting to see, if notations like this will establish themselves more and more.</p>
<p><span><span style="color: #000080"> </span></span></p>
<p><a href="pasteCode37()"><img src="../doc_images/paste.png" border="0" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/07/07/natual-language-and-dsls/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>AUTOSAR, CDT and static analysis</title>
		<link>http://5ise.quanxinquanyi.de/2010/07/05/autosar-cdt-and-static-analysis/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/07/05/autosar-cdt-and-static-analysis/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 12:18:39 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Automotive]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PMT-Processes,Methods,Tools]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=292</guid>
		<description><![CDATA[The Eclipse release Helios brought a lot of new features. A lot of attention on the website is put on Xtext or Acceleo. But for the embedded world, a nice new feature has found its way into CDT: The subproject Codan provides a framework for static analysis of the C/C++ code directly in the editor.  [...]]]></description>
			<content:encoded><![CDATA[<p>The Eclipse release Helios brought a lot of new features. A lot of attention on the website is put on Xtext or Acceleo. But for the embedded world, a nice new feature has found its way into CDT: The <a href="http://wiki.eclipse.org/CDT/designs/StaticAnalysis" onclick="pageTracker._trackPageview('/outgoing/wiki.eclipse.org/CDT/designs/StaticAnalysis?referer=');">subproject Codan</a> provides a framework for static analysis of the C/C++ code directly in the editor.  Provided are several examples. One is checking for an assignment in a condition:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>a<span style="color: #339933;">=</span>x<span style="color: #009900;">&#41;</span> ....</pre></div></div>

<p>The great benefit of, again Eclipse / Plugins, is the extension concept. I have just added another check, that does static analysis for AUTOSAR naming conventions while editing. The AUTOSAR RTE (Run time environment) specification defines the structure API of the RTE (which is generated from an AUTOSAR model). The API differs from Software-component to software component. Example calls from the spec could be:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">Rte_Ports_<span style="color: #339933;">&lt;</span>i<span style="color: #339933;">&gt;</span>_<span style="color: #339933;">&lt;</span>P<span style="color: #339933;">/</span>R<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span>...<span style="color: #009900;">&#41;</span></pre></div></div>

<p>to find all ports of an interface type &lt;i&gt;, where P and R denote Provided or Required.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;">Rte_Read_<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>_<span style="color: #339933;">&lt;</span>o<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span>...<span style="color: #009900;">&#41;</span></pre></div></div>

<p>where &lt;p&gt; is the port name and &lt;o&gt; is the data element to be read.</p>
<p>With a few lines of code, I made Codan (i.e. CDT) learn that any function starting with &#8220;Rte_&#8221; should conform to the spec, and any other function is ignored by my static analysis. The programmer is immediately notified of incorrect API calls.</p>
<p>A short demo is attached below. There is plenty of ideas that come from this great (not so) little gem.</p>
<p><object width="425" height="355" type="application/x-shockwave-flash" data="http://www.youtube.com/v/qRC9iWtHSnQ"><param name="movie" value="http://www.youtube.com/v/qRC9iWtHSnQ" />This video was embedded using the YouTuber plugin by <a href="http://www.roytanck.com" onclick="pageTracker._trackPageview('/outgoing/www.roytanck.com?referer=');">Roy Tanck</a>. Adobe Flash Player is required to view the video.</object></p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/07/05/autosar-cdt-and-static-analysis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Requirements and Eclipse: RIF/ReqIF as Ecore (and with Xtext)</title>
		<link>http://5ise.quanxinquanyi.de/2010/06/10/requirements-and-eclipse-rifreqif-as-ecore-and-with-xtext/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/06/10/requirements-and-eclipse-rifreqif-as-ecore-and-with-xtext/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 22:45:59 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PMT-Processes,Methods,Tools]]></category>
		<category><![CDATA[VERDE]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=286</guid>
		<description><![CDATA[Within the VERDE project, itemis is working on the traceability of requirements based on the Eclipse platform. To be able to work with requirements, we have implemented an Ecore representation of the RIF/ReqIF requirements exchange format. RIF was developed by the German HIS Automotive and is now being standardized by the OMG under the new [...]]]></description>
			<content:encoded><![CDATA[<p>Within the <a href="http://www.itea-verde.org/" onclick="pageTracker._trackPageview('/outgoing/www.itea-verde.org/?referer=');">VERDE </a>project, itemis is working on the traceability of requirements based on the Eclipse platform. To be able to work with requirements, we have implemented an Ecore representation of the RIF/ReqIF requirements exchange format. RIF was developed by the German <a href="http://www.automotive-his.de/rif/doku.php?id=welcome" onclick="pageTracker._trackPageview('/outgoing/www.automotive-his.de/rif/doku.php?id=welcome&amp;referer=');">HIS Automotive</a> and is now being standardized by the OMG under the new name &#8220;<a href="http://www.omg.org/cgi-bin/doc?mantis/2010-3-7" onclick="pageTracker._trackPageview('/outgoing/www.omg.org/cgi-bin/doc?mantis/2010-3-7&amp;referer=');">ReqIF</a>&#8220;.</p>
<p>Nirmal has derived the Ecore format from the specification that is provided as an Enterprise Architect model. And of course we have combined this with textual DSLs. RIF allows you to model your own requirements structure (i.e. define requirement types, attributes and links). This can be done through the ecore editor and the GUI for the requirements is automatically generated during runtime. A possible structure could look like this:</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/RIF.png"><img class="aligncenter size-large wp-image-283" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/RIF-1024x508.png" alt="" width="517" height="256" /></a></p>
<p>The definition of this requirement structure is like this:</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/RIFM.png"><img class="aligncenter size-full wp-image-284" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/RIFM.png" alt="" width="480" height="659" /></a></p>
<p>In our solution, you cannot only define natural language requirements, but through the integration of Xtext you can bring in more formal notations &#8211; be they standard or project specific. Of course, you get all the benefits of Xtext, like content assist, syntax highlighting etc. Here is a screenshot of the content assist in our small formal language.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/RIFXtext.png"><img class="aligncenter size-medium wp-image-285" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/RIFXtext-300x275.png" alt="" width="300" height="275" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/06/10/requirements-and-eclipse-rifreqif-as-ecore-and-with-xtext/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android, AUTOSAR and Xpand</title>
		<link>http://5ise.quanxinquanyi.de/2010/06/07/android-autosar-and-xpand/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/06/07/android-autosar-and-xpand/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 12:13:47 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=278</guid>
		<description><![CDATA[Xtext 1.0.0 is scheduled for the Helios release and while I think that it is a great tool we shouldn&#8217;t miss the other apects of a toolchain that are crucial for MDSD: M2T, especially code generation. It is only with M2M and M2T that models show their full potential, since we can use automation. The [...]]]></description>
			<content:encoded><![CDATA[<p>Xtext 1.0.0 is scheduled for the Helios release and while I think that it is a great tool we shouldn&#8217;t miss the other apects of a toolchain that are crucial for MDSD: M2T, especially code generation. It is only with M2M and M2T that models show their full potential, since we can use automation. The front end does not necessarily have to be Xtext &#8211; In this example we are generating code for several platforms from Artop, the community source tool platform of AUTOSAR. Artop provides an EMF based implementation of the AUTOSAR metamodel (and much more) and is a perfect source for code generation.</p>
<p>In the AUTOSAR methodology, as described by the standard, a Run Time Environment (RTE) is generated from the model. The specification defines a C API that represents the RTE and all commercially availalbe tools implement this C specification. However, we use the AUTOSAR models to generate Java code for Android and specifications for business applications, too!</p>
<p>This is our showcase, that we present on fairs etc: A RC car chassis contains several ECUs. A sensor transmits data to a Gateway ECU. This ECU forwards the data both to a display (like your infotainment), but it also forwards this data to a server running a webserver from which it is transferred to mobile devices, like android phones. This is typical for the future challenges in automotive systems: The convergence of technologies from different domains.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/iStock_aufbau.jpg"></a></p>
<div id="attachment_274" class="wp-caption aligncenter" style="width: 527px"><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/iStock_aufbau.jpg"><img class="size-large wp-image-274" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/iStock_aufbau-1024x509.jpg" alt="" width="517" height="256" /></a><p class="wp-caption-text">Showcase - ECUs communicating with Web Services and Android</p></div>
<p>With manual coding, the code for accessing and transmitting the data would have been written several times independently, and changes would have been integrated the same way too. However, we have written Xpand templates for code generation, that not only generate to different RTEs for the in-car ECUs, but also generate code fragment for the Web-Service and the Android application. Adding new data (like rpm) to the transmitted information is supported by code generation, resulting in less manual changes and in higher quality at shorter development cycles.</p>
<p style="text-align: center">
<div id="attachment_275" class="wp-caption aligncenter" style="width: 410px"><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/torcs_data_flow_generated1.png"><img class="size-full wp-image-275 " src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/torcs_data_flow_generated1.png" alt="" width="400" height="260" /></a><p class="wp-caption-text">Using Xpand to generate more than C from Artop</p></div>
<p>Eclipse technologies provide a great set of tools for leaving the trodden path of monolithic tools and implement efficient solutions for customer requirements.</p>
<div id="attachment_276" class="wp-caption aligncenter" style="width: 180px"><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/TabTorcs_small.jpg"><img class="size-full wp-image-276" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/06/TabTorcs_small.jpg" alt="" width="170" height="250" /></a><p class="wp-caption-text">Android application - basic data API is generate from AUTOSAR model</p></div>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/06/07/android-autosar-and-xpand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xtext and Papyrus / UML</title>
		<link>http://5ise.quanxinquanyi.de/2010/06/04/xtext-and-papyrus-uml/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/06/04/xtext-and-papyrus-uml/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 15:02:11 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=250</guid>
		<description><![CDATA[The Papyrus team are doing a great job integrating Textual DSLs with graphical modelings. I am happy that we could help them a bit in integrating Xtext with their modeling tool. The combination solves several usability glitches that I hated in all modeling tools: Adding attributes through a property sheet is cumbersome.
I have created a [...]]]></description>
			<content:encoded><![CDATA[<p>The Papyrus team are doing a great job integrating Textual DSLs with graphical modelings. I am happy that we could help them a bit in integrating Xtext with their modeling tool. The combination solves several usability glitches that I hated in all modeling tools: Adding attributes through a property sheet is cumbersome.</p>
<p>I have created a short video to demo how the current nightly build of Papyrus supports the editing of ports nicely (Update: by the use of ANTLR, next versions will use Xtext, which is also based on ANTLE). If you choose to edit a port, you get a textual editor with syntax highlighting and content assist (and content assist knows about your UML model!)<br />
<object width="425" height="355" type="application/x-shockwave-flash" data="http://www.youtube.com/v/XND2W-H_DXc"><param name="movie" value="http://www.youtube.com/v/XND2W-H_DXc" />This video was embedded using the YouTuber plugin by <a href="http://www.roytanck.com" onclick="pageTracker._trackPageview('/outgoing/www.roytanck.com?referer=');">Roy Tanck</a>. Adobe Flash Player is required to view the video.</object><br />
Great job, Papyrus team!</p>
<p>Grab your nightly build at: <span style="font-family: Arial;color: black;font-size: x-small"><a title="https://build.eclipse.org/hudson/job/cbi-papyrus-0.7-nightly/" href="https://build.eclipse.org/hudson/job/cbi-papyrus-0.7-nightly/" onclick="pageTracker._trackPageview('/outgoing/build.eclipse.org/hudson/job/cbi-papyrus-0.7-nightly/?referer=');">https://build.eclipse.org/hudson/job/cbi-papyrus-0.7-nightly/</a></span></p>
<p><span style="font-family: Arial;color: black;font-size: x-small">Soon coming: A blog entry about how we integrate Xtext to bring more formal notations into requirements engineering.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/06/04/xtext-and-papyrus-uml/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Platforms for automotive tool chains (Artop/AUTOSAR)</title>
		<link>http://5ise.quanxinquanyi.de/2010/05/25/platforms-for-automotive-tool-chains-artopautosar/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/05/25/platforms-for-automotive-tool-chains-artopautosar/#comments</comments>
		<pubDate>Tue, 25 May 2010 12:34:03 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=242</guid>
		<description><![CDATA[Nirmal Sasidharan kindly helped in providing an English translation of our Autosar / Artop activities:

Standardized platforms are the solutions to increased development costs and quality problems in many areas of software development. In the automotive industry, platforms for the ECU Software have been defined within AUTOSAR and Genivi. OEMs and suppliers are thereby assured of [...]]]></description>
			<content:encoded><![CDATA[<p>Nirmal Sasidharan kindly helped in providing an English translation of our Autosar / Artop activities:</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/05/iStock_000000393758Medium1.jpg"><img class="aligncenter size-large wp-image-247" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/05/iStock_000000393758Medium1-1024x512.jpg" alt="" width="517" height="258" /></a></p>
<p>Standardized platforms are the solutions to increased development costs and quality problems in many areas of software development. In the automotive industry, platforms for the ECU Software have been defined within AUTOSAR and Genivi. OEMs and suppliers are thereby assured of reduced costs and improved quality by virtue of the standardized interfaces. Standardized platforms improve the quality of infrastructure components of software and pave way for more focus on the differentiating features. These factors are also advantageous during the application of a platform strategy in tool development.</p>
<p><strong>Cost reduction using platforms</strong></p>
<p>When considering the development tools in a  product development process, many similar features are developed anew by the tool manufacturers independently and with different technologies: data storage, user interfaces, connection to architecture tools and graphical editors are just some aspects of infrastructure. To illustrate the AUTOSAR tool chain is considered. AUTOSAR defines an XML interchange format in order to process the AUTOSAR descriptions beyond the tool boundaries. Each tool in the development chain can use the XML format for interchange and stores the AUTOSAR models in a specific representation in the memory. The processing steps of these sections of the development process are thus:</p>
<ul>
<li>Importing the existing models from the XML format into the internal format of the architecture tool and processing of the model</li>
<li>Exporting the internal representation from the architecture tool into XML format</li>
<li>Importing the XML format into the internal representation of the RTE generator and generation of the header files.</li>
<li>Importing the XML format into the internal representation of the modelling tool in the internal format of the modelling tool and</li>
<li>Generation of the code</li>
</ul>
<p>Altogether three tools implement the functionality of importing the XML and at least one tool to save in XML format. Since these tools are developed by different companies, this functionality is implemented three times and paid for by the customer. The complexity of XML makes implementing different versions of AUTOSAR complex as well. However, this is not differentiated by the tools. Therefore, it can be predicted that there is also demand for re-use of the tool chain. Open source platforms offer this possibility. At this point, Eclipse can be of use in different scenarios:</p>
<ul>
<li>&#8220;Out of the box”: Eclipse provides many applications that can be used directly. This includes development environments for C and Java, but also for modelling according to UML, data mining and others.</li>
<li>As basis for applications: Frameworks for data management, user interfaces, graphical editors, forms, web access etc. are part of the Eclipse platform. Projects can set up their development on these frameworks and reduce cost. There are additional platforms for certain industries (partly independent of Eclipse).  For example, in the automotive sector this is Artop, which is being driven by some AUTOSAR partners and provides reading, writing, and the management of AUTOSAR models.</li>
<li>As integration platform: The common data model and  infrastructure enables a tool design in such a way that they are more closely meshed and tool gaps avoided.</li>
<li>For project-specific functions:  Development departments can build specific features on this platform that are not provided by the tools.</li>
</ul>
<p><strong>Artop</strong></p>
<p><strong> </strong></p>
<p>The AUTOSAR Tool Platform (Artop) is an Eclipse-based implementation of basic functionality for AUTOSAR development tools. Artop and its source code are freely available for all AUTOSAR members and partners. itemis perceives Artop as a viable platform for development tools in the automotive sector and provides its technologies in the model-based software development as a contributing member to the project. itemis advises OEMs and tool developers in the development, adaptation and introduction of Eclipse-based and Artop-based tools.</p>
<p><strong> </strong></p>
<p><strong>ARText</strong></p>
<p>AUTOSAR models for complete and partial systems can be of considerable sizes. The experience with building and managing such models show that graphical editors often reach their limits here. An efficient alternative is the modern specific textual languages that can be effectively created using comfortable editors. Studies show that the input of large models is much more ergonomic and faster because of the absence of constant switching between mouse and keyboard. Issues such as version control and model comparison, which still has not been satisfactorily resolved by graphical models, are easily resolved by textual models with the established tools from the source code management.  Thus, textual editors are much more cost-effective to implement and they are automatically generated to a large extent.</p>
<p>This concept is pursued and implemented in “ARText”, the sub-project of Artop. ARText is based on the core technology &#8220;Xtext&#8221; provided by itemis and is a comfortable editor for AUTOSAR models.</p>
<p>itemis supports the operation and adaptation of textual, domain-specific languages like ARText.</p>
<p>Picture: Mark Evens &#8211; istockphoto</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/05/25/platforms-for-automotive-tool-chains-artopautosar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bosch joins Eclipse</title>
		<link>http://5ise.quanxinquanyi.de/2010/05/15/bosch-joins-eclipse/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/05/15/bosch-joins-eclipse/#comments</comments>
		<pubDate>Sat, 15 May 2010 21:19:54 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=234</guid>
		<description><![CDATA[Robert Bosch GmbH has joined Eclipse as a Solution Member. Within the automotive domain, the membership of Bosch is a significant signal, since it is the first time that an OEM or a 1-st tier supplier supports Eclipse in this way.
It reflects the fact that Eclipse has established itself in the development tool chain of [...]]]></description>
			<content:encoded><![CDATA[<p>Robert Bosch GmbH has joined Eclipse as a Solution Member. Within the automotive domain, the membership of Bosch is a significant signal, since it is the first time that an OEM or a 1-st tier supplier supports Eclipse in this way.</p>
<p>It reflects the fact that Eclipse has established itself in the development tool chain of automotive software &#8211; in a domain that is traditionally rather conservative and cautious of open source software. Despite this cautioness, a lot of OEMs and 1-st tiers are already making use of Eclipse, but the notion of open source, community source and collaboration still raises questions in middle and upper management.</p>
<p>The membership of a major 1-st tier shows that it is feasible to use and contribute open source for tool development.</p>
<p>Information about Bosch&#8217;s activities can be found in <a href="http://www.sigs.de/download/oop_09/lunt%20wendehals%20di4-4.pdf" onclick="pageTracker._trackPageview('/outgoing/www.sigs.de/download/oop_09/lunt_20wendehals_20di4-4.pdf?referer=');">this talk at OOP</a> and <a href="http://www.eclipsecon.org/summiteurope2008/sessions?id=200" onclick="pageTracker._trackPageview('/outgoing/www.eclipsecon.org/summiteurope2008/sessions?id=200&amp;referer=');">this talk at ESE</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/05/15/bosch-joins-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MDSD &#8211; a trend in Asia, too</title>
		<link>http://5ise.quanxinquanyi.de/2010/04/25/mdsd-a-trend-in-asia-too/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/04/25/mdsd-a-trend-in-asia-too/#comments</comments>
		<pubDate>Sun, 25 Apr 2010 12:52:09 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[China]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=226</guid>
		<description><![CDATA[I have been following the development / adoption of MDSD in China for a while. The blogging community does not seem to be as active as in Europe, since there are only a few blogs where MDSD is addressed and the search engine hits for MDSD in Chinese often refer to articles about MDA from [...]]]></description>
			<content:encoded><![CDATA[<p>I have been following the development / adoption of MDSD in China for a while. The blogging community does not seem to be as active as in Europe, since there are only a few blogs where MDSD is addressed and the search engine hits for MDSD in Chinese often refer to articles about MDA from the mid 200x.</p>
<p>However, there is more activity in print. Having discovered a chinese websearch for magazine research (http://it.alljournals.cn/) I was interested in a little statistics and tracked the number of published articles on &#8220;model driven&#8221; (模型驱动).</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/04/mdsdinchina.png"><img class="aligncenter size-medium wp-image-228" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/04/mdsdinchina-300x180.png" alt="" width="300" height="180" /></a></p>
<p>Another keyword that yields a lot of result is MDA.  One of our main points of focus in European business, the use of domain specific languages is not yet a major subject in Chinese magazines. Searches result 2-3 hits in 2008 and 2009. It will be interesting to watch the future trends. The chinese already have produced one of the nicer UML tools based on Eclipse (www.trufun.net).</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/04/25/mdsd-a-trend-in-asia-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
