<?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 &#187; MDSD</title>
	<atom:link href="http://5ise.quanxinquanyi.de/category/mdsd/feed/" rel="self" type="application/rss+xml" />
	<link>http://5ise.quanxinquanyi.de</link>
	<description>Andreas Graf&#039;s Software Engineering Blog</description>
	<lastBuildDate>Fri, 03 Sep 2010 13:56:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Relocation</title>
		<link>http://5ise.quanxinquanyi.de/2010/09/03/relocation/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/09/03/relocation/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 13:56:38 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=394</guid>
		<description><![CDATA[The itemis south branch has been operating out of Pforzheim (which is 50 kms west of Stuttgart) for several years and we are really having nice offices in a good environment here. However, for a number of reasons, we feel that there are a number of factors that made us consider the Pforzheim location: itemis [...]]]></description>
			<content:encoded><![CDATA[<p>The itemis south branch has been operating out of Pforzheim (which is 50 kms west of Stuttgart) for several years and we are really having nice offices in a good environment here. However, for a number of reasons, we feel that there are a number of factors that made us consider the Pforzheim location:</p>
<ul>
<li>itemis is providing services to companies for MDSD in several domains. One domain is &#8220;complex technical systems&#8221;, which includes automotive / embedded. Several of our customers here in the south of Germany are obviously based in Stuttgart.</li>
<li>itemis is growing. We find it easier to find new talent for our Stuttgart office.</li>
<li>itemis is member of several consortia (AUTOSAR, Genivi) and research projects (VERDE, Q-Impress,etc.). Hosting meetings in Stuttgart will be more convenient for our project partners, that come from all over Europe.</li>
<li>itemis has its main office in Lünen near Dortmund. There is a great train connection from Stuttgart to Dortmund (3,5 hours).</li>
</ul>
<p>All of this factors brought us to the decision to fuse our small Stuttgart office with the Pforzheim office in a new location in Stuttgart. Further factors where:</p>
<ul>
<li>the location should be easily accessible from both the main station and the airport for guests, colleagues and commuters (basically no changing trains from those stops, more than one public transports stopping near the office)</li>
<li>the location should be easily accessible for our commuters from Pforzheim (i.e. a highway exit in the south west of Stuttgart)</li>
<li>the location should allow for growth</li>
<li>the location should have a bright atmosphere</li>
<li>food, good food. Good lunch is a prerequisite for a good afternoon.</li>
</ul>
<p>We found all that in the Stuttgart Engineering Park STEP and I am looking forward to us opening the new office and growing further in January.</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/09/03/relocation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating the AUTOSAR tool chain with Eclipse based model transformations</title>
		<link>http://5ise.quanxinquanyi.de/2010/08/31/integrating-the-autosar-tool-chain-with-eclipse-based-model-transformations/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/08/31/integrating-the-autosar-tool-chain-with-eclipse-based-model-transformations/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 15:00:24 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Automotive]]></category>
		<category><![CDATA[DSL]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=370</guid>
		<description><![CDATA[Integrating the AUTOSAR tool chain with Eclipse based model transformations Andreas Graf1,Markus Völter2 1: itemis GmbH, Blücherstr. 32, 75177 Pforzheim, Germany 2: independent/itemis GmbH, Hohnerstr. 25, 70469 Stuttgart, Germany This paper has been presented and published at ERTS2 2010 Extended Abstract for Application: Keywords: AUTOSAR, Eclipse, Open Source, model transformation, Artop, Model Driven Engineering, AUTOSAR [...]]]></description>
			<content:encoded><![CDATA[<h1>Integrating the AUTOSAR tool chain with Eclipse based model transformations</h1>
<p>Andreas Graf<sup>1</sup>,Markus Völter<sup>2</sup> <sup> </sup> <sup> </sup></p>
<p>1: itemis GmbH, Blücherstr. 32, 75177 Pforzheim, Germany</p>
<p>2: independent/itemis GmbH, Hohnerstr. 25, 70469 Stuttgart, Germany</p>
<p><strong>This paper has been presented and published at ERTS2 2010<br />
</strong></p>
<p><strong>Extended Abstract for Application</strong>: <strong> </strong></p>
<p><strong>Keywords</strong>: AUTOSAR, Eclipse, Open Source, model transformation, Artop, Model Driven Engineering, AUTOSAR tool chain, software development process, AUTOSAR migration, automotive software, standardization, Engineering tools integration and interoperability, Open source, open systems. <strong> </strong></p>
<p>1. Introduction</p>
<p>AUTOSAR is establishing itself as a prominent standard in automotive systems and is expected to significantly improve software architecture and the software development processes. However, the introduction of AUTOSAR also poses some challenges.</p>
<p>AUTOSAR only defines part of the development process, it does not specify how to interface tools in preceding process steps (such as functional design or requirements engineering) and to subsequent steps (such as testing or the actual implementation of the software).</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h47_53.png"><img class="aligncenter size-full wp-image-377" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h47_53.png" alt="" width="800" height="227" /></a></p>
<p>In addition, AUTOSAR currently does not cover all aspects of automotive software. AUTOSAR software needs to communicate with non-AUTOSAR software, for example in the infotainment domain or even with off-board software.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/dum1.gif"><br />
</a></p>
<p>In addition to these conceptual challenges, the availability of tools can be a challenge, too. Similar to the early phase of UML, AUTOSAR tools are rather new and immature, and experience with those tools is not widespread. Tool features might be lacking and the integration of AUTOSAR tools into a company’s overall tool chain will definitely not be provided out of the box by an off-the-shelf tool. It needs customization.</p>
<p>The different steps in the AUTOSAR methodology might be addressed by different AUTOSAR tools from different vendors. Those tools need to interact with each other, increasing increases the need for an open approach that allows for customization and extension.</p>
<p>2. Scope of the paper</p>
<p>In this paper, we discuss a number of examples of the challenges above. The paper shows how these challenges can be alleviated by Eclipse based tools.</p>
<p>Eclipse has established itself as an industrial strength development tool in industries that develop complex systems, such as aerospace and automotive. OEMs, first-tiers and suppliers already successfully use it for software development and as a rich and mature tooling platform. It can be seen as a platform for domain specific extensions that can be used out-of-the box (e.g. the C programming IDE “CDT”) as well as a platform for additional tools.</p>
<p>The open nature of the Eclipse platform allows for the integration of applications and project specific extensions.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h49_39.png"><img class="aligncenter size-full wp-image-378" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h49_39.png" alt="" width="821" height="422" /></a></p>
<p>With Eclipse’s latest Galileo release, several mature tools for model-driven software development (MDSD) have become available. These provide a flexible and low-cost set of tools for bridging the gaps in existing AUTOSAR tool chains.</p>
<p>The paper is structured as follows: We first introduce the AUTOSAR tool platform Artop and a number of open source Eclipse Modeling tools and explain their role in model driven development. We then show example challenges in the integration of an AUTOSAR tool chain and sketch solutions for these challenges based on the Eclipse based tools introduced.</p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>3. Tools</strong></p>
<p>In this paper, we look at Eclipse-based tools for model-driven software development. Eclipse is an open source project started by IBM a couple of years ago. Initially Eclipse was a Java development environment. However, from the start, Eclipse has been architected to be extendable in significant ways. Over time, a number of additional projects have been initiated as part of the Eclipse platform; among them the Eclipse Modeling project.</p>
<p>The Eclipse Modeling project is a collection of frameworks and tools for model driven development. In sum, they provide a wide range of solutions for various aspects of model driven development, from language definition to editor construction to code generation as well as model verification and validation.</p>
<p>This section introduces some of the tools from Eclipse Modeling. Specifically, we suggest those tools as a basis for integrating an AUTOSAR tool chain.</p>
<h2>EMF</h2>
<p>EMF, the Eclipse Modeling Framework, forms the basis for all Eclipse Modeling tools. At its core, it provides the Ecore meta meta  model, a formalism for defining the abstract syntax of modeling languages. EMF comes with a set of related frameworks and tools for validation, query, persistence, and model transactions.</p>
<h2>Xpand</h2>
<p>Xpand is a framework for code generation (in fact, you can generate any kind of textual artifact such as configuration files or documentation as well). It processes models based on languages defined with EMF. The Xpand language itself is quite sophisticated in the sense that it contains a powerful expression language for querying and traversing models. It also supports polymorphism and aspects for code generation templates, making sure that nontrivial code generators remain maintainable.</p>
<h2>Xtend</h2>
<p>Xtend is used for transforming models into other models, for modifying existing models before they are fed into a code generator, as well as for implementing simple helper functions that are used as part of code generation templates.</p>
<h2>Check</h2>
<p>Check is used for validating models. Constraints are expressed in the constraints Check language (which embeds the same OCL-like expression language used in Xpand and Xtend). The constraints are then evaluated either in real time in the editors when creating models or as part of model transformation and code generation workflows.</p>
<h2>Xtext</h2>
<p>Xtext is a framework for defining textual domain specific languages. Based on a grammar definition, the Xtext tooling generates a parser, an EMF meta-model, as well as an editor for the language defined by the grammar. The editor provides all the features known from current IDE&#8217;s: code completion, syntax highlighting, folding, customizable outline views, go-to definition and find references, etc. Using Xtext, the effort of defining languages and providing editor support on a level that makes using that language productive and comfortable becomes significantly simpler.</p>
<h2>GMF</h2>
<p>GMF supports the construction of graphical editors (box and line style) for existing EMF meta-models. Using this framework, you can define graphical notations for your own languages.</p>
<h2>Integration of the tools</h2>
<p>Using the above mentioned tools together results in a complete toolset for model driven development. You define your meta-models using EMF, then you add a graphical or textual notation using GMF or Xtext, you use check for validating models, and finally, you can use Xtend and Xpand to transform the models created with your graphical or textual editors into other models or text.</p>
<p>An additional project, the modeling workflow engine, is used to orchestrate the processing of models. It provides facilities for loading models from files and supplying them to validation, transformation, and code generation components.</p>
<h2>Artop</h2>
<p>One of the fundamental motivations of AUTOSAR is to increase the reuse of software within the car. Transferring this motivation to the AUTOSAR authoring tools is a logical step. This motivation drives the Artop initiative.</p>
<p>The AUTOSAR Tool Platform (Artop) is an implementation of common base functionality for AUTOSAR development tools. Artop uses many of the above mentioned frameworks to provide specific base functionalities for creating AUTOSAR tools. This includes a complete implementation of the AUTOSAR meta-model in the form of an Ecore model, an extensible validation engine for checking AUTOSAR specific and even project-specific constraints, a sophisticated workspace management that takes into account AUTOSAR’s way of storing models and lots more.</p>
<p>Artop is developed by the Artop User Group, a group of AUTOSAR members and partners and uses Eclipse not only as its technical platform but also uses a similar community approach to develop the software. Artop is open to any AUTOSAR member or partner.</p>
<h2>Sphinx</h2>
<p>The Sphinx project proposal [Sph2010] is a proposal for a new Eclipse Model Development Tools (MDT) subproject.</p>
<p>While developing Artop a lot of functionalities were developed, that had their origins in the use of AUTOSAR, but were not specific to AUTOSAR at all. Similar functionalities were also required in other industries than the automotive domain, like avionics.</p>
<p>The goal of the Sphinx proposal is to remove these features from the Artop platform and rather develop them in a larger community within the Sphinx project.</p>
<h1>4. Bridging the gaps</h1>
<p>Based on these tools, there are two basic types of tool integration: A tight integration on the Eclipse platform and a looser coupling through data exchange formats.</p>
<p>The tight integration allows tools that conform to the Eclipse architecture to be integrated within one application. The user does not have to switch between different applications, because he sees an integrated development environment.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h50_53.png"><img class="aligncenter size-full wp-image-379" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h50_53.png" alt="" width="826" height="431" /></a></p>
<p>However, existing tools used by projects might not be based on Eclipse. By making use of the Eclipse modeling tools, a loose integration is still possible through data import and export.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h51_51.png"><img class="aligncenter size-full wp-image-380" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h51_51.png" alt="" width="918" height="423" /></a></p>
<h1>5. Challenges and Solutions</h1>
<p>In this section we show how to use the aforementioned tools to address a number of challenges in the integration of an AUTOSAR tool chain.</p>
<p>To describe the relevant AUTOSAR models, we will introduce a textual description of AUTOSAR models called ARText. ARText is based on Xtext and an early implementation is available through the Artop distribution. This language is used to illustrate AUTOSAR models used in the examples, since it is much more concise than a graphical notation. Here is an example of a definition of a sensor component with an interface in ARText format:</p>
<p><strong>interface</strong> <strong>senderReceiver</strong> cardata {</p>
<p><strong>data</strong> int32 speed</p>
<p>}</p>
<p><strong>component</strong> <strong>atomic</strong> Sensor {</p>
<p><strong>ports</strong> {</p>
<p><strong>sender</strong> X <strong>provides</strong> cardata</p>
<p>}</p>
<p>}</p>
<p>Model-to-Model-Transformations and Model-to-Text-Transformations are shown as examples in the solutions to the challenges. The code fragments of the transformation are for illustration only. Real transformations might include additional code.</p>
<p><strong>Adding AUTOSAR Import / Export to existing tools</strong></p>
<p>Challenge: All tools within the AUTOSAR tool chain have to be able to read / write data in the AUTOSAR XML format. The AUTOSAR XML-format is a complex data exchange format. Adding reading / writing functionality to an existing application requires significant effort. If every tool re-implements the XML functionality, the end user basically pays several times for the development of a non-differentiating feature. The cost and time can be significantly reused by making use of Artop and the Eclipse modeling tools.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h53_00.png"><img class="aligncenter size-full wp-image-381" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h53_00.png" alt="" width="954" height="595" /></a></p>
<p>Figure 1 – XML Readers and Writers are a redundant functionality in the tool chain.</p>
<p>Solution: Artop provides capabilities to read and write the AUTOSAR XML formats to and from the Eclipse EMF. Using model transformations, AUTOSAR models can be converted to the native format of existing tools.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h53_41.png"><img class="aligncenter size-full wp-image-382" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h53_41.png" alt="" width="793" height="203" /></a></p>
<p>Figure 2 – Integrating non-AUTOSAR tools by model transformation</p>
<p>For the example, a transformation of the AUTOSAR model into a CSV (Comma-Separated-Value)-file is given. CSV is a common file format that can be read by various spread sheet and database tools. Each line of the output should contain a software component name and information about the ports of that software component. A Xpand template could be similar to the template shown in Fragment 1.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h55_46.png"><img class="aligncenter size-full wp-image-383" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h55_46.png" alt="" width="583" height="452" /></a></p>
<p>Code Fragment 1 – M2T of AUTOSAR into .csv</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h56_18.png"><img class="aligncenter size-full wp-image-384" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h56_18.png" alt="" width="544" height="78" /></a></p>
<p>Code Fragment 2 – CSV Result</p>
<p><strong> </strong></p>
<p>The first line of the output file contains the component of the short example given in the introduction with the specification of the provided part. The second line shows an additional software component to illustrate the structure of the output file. Any output file in a textual format can be generated by Xpand.<strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Integration of </strong><strong>Behavioral</strong><strong> Models</strong></p>
<p>Challenge: AUTOSAR explicitly provides no means for the specification of the behavior (program logic) of software. In model bases software development, a number of modeling approaches are well established (such as state machines or dataflow modeling). However, AUTOSAR does not specify a mapping to behavioral modeling paradigms. The linking and synchronization between with artifacts in other modeling tools is not defined.</p>
<p>Solution: Use model transformations to synchronize the AUTOSAR model with a behavioral model. This helps to avoid redundant modeling of elements in more than one tool and manual synchronization. The exemplary solution links AUTOSAR models with UML state machines.</p>
<p>The meta-model elements of AUTOSAR and the state machine have to be mapped. A state machine needs to react to data being received. For this solution, we map AUTOSAR data elements to state machine triggers. Based on this mapping, a model-to-model-transformation generates the skeleton of a state machine and infers the required events / triggers from the AUTOSAR specification.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h56_47.png"><img class="aligncenter size-full wp-image-385" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h56_47.png" alt="" width="539" height="251" /></a></p>
<p>Code Fragment 3 – M2M of AUTOSAR into UML state machines</p>
<p>The code fragment generates a state machine for every software component and to keep the models synchronized, adds a trigger for each data element of required interfaces (i.e. incoming data).</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h57_23.png"><img class="aligncenter size-full wp-image-386" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h57_23.png" alt="" width="518" height="328" /></a></p>
<p>Figure 3 &#8211; AUTOSAR Data Element as triggers in state machines</p>
<p><strong>Comfortable Editing of Large models</strong></p>
<p>Challenge: Creating complex models with graphical modeling tools often is a time-consuming task, since the creation of new model elements involve a lot of mouse movements and switching between keyboard and mouse.</p>
<p>Solution: Textual domain specific languages are an established approach to create a user-friendly modeling environment. A comfortable environment with syntax highlighting, code completion and navigation functionality allows the user to quickly create models without the need for time-consuming context switches between mouse and keyboard  [ARText2009]. Additionally, textual formats successfully scale to large projects and are also suited to distributed development environments. This is due to the format taking advantage of the well established textual tools and infrastructure supporting this environment. For example, configuration, source, change and version control. Support for these functions is integral for an effective distributed development environment.</p>
<p>With ARText the Artop community provides an environment for textual languages based on AUTOSAR. It defines and implements a textual language to describe AUTOSAR models. The framework is based upon Xtext which gives access to rich features for textual languages like syntax-highlighting and code-completion. The textual notation used in this document is the ARText notation.</p>
<p>Developers who are more inclined to textual formats will benefit from a less steep learning curve when developing AUTOSAR models with ARText.</p>
<p><strong>Project Specific Code generation</strong></p>
<p>Challenge: Existing tools might not be prepared for AUTOSAR-conforming code generation. Manual post processing of the code is necessary.</p>
<p>Solution: Create AUTOSAR conforming code by using customized generation templates based on Xpand.</p>
<p>For the exemplary integration of open-source state machine modeling / simulation, the Yakindu tool generation has been made AUTOSAR conforming.</p>
<p>The state machine for terminal control</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h57_59.png"><img class="aligncenter size-full wp-image-387" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h57_59.png" alt="" width="540" height="379" /></a></p>
<p>Figure 4 &#8211; State Machine as input to the generation.</p>
<p>can be transformed into AUTOSAR compliant code that uses the RTE as an interface to get notified of incoming transition triggers and reacts by sending data through the RTE.</p>
<p><strong>Migrating Legacy Models to AUTOSAR</strong></p>
<p>Challenge: Migrate existing component models to AUTOSAR. Before the introduction of AUTOSAR, projects often modeled the software architecture with other notations (e.g. UML). These models have to be migrated to AUTOSAR.</p>
<p>Solution: Load the models into Eclipse and transform them to AUTOSAR. Most UML2 should have a XMI-conforming export. These models are loaded into a UML2-EMF model and subsequently transformed to Artop models directly by Xtend or to textual representations like ARText.</p>
<p>Suppose that every class in a UML model should be transformed into an AUTOSAR software component. The following Xtend transformation will perform this transformation.</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h58_36.png"><img class="aligncenter size-full wp-image-388" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h58_36.png" alt="" width="547" height="303" /></a></p>
<p>Code Fragment 4 – M2M of UML to AUTOSAR</p>
<p>The second create function will create an AUTOSAR package in the destination model and call the transformation for every class in the UML model. The semantics of the class to component transformation is specified in the third create statement. Here it is a simply copying of the name.</p>
<p><strong>Generating RTE for non-AUTOSAR Basic SW</strong></p>
<p>Challenge: Implement an AUTOSAR RTE on platforms that have no AUTOSAR Basic Software available. One of the suggested migration strategies to AUTOSAR ECUs is the use of legacy BSW with AUTOSAR conforming application layer as a first step [AR2010]. However, COTS RTE generators cannot be used, since they usually do not support project specific legacy basic software.</p>
<p>Solution: Use Xpand to generate a RTE that conforms the API for the application software and interfaces to the platform specific basic software. Supposing, that a communication call in the legacy software would have the signature “void Legacy_SendCall(…)”, a RTE that makes use of this generation can be generated by a code fragment like:</p>
<p><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h59_21.png"><img class="aligncenter size-full wp-image-389" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/2010-08-31-16h59_21.png" alt="" width="550" height="426" /></a></p>
<p>Code Fragment 5 – M2M of UML to AUTOSAR</p>
<h1>6. Conclusion</h1>
<p>In the paper we showed some of today’s recurrent challenges in tools and described the need for more integrated tool chains. Challenges in the integration of an AUTOSAR tool chain can be solved by the use of inexpensive Eclipse based tooling. An open platform is the precondition for an integrated tool chain. The solutions shown in this paper have been applied in various projects.</p>
<p>4. References:</p>
<p>[Sph2010] Sphinx project proposal, <a href="http://www.eclipse.org/proposals/sphinx/" onclick="pageTracker._trackPageview('/outgoing/www.eclipse.org/proposals/sphinx/?referer=');">http://www.eclipse.org/proposals/sphinx/</a></p>
<p>[ARText2009] S. Benz, D. Wong. “ARText &#8211; Driving Developments with Xtext“, http://www.slideshare.net/sebastianbenz/artext-driving-developments-with-xtext<strong> </strong></p>
<p>[AR2010] S. Fürst et al., “AUTOSAR – Migration and Advantages of an Industry-Wide Standard“. Proceedings of the VDA technical Congress 2010</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/08/31/integrating-the-autosar-tool-chain-with-eclipse-based-model-transformations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Requirements Traceability for Eclipse</title>
		<link>http://5ise.quanxinquanyi.de/2010/08/06/requirements-traceability-for-eclipse/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/08/06/requirements-traceability-for-eclipse/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 09:45:35 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[MDSD]]></category>
		<category><![CDATA[PMT-Processes,Methods,Tools]]></category>
		<category><![CDATA[VERDE]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=323</guid>
		<description><![CDATA[Within the publically funded research project VERDE we are implementing not only an Eclipse-based ReqIF based editor as outline in a previous blog post, but also a traceability solution, since requirements alone would be moot. There are some approaches to this in Eclipse already. The EDONA project imports requirements into a UML/SysML model profile in [...]]]></description>
			<content:encoded><![CDATA[<p>Within the publically funded research project VERDE we are implementing not only an Eclipse-based ReqIF based editor as outline in a<a href="http://5ise.quanxinquanyi.de/2010/06/10/requirements-and-eclipse-rifreqif-as-ecore-and-with-xtext/"> previous blog post</a>, but also a traceability solution, since requirements alone would be moot.</p>
<p>There are some approaches to this in Eclipse already. The EDONA project imports requirements into a UML/SysML model profile in Topcased and does some tracing in the model. However, we are going for a more generic solution, since we want to trace elements from models that may not provide extension mechanisms like UML/SysML.</p>
<p>Our traceability information has to be stored outside of the models that we want to trace. In addition, we would like to be able to trace non-EMF &#8220;items&#8221; like source code, too.</p>
<p>So the approach is to introduce a generic traceability models that stores URI of the source and target &#8220;items&#8221; together with some metadata. The exact format of the URI can depend on the semantics of the &#8220;items&#8221;, but a generic implementation for EMF is provided. We plan to use this to trace requirements to AUTOSAR elements, UML elements etc.</p>
<div id="attachment_325" class="wp-caption aligncenter" style="width: 310px"><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/Traceability.png"><img class="size-medium wp-image-325" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/Traceability-300x225.png" alt="" width="300" height="225" /></a><p class="wp-caption-text">A generic EMF based traceability solution, not only for requirements but for any artefact.</p></div>
<p>The generic implementation of the User Interface allows you to select EMF model elements and to trace these. It is then possible to add specific plugins to improve usability (e.g. add drag-and-drop requirements assignment to UML).</p>
<p>Ah, yes, it will be open source.</p>
<div id="attachment_326" class="wp-caption aligncenter" style="width: 310px"><a href="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/selection_trace.png"><img class="size-medium wp-image-326" src="http://5ise.quanxinquanyi.de/wp-content/uploads/2010/08/selection_trace-300x187.png" alt="" width="300" height="187" /></a><p class="wp-caption-text">Generic UI for traceability, integrated in Artop (AUTOSAR).</p></div>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/08/06/requirements-traceability-for-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>3</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 [...]]]></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 [...]]]></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>
		<item>
		<title>Yes, there is a place for Open Source in Automotive</title>
		<link>http://5ise.quanxinquanyi.de/2010/04/19/yes-there-is-a-place-for-open-source-in-automotive/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/04/19/yes-there-is-a-place-for-open-source-in-automotive/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 14:49:50 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=221</guid>
		<description><![CDATA[A few days ago I posted a comment on Jim Whitehurst&#8217;s article, stating my opinion that his request to make mission critical application software of the ECUs is unrealistic. So does that mean that open source software has no future in automotive? Of course not. The software of an automotive company could be divided into [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago I posted a <a href="http://5ise.quanxinquanyi.de/2010/04/04/open-source-in-automotive-embedded-software/">comment </a>on Jim Whitehurst&#8217;s article, stating my opinion that his request to make mission critical application software of the ECUs is unrealistic. So does that mean that open source software has no future in automotive? Of course not. The software of an automotive company could be divided into the following categories:</p>
<ul>
<li>Business Software (e.g. SAP, Oracle, Web Servers)</li>
<li>Development Tools (everything for the product lifecycle, i.e. requirements, design, implementation)</li>
<li>Basic Software for ECUs (i.e. the &#8220;Operating System&#8221;)</li>
<li>Application Software</li>
</ul>
<p>Obviously, for the Business Software, the automotive industry is not too different from other industries. Open source alternatives exists and are in use (like Apache Web servers etc.) to some degree.</p>
<p>The development tools are experiencing an increase of open source software through the use of Eclipse. A number of OEMs, suppliers and tool vendors are using Eclipse as a platform for standard and company specific tool development. GMF, EMF, Xtext and others are widely accepted. The commercially reliable license of Eclipse is a strong factor for the adoption of the platform. And the commitment to Eclipse starts to pour back to the open source community: The new <a href="http://www.eclipse.org/proposals/sphinx/" onclick="pageTracker._trackPageview('/outgoing/www.eclipse.org/proposals/sphinx/?referer=');">Sphinx project proposal</a> is based on a code base that was developed by the Artop members.</p>
<p>Basic Software has not played a major role in open source yet. One factor being, that there was not a widely accepted standard before AUTOSAR (yes, there was OSEK, but AUTOSAR might bring more attention). Right now, there is no established open source code base for AUTOSAR, but with everything being standardized, this might start with simple modules.</p>
<p>Application Software (your driving assistance, dynamics, enginge control) etc. will still be considered an important setting and not be easily migrated to an open source model.</p>
<p>However, open sourcing application software would probably have a small effect on quality only. Improving the development tool chain is going to yield better results. And open source offers a lot for the tool chain.</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/04/19/yes-there-is-a-place-for-open-source-in-automotive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source in automotive embedded software?</title>
		<link>http://5ise.quanxinquanyi.de/2010/04/04/open-source-in-automotive-embedded-software/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/04/04/open-source-in-automotive-embedded-software/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 12:49:05 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[Allgemeines]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=212</guid>
		<description><![CDATA[Red Hat CEO Jim Whitehurst voices his opinion that open sourcing the embedded software in automobiles would significantly increase quality in an article published in business weekly. Being an advocate of open source myself, I still think Mr. Whitehurst hasn&#8217;t done the open source community a service, because he superficially claims that open sourcing software [...]]]></description>
			<content:encoded><![CDATA[<p>Red Hat CEO Jim Whitehurst voices his opinion that open sourcing the embedded software in automobiles would significantly increase quality in an article published in <a href="http://www.businessweek.com/innovate/content/mar2010/id20100329_064567.htm" onclick="pageTracker._trackPageview('/outgoing/www.businessweek.com/innovate/content/mar2010/id20100329_064567.htm?referer=');">business weekly</a>. Being an advocate of open source myself, I still think Mr. Whitehurst hasn&#8217;t done the open source community a service, because he superficially claims that open sourcing software would solve problems, without addressing any of the issues that arise:</p>
<ul>
<li><strong>The business model: </strong>The user functions that differentiate one car from another largely depend on software. Especially in the premium segment, introducing new functionality is one of the key factors. If you introduce a new function, like night vision, you do not want to give away your investments. This is one of the core parts of the business. Mr. Whitehurst does not show explain how a new business model for the industry could look like.</li>
<li><strong>Knowledge:</strong> Software functions in automotive are extremely complex and not only require know-how in physics, engineering but also in international requlations. How big is the community that could really understand these systems and contribute?</li>
<li><strong>Testing: </strong>Mr. Whitehurst cites successful examples of open source: Firefox, php, and others. But here&#8217;s the catch: Those systems can be build and tested by anyone with a PC. Embedded software is inherently different. ECUs usually have specific hardware (different sensors) etc. To really test a system, you need a lot of hardware (including sensors and actors), you have to go to Norway in winter for cold weather testing and Dubai in summer for hot weather testing.  HIL testing is necessary. This greatly reduces the target audience.<br />
In addition, no OEM can allow you to reprogram your car and drive it on public streets.</li>
<li><strong>MBSE: </strong>Physical functions are often designed with tools like Mathlab / Simulink or Ascet / SD. Open Sourcing the generated code from those tools is next to useless. So you&#8217;d have to  open source the models, which require tools with expensive licenses to work with.</li>
<li><strong>Safety: </strong>Non of the quoted open source software is safety-relevant (how many people die if your Firefox browser crashes and is not available for 3 seconds?).  Safety relevant software has to be carefully designed, for moral and for legal reasons. So where are the references to successful open source projects with SIL (safety-integrity-levels) requirements?</li>
<li><strong>Supplier: </strong>Requesting that &#8220;Toyota should open source its software&#8221; neglects the situation of IP rights. Software is usually only written in small parts by the car manufacturers (OEM) but largely by suppliers of ECUs (e.g. Bosch, Denso).</li>
<li><strong>Kaizen and Open Source:</strong> Whitehurst implies that Kaizen for software means Open Source and that Toyota should transfer its principles of Kaizen to software. If that is so, where can we download the specifications of Toyota motors, constructions plans etc.? Kaizen obvioulsy does not mean open sourcing anything.</li>
</ul>
<p>The article quotes &#8220;Toyota acknowledged that a software glitch was to blame for braking  problems in 2010 Prius vehicles, and the company changed its braking  system software in January to address the problem.&#8221; However, if you read this article by <a href="http://www.cnn.com/2010/WORLD/asiapcf/02/04/japan.prius.complaints/index.html" onclick="pageTracker._trackPageview('/outgoing/www.cnn.com/2010/WORLD/asiapcf/02/04/japan.prius.complaints/index.html?referer=');">CNN</a>, you will see that the braking problem relates to the software for hybrid systems, which are considerably different from traditional braking. There is no proof, that this problem could have been avoided by open source.</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/04/04/open-source-in-automotive-embedded-software/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Xtext, BNF, Marte and MSCs</title>
		<link>http://5ise.quanxinquanyi.de/2010/03/12/xtext-bnf-marte-and-mscs/</link>
		<comments>http://5ise.quanxinquanyi.de/2010/03/12/xtext-bnf-marte-and-mscs/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 11:24:29 +0000</pubDate>
		<dc:creator>Andreas Graf</dc:creator>
				<category><![CDATA[DSL]]></category>
		<category><![CDATA[MDSD]]></category>

		<guid isPermaLink="false">http://5ise.quanxinquanyi.de/?p=193</guid>
		<description><![CDATA[Currently we are doing some work on the specification of non-functional properties (such as timing) in the ITEA2 VERDE project. In VERDE, the UML profile MARTE plays a major role. MARTE has a BNF-based Value Specification Language that can be used to specify, amongst other things, timing like The VSL is specified in typical BNF [...]]]></description>
			<content:encoded><![CDATA[<p>Currently we are doing some work on the specification of non-functional properties (such as timing) in the ITEA2 VERDE project. In VERDE, the UML profile MARTE plays a major role. MARTE has a BNF-based Value Specification Language that can be used to specify, amongst other things, timing like The VSL is specified in typical BNF notation</p>
<p>&lt;value-specification&gt; ::= &lt;literal&gt; | &lt;enum-specification&gt; | &lt;interval&gt; |<br />
&lt;collection&gt; | &lt;tuple&gt; | &lt;choice&gt; | &lt;expression&gt; |<br />
&lt;time-expression&gt; | &lt;obs-call-expression&gt;</p>
<p>Creating a Xtext grammar is very easy, but re-typing and manually transforming from BNF to Xtext is boring. Obviously, with a Xtext grammar for BNF, we could easily transform the MARTE BNF into a MARTE Xtext grammar and work with that. The first shot is a grammar like</p>
<p>grammar de.itemis.verde.Bnf with org.eclipse.xtext.common.Terminals</p>
<p>generate bnf &#8220;http://www.itemis.de/verde/Bnf&#8221;</p>
<p>Model:<br />
(rules+=Rule)*;</p>
<p>Rule : &#8220;&lt;&#8221;name=RULENAME&#8221;&gt;&#8221; &#8220;::=&#8221; e=Expression ;</p>
<p>Expression :<br />
el+=OredElement (&#8220;|&#8221; el+=OredElement)*;</p>
<p>OredElement:<br />
(terms+=Term)+;</p>
<p>//LineEnd: EOL+;</p>
<p>//List: Term | (t=Term l=List);</p>
<p>Term: o=OptionalExp | l=ListExp | k=KeyConstr | r=RuleCall;</p>
<p>OptionalExp:Â Â Â  &#8220;[" x=Expression "]&#8221; (mult?=&#8221;*&#8221;)?;<br />
ListExp:Â  &#8220;(&#8221; x=Expression &#8220;)&#8221; (plus?=&#8221;+&#8221;)? (mult?=&#8221;*&#8221;)? ;<br />
KeyConstr:Â  k+=Keyword (&#8220;..&#8221; k+=Keyword)? ;</p>
<p>Keyword:<br />
text=STRING;</p>
<p>RuleCall:<br />
&#8220;&lt;&#8221;ref=[Rule|RULENAME]&#8220;&gt;&#8221;;</p>
<p>terminal RULENAME : (&#8216;a&#8217;..&#8217;z'|&#8217;A&#8217;..&#8217;Z'|&#8217;-') (&#8216;a&#8217;..&#8217;z'|&#8217;A&#8217;..&#8217;Z'|&#8217;-'|&#8217;0&#8242;..&#8217;9&#8242;)* ;</p>
<p>An additional Xpand templates generates a nice Xtext grammar. Now we just have to get rid of the left recursion. As there is an algorithm for that too, we are thinking of putting that algorithm in the generator.</p>
<p>Another application could be the generation of a parser for the textual format for message sequence charts, as this definition is also available in BNF.</p>
]]></content:encoded>
			<wfw:commentRss>http://5ise.quanxinquanyi.de/2010/03/12/xtext-bnf-marte-and-mscs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
