<?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>keeping simple &#187; embedded systems</title>
	<atom:link href="http://www.yodaiken.com/category/software-engineering/embedded-systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yodaiken.com</link>
	<description>Systems software technology and business</description>
	<lastBuildDate>Sun, 01 Jan 2012 18:30:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Fukushima Robot Blog</title>
		<link>http://www.yodaiken.com/2011/10/fukushima-robot-blog/</link>
		<comments>http://www.yodaiken.com/2011/10/fukushima-robot-blog/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 20:12:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[communications]]></category>
		<category><![CDATA[embedded systems]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=1202</guid>
		<description><![CDATA[This from the IEEE is really fascinating. It is the blog of a robot operator in the Fukushima nuclear plants. Some interesting things about controls, robot handling, and durability are discussed. And, big surprise, the competence of the organization that &#8230; <a href="http://www.yodaiken.com/2011/10/fukushima-robot-blog/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This from the IEEE is really<a href="http://spectrum.ieee.org/automaton/robotics/industrial-robots/fukushima-robot-operator-diaries" target="_blank" onclick="pageTracker._trackPageview('/outgoing/spectrum.ieee.org/automaton/robotics/industrial-robots/fukushima-robot-operator-diaries?referer=');"> fascinating</a>. It is the blog of a robot operator in the Fukushima nuclear plants. Some interesting things about controls, robot handling, and durability are discussed. And, big surprise, the competence of the organization that created the disaster in the first place seems less than stunning.</p>
<p><img class="alignnone" src="http://spectrum.ieee.org/image/1911240" alt="" width="477" height="265" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2011/10/fukushima-robot-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Industrial robots state of the art</title>
		<link>http://www.yodaiken.com/2011/03/industrial-robots-state-of-the-art/</link>
		<comments>http://www.yodaiken.com/2011/03/industrial-robots-state-of-the-art/#comments</comments>
		<pubDate>Sun, 20 Mar 2011 02:34:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[nuclear]]></category>
		<category><![CDATA[robotics]]></category>
		<category><![CDATA[TEPCO]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=1148</guid>
		<description><![CDATA[During the BP Macondo leak I was struck by the enormous level of skill needed by the robot submarine operators and wondered at the apparently low level of automation available to them. But the absence of robotic equipment in the &#8230; <a href="http://www.yodaiken.com/2011/03/industrial-robots-state-of-the-art/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>During the BP Macondo leak I was struck by the enormous level of skill needed by the robot submarine operators and wondered at the apparently low level of automation available to them. But the absence of robotic equipment in the TEPCO Fukushima Daiichi facility is really even more comprehensive and more puzzling &#8211; there&#8217;s no mile of seawater to make things really challenging.  An <a href="http://news.cnet.com/8301-17938_105-20044970-1.html" onclick="pageTracker._trackPageview('/outgoing/news.cnet.com/8301-17938_105-20044970-1.html?referer=');">article </a>in CNET asks the same question.  It&#8217;s quite puzzling. And kind of a sobering reminder of consequences of Dilbert boss impulses to turn useful R&amp;D projects into PR stunts.</p>
<p>It&#8217;s not like I didn&#8217;t see doomed robotics projects in the US National Labs.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2011/03/industrial-robots-state-of-the-art/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Airbus computer and electrical problems</title>
		<link>http://www.yodaiken.com/2010/11/airbus-computer-and-electrical-problems/</link>
		<comments>http://www.yodaiken.com/2010/11/airbus-computer-and-electrical-problems/#comments</comments>
		<pubDate>Sat, 13 Nov 2010 01:53:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[security+fault-tolerance]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=1097</guid>
		<description><![CDATA[Whoops! From Aviation Week According to a bulletin issued by the U.K. Air Accidents Investigation Branch (AAIB), an electrical fault led to a series of display and control problems. These included the intermittent failure of both pilots’ electronic displays and &#8230; <a href="http://www.yodaiken.com/2010/11/airbus-computer-and-electrical-problems/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Whoops! From <a href="http://www.aviationweek.com/aw/generic/story_channel.jsp?channel=mro&amp;id=news/awx/2010/11/12/awx_11_12_2010_p0-269169.xml&amp;headline=A321%20Control%20Issues%20Prompt%20Fault%20Warning" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.aviationweek.com/aw/generic/story_channel.jsp?channel=mro_amp_id=news/awx/2010/11/12/awx_11_12_2010_p0-269169.xml_amp_headline=A321_20Control_20Issues_20Prompt_20Fault_20Warning&amp;referer=');">Aviation Week</a></p>
<blockquote><p><img class="alignleft size-full wp-image-1098" title="biggles-hodder-06" src="http://www.yodaiken.com/wp-content/uploads/2010/11/biggles-hodder-06.jpg" alt="" width="170" height="233" /></p>
<p>According to a bulletin issued by the U.K. Air Accidents Investigation Branch (AAIB), an electrical fault led to a series of display and control problems. These included the intermittent failure of both pilots’ electronic displays and the uncommanded application of left rudder trim.  [..] The crew also reported hearing “chattering” from the circuit breaker panels.  During the incident the crew flew the A321 manually, referring to the standby instruments which continued tofunction normally.  The problem was rectified after the crew switched off the No. 1 generator in response to an ‘ELEC GEN 1 FAULT’ message on the Airbus’s ECAM warning display, says the AAIB.  The cause has been traced to an electrical problem and the AAIB says that<span style="text-decoration: underline;"><span style="color: #ff0000;"> Airbus indicates that a reset of the Flight Augmentation Computer, caused by an electrical power interruption, can result in incremental offsets in rudder trim.</span></span></p></blockquote>
<p><span style="text-decoration: underline;"><span style="color: #ff0000;"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/11/airbus-computer-and-electrical-problems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toyota&#8217;s problem: hardware weenies and poor accounting practices [updated]</title>
		<link>http://www.yodaiken.com/2010/02/toyotas-problem-hardware-weenies-and-poor-accounting-practices/</link>
		<comments>http://www.yodaiken.com/2010/02/toyotas-problem-hardware-weenies-and-poor-accounting-practices/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 16:45:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[software business]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[embedded software]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[toyota]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=776</guid>
		<description><![CDATA[Jamie Kitman&#8217;s look at the twisted path Toyota followed to it&#8217;s current difficulties inspired me to think about software and money &#8211; two topics I spend way too much time thinking about. As a purely disinterested observer (ahem) it has &#8230; <a href="http://www.yodaiken.com/2010/02/toyotas-problem-hardware-weenies-and-poor-accounting-practices/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Jamie Kitman&#8217;s look at the twisted path Toyota followed to it&#8217;s <a title="kitman" href="http://http://www.gq.com/blogs/the-q/2010/02/is-toyota-the-car-industrys-tiger-woods.html" onclick="pageTracker._trackPageview('/outgoing/http_//www.gq.com/blogs/the-q/2010/02/is-toyota-the-car-industrys-tiger-woods.html?referer=');">current difficulties</a> inspired me to think about software and money &#8211; two topics I spend <a href="http://www.yodaiken.com/wp-content/uploads/2010/02/kanbanjob.jpg"><img class="alignright size-thumbnail wp-image-780" title="kanbanjob" src="http://www.yodaiken.com/wp-content/uploads/2010/02/kanbanjob-150x150.jpg" alt="" width="150" height="150" /></a>way too much time thinking about. As a purely disinterested observer (ahem) it has come to my attention, repeatedly, that manufacturing companies undervalue, underinvest in, and undertest software.  On a sales visit to a manufacturer of giant size industrial air-conditioners, I was told that some software improvements had reduced operating cost 25% but that purchasing software tools or hiring advanced consulting or top line engineers internally was out of the question. The software team was a capable enough group, but it did not contain anyone who could provide architectural perspective, help with design issues, understand tradeoffs involving OS/processor/board and so on so each project was a one-off desperate attempt to patch the existing undesign. The reason for this absence was simple: top level software engineers could not be hired for $40K/year.  The team manager sadly told me that accounting was not willing to place high value on weightless, invisible code and so the usual rules for R&amp;D for inputs to the manufacturing process gave their team nearly nothing.</p>
<p>As a visitor to Japanese auto companies 10 years ago, I was blown away by the brilliance of the industrial design and the enormous investment in that, and shocked at the software development effort &#8211; one in which the software team was clearly considered to be low status. Not that my, more limited, experience with US companies was much more impressive. In fact, it was interesting that as Japanese auto companies were reaching out to at least look at advanced control software, US companies relegated that work to the outer periphery. Of course, this was some time ago, but obviously a $100M investment in top level control software development and test at Toyota a decade ago would have been a good investment &#8211; even if they had not given any of it to <a href="http://www.yodaiken.com/wp-content/uploads/2010/02/41_07_9-Wrong-Way-Road-Traffic-Sign_web.jpg"><img class="alignleft" title="41_07_9---Wrong-Way-Road-Traffic-Sign_web" src="http://www.yodaiken.com/wp-content/uploads/2010/02/41_07_9-Wrong-Way-Road-Traffic-Sign_web-150x150.jpg" alt="" width="150" height="150" /></a>me.<a href="http://www.yodaiken.com/wp-content/uploads/2010/02/ass-is-too-small.jpg"><img class="alignright" title="ass-is-too-small" src="http://www.yodaiken.com/wp-content/uploads/2010/02/ass-is-too-small-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Once I was visiting an office products manufacturer and discussing their new project. The hardware team had chosen to use a processor for which there was no solid compiler suite, no existing strong web or network or other components etc. because it was cheap. I explained that the choice of processor was fine with us, but that our prices for providing basic RTOS support would be high due to the necessity of compensating for this environmental limitation. The team broke into a raucous argument between the software developers and the hardware engineers &#8211; with the software people basically yelling &#8220;we told you idiots!&#8221;.</p>
<p>One of the things that struck me at a Japanese auto company was how the manufacturing discipline that allowed them to make such high quality hardware was not even attempted with software. Software is still not taken seriously as a manufacturing area &#8211; and the consequences are not happy ones. See the<a title="a few billion lines of code later" href="http://cacm.acm.org/magazines/2010/2/69354-a-few-billion-lines-of-code-later/fulltext" target="_blank" onclick="pageTracker._trackPageview('/outgoing/cacm.acm.org/magazines/2010/2/69354-a-few-billion-lines-of-code-later/fulltext?referer=');"> article</a> by founders of Coverity for a great tour of the strange views tolerated within software development</p>
<blockquote><p>Do bugs matter? Companies buy bug-finding tools because they               see bugs as bad. However, not everyone agrees that bugs matter.               The following event has occurred during numerous trials. The tool               finds a clear, ugly error (memory corruption or use-after-free)               in important code, and the interaction with the customer goes               like thus:</p>
<p>&#8220;So?&#8221;</p>
<p>&#8220;Isn&#8217;t that bad? What happens if you hit it?&#8221;</p>
<p>&#8220;Oh, it&#8217;ll crash. We&#8217;ll get a call.&#8221; [Shrug.]</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/02/toyotas-problem-hardware-weenies-and-poor-accounting-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deterministic multithreading</title>
		<link>http://www.yodaiken.com/2009/08/deterministic-multithreading/</link>
		<comments>http://www.yodaiken.com/2009/08/deterministic-multithreading/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 13:00:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[software security]]></category>
		<category><![CDATA[specification]]></category>
		<category><![CDATA[controls]]></category>
		<category><![CDATA[determinism]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[non-determinism]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=505</guid>
		<description><![CDATA[An interesting paper appearing in ASPLOS proceedings provides a &#8220;deterministic&#8221; locking method Kendo enforces a deterministic interleaving of lock acquisitions and specially declared non-protected reads through a novel dynamically load-balanced deterministic scheduling algorithm. The algorithm tracks the progress of each &#8230; <a href="http://www.yodaiken.com/2009/08/deterministic-multithreading/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>An interesting paper appearing in ASPLOS proceedings provides a &#8220;deterministic&#8221; locking method</p>
<blockquote><p>Kendo enforces a deterministic interleaving of lock acquisitions and specially declared non-protected reads through a novel dynamically load-balanced deterministic scheduling algorithm. The algorithm tracks the progress of each thread using performance counters to construct a deterministic logical time that is used to compute an interleaving of shared data accesses that is both deterministic and provides good load balancing. Kendo can run on today&#8217;s commodity hardware while incurring only a modest performance cost ( <a href="http://www.gigascale.org/pubs/1883/asplos073-olszewski.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.gigascale.org/pubs/1883/asplos073-olszewski.pdf?referer=');">http://www.gigascale.org/pubs/1883/asplos073-olszewski.pdf</a>)</p></blockquote>
<p>There is similarly motivated work on Java going on at UIC: <a href="http://dpj.cs.uiuc.edu/DPJ/Home.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/dpj.cs.uiuc.edu/DPJ/Home.html?referer=');">http://dpj.cs.uiuc.edu/DPJ/Home.html</a></p>
<p>Both works refer to Lee&#8217;s paperwhich I discussed <a href="http://www.yodaiken.com/2009/02/are-threads-evil/" target="_self">earlier</a>. Nondeterministic threading is a  historical accident in computer engineering. Operating systems introduced time-sharing methods so single thread programs could be run in parallel during I/O delays and then so that multiple users could reasonably fairly share a processor and then so the OS and service programs could provide multiple services to a user at the price of slowing down user applications.  Exposing this system to users has been a mixed blessing. Certainly in the controls world, non-determinism is a dangerous fault.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2009/08/deterministic-multithreading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RTOS design and embedded system development</title>
		<link>http://www.yodaiken.com/2009/07/rtos-design-and-embedded-system-development/</link>
		<comments>http://www.yodaiken.com/2009/07/rtos-design-and-embedded-system-development/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 12:20:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[green power]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[rtos design]]></category>
		<category><![CDATA[rtos programming]]></category>
		<category><![CDATA[synchronization]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=492</guid>
		<description><![CDATA[Real-time operating systems are either a solved problem or a backwater of engineering design. Threads, semaphores, mutexes, some basic I/O, priority scheduling all of this has been more or less standardized in theÂ  POSIX 1003.13 smaller profiles (51,52) for many &#8230; <a href="http://www.yodaiken.com/2009/07/rtos-design-and-embedded-system-development/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Real-time operating systems are either a solved problem or a backwater of engineering design. Threads, semaphores, mutexes, some basic I/O, priority scheduling all of this has been more or less standardized in theÂ  POSIX 1003.13 smaller profiles (51,52) for many years. The basic programming model has not changed in years. Even FSM&#8217;s original RTOS and QNX, the two most unusual RTOS&#8217;s, are pretty similar from a programming point of view except for the split between real-time and non-real-time in our old product.Â  My suspicion is that the programming model provided by these RTOS designs can be replaced by something better mostly because I think synchronization is a painful and error prone exercise that only gets worse as systems become more complicated. On the other hand, although many of our customers really loved it, and I think it was a huge advantage, the split mode approach in the old RTLinux* was a difficult learning experience for a lot of people.</p>
<p>Consider a simple design:</p>
<ol>
<li>Task A: collect data from an Analog/Digital converter, sampling at rate 1/t seconds and filling a small buffer (1/t)*n seconds.</li>
<li>Task B:Â  Aggregate A data and produce 3 streams of processed data that are functions of the input data and some settings.</li>
<li>Task C:Â  produce control data from the processed data at an output rate of 1/t2 seconds</li>
<li>Task D: provide a secure internet port which will process requests to interrogate data, to setup data push at some rate maximum 1/t3 pushes per second and update the settings with worst case delay from arrival of input packet to reset of 1/t4 seconds.</li>
<li>Task E: operate a touch screen display that has some of the same functionality as task D</li>
</ol>
<p>That seems like it should be straightforward, but it&#8217;s not: it&#8217;s a one year project that has a 70% chance of failing. Making sure shared data is efficiently and correctly shared, validating that the scheduling and timing is ok, and optimizing for hardware limits and power are all hard.Â  And that seems wrong because there is nothing in such a project that has not been done thousands of times before.Â  As the electric power industry stumbles into modern software based control,Â  the slow development times and poor reliability of products developed under this model is a serious problem.</p>
<p>* NOTE: RTLinux is a trademark of WindRiver Systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2009/07/rtos-design-and-embedded-system-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wind River sold to Intel: more reaction</title>
		<link>http://www.yodaiken.com/2009/06/wind-river-sold-to-intel-more-reaction/</link>
		<comments>http://www.yodaiken.com/2009/06/wind-river-sold-to-intel-more-reaction/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 16:29:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[software business]]></category>
		<category><![CDATA[fsmlabs]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[rtlinux]]></category>
		<category><![CDATA[wind river]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=311</guid>
		<description><![CDATA[And like Intel, I would argue that mobile software companies are instrumental in making silicon solutions pervasive, because they tick two major check boxes: reference design and support. The hidden asset of mobile software companies Mobile embedded software companies (e.g. &#8230; <a href="http://www.yodaiken.com/2009/06/wind-river-sold-to-intel-more-reaction/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>And like Intel, I would argue that mobile software companies are instrumental in making silicon solutions pervasive, because they tick<strong> two major check boxes: reference design and support.</strong></p>
<p><strong>The hidden asset of mobile software companies</strong><br />
Mobile embedded software companies (e.g. Myriad, Access, Aplix, NXP software, Azingo) have a unique understanding of products as a hardware/software system. They understand how silicon can be leveraged, encapsulated and productised to fast-track device delivery. Beyond specific IP, these companies have the capability to build the very first product that will feature a new chipset. <strong>This is the reference design check box.</strong></p>
<p>A reference design is not a half-baked breadboard; it is a scale 1:1 device, ready to ship.</p>
<p>The absence of such capability has drained Texas Instrument, once the mobile silicon leader. Alternatively, true reference design has been instrumental in the success of Qualcomm and Mediatek.(<a title="reference design" href="http://www.visionmobile.com/blog/2009/06/hardware-is-the-future-of-mobile-software-and-vice-versa-what-intel%E2%80%99s-acquisition-of-windriver-really-means/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.visionmobile.com/blog/2009/06/hardware-is-the-future-of-mobile-software-and-vice-versa-what-intel_E2_80_99s-acquisition-of-windriver-really-means/?referer=');">cite</a>)</p>
<p>Also see<a href="http://www.yodaiken.com/2009/06/wind-river-purchased-by-intel/" target="_self"> previous note</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2009/06/wind-river-sold-to-intel-more-reaction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wind River purchased by Intel</title>
		<link>http://www.yodaiken.com/2009/06/wind-river-purchased-by-intel/</link>
		<comments>http://www.yodaiken.com/2009/06/wind-river-purchased-by-intel/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 01:19:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[handset]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[software business]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[Add new tag]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[wind river]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=306</guid>
		<description><![CDATA[If anything, Wind River&#8217;s inability to breakout, despite a once Microsoft-like position of dominance, is a by-product of their failure to meaningfully go &#8220;up the stack&#8221; and away from their historical focus on the silicon layer as a primary differentiation &#8230; <a href="http://www.yodaiken.com/2009/06/wind-river-purchased-by-intel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p><a href="http://thenetworkgarden.com/weblog/2009/06/closing-the-book-on-embedded-intel-buys-wind-river.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/thenetworkgarden.com/weblog/2009/06/closing-the-book-on-embedded-intel-buys-wind-river.html?referer=');">If anything,</a> Wind River&#8217;s inability to breakout, despite a once Microsoft-like position of dominance, is a by-product of their failure to meaningfully go &#8220;up the stack&#8221; and away from their historical focus on the silicon layer as a primary differentiation point.</p>
<p>In other words, if Wind River had enabled the next generation of Cisco and Apple killers by providing more differentiated OEM-in-a-Box offerings, ala what Google is now trying to do with Android, they would not be staring at a $900M market cap and relatively flat revenues, margins and stock price.</p></blockquote>
<p>Well, that&#8217;s an argument. Embedded is a tough beat, but Wind did not exactly set the world on fire developing new concepts and software. Intel&#8217;s history in software is not glorious either &#8211; so it&#8217;s going to be an interesting challenge for the new entity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2009/06/wind-river-purchased-by-intel/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Are threads evil? (updated)</title>
		<link>http://www.yodaiken.com/2009/02/are-threads-evil/</link>
		<comments>http://www.yodaiken.com/2009/02/are-threads-evil/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 19:18:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[rtlinux]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[formal methods]]></category>
		<category><![CDATA[parallelism]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[threads]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=220</guid>
		<description><![CDATA[This paper by Prof. Edward Lee explains something of why &#8220;threads&#8221; are such a painful abstraction.  As Prof. Lee notes, threads intrinsically create non-determinism and resource conflicts which we then attempt to &#8220;prune&#8221; via synchronization and complex tools. In an &#8230; <a href="http://www.yodaiken.com/2009/02/are-threads-evil/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This <a title="evil threads" href="http://www.yodaiken.com/references/threadsareevil.pdf" target="_blank">paper </a>by Prof. Edward Lee explains something of why &#8220;threads&#8221; are such a painful abstraction.  As Prof. Lee notes, threads intrinsically create non-determinism and resource conflicts which we then attempt to &#8220;prune&#8221; via synchronization and complex tools. In an <a href="http://www.yodaiken.com/papers/sync.pdf">earlier note</a>, I argued that we should design real-time multi-threaded applications to minimize the need for synchronization, but Prof. Lee goes further to point out that the thread model itself encourages a disorganized program structure.  Along those lines, one of the basic difficulties in real-time application design is non-deterministic resource allocation. How can we ever be sure that, for example, a multi-threaded app where threads can allocate memory has sufficient memory for critical threads to proceed?</p>
<p>I&#8217;m not a fan of the &#8220;algebraic&#8221; <a title="Tagged Signal Model" href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-31.pdf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.eecs.berkeley.edu/Pubs/TechRpts/2005/EECS-2005-31.pdf?referer=');">tagged model</a> that Lee suggests as an alternative &#8211; too much of the flavor of &#8220;formal methods&#8221; via the denotational semantics base.  In fact, Liu&#8217;s thesis, referenced here, struggles mightly with the unsatisfactory nature of the mathematical framework to get somewhere. Do we really have to create lemmas about posets to describe 2 simple processes? It seems to me that the confusion of the underlying mathematical basis has to be resolved before we can figure this out. Or maybe not.</p>
<p>Consider a really dumb system that keeps a &#8220;gain&#8221; variable, outputs a single analog voltage, and inputs both an input signal and &#8220;messages&#8221; that tell it what to do. The input events can be thought of as samples of the analog signals on the &#8220;pins&#8221;.</p>
<p>Inputs are maps: Pins -&gt; Signals  where each input represents one unit of time and the set Pins contains &#8220;Vin&#8221; and some unknown number of pins (which may not be actual physical pins) comprising the message port.</p>
<p>Given a sequence of inputs, w, we suppose we have a function LastGain(w) that extracts the value of gain we were told to set in the most recent message and SinceLastCommand(w) that counts samples (time units) since the last command message.  Let&#8217;s be more specific on the &#8220;Vin&#8221;</p>
<p>LastVin(wa) = a(Vin).</p>
<p>StableVin(wa) = (1+ StableVin(w))*[a(Vin) ==Â  LastVin(w)]Â  where [exp] is 1 if exp is true and 0 otherwise</p>
<p>StableVin(emptysequence)=0</p>
<p>Then we can require that Dev(w)= g*v if</p>
<p>StableVin(w)&gt;= t1 and v=LastVin(w)</p>
<p>and g=LastCommand(w) and SinceLastCommand(w) &gt;= t2</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2009/02/are-threads-evil/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OSIM Madrid and Value Manifolds</title>
		<link>http://www.yodaiken.com/2007/09/osim-madrid-and-value-manifolds/</link>
		<comments>http://www.yodaiken.com/2007/09/osim-madrid-and-value-manifolds/#comments</comments>
		<pubDate>Sun, 23 Sep 2007 01:11:55 +0000</pubDate>
		<dc:creator>yodaiken</dc:creator>
				<category><![CDATA[communications]]></category>
		<category><![CDATA[embedded systems]]></category>
		<category><![CDATA[handset]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[real-time]]></category>
		<category><![CDATA[rtlinux]]></category>
		<category><![CDATA[software business]]></category>
		<category><![CDATA[software engineering]]></category>

		<guid isPermaLink="false">http://yodaiken.com/?p=106</guid>
		<description><![CDATA[Spent a couple of very interesting days at the OSIM conference in Madrid as part of my consulting for WindRiver which has a very powerful market position in cellular handsets now &#8211; partly due to their acquisition of RTLinux for &#8230; <a href="http://www.yodaiken.com/2007/09/osim-madrid-and-value-manifolds/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.yodaiken.com/images/goya_charles.jpg" title="Goya family of charles 3" alt="Goya family of charles 3" align="right" height="291" width="357" />Spent a couple of very interesting days at the <a href="http://www.osimconference.com/" title="OSIM Madrid" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.osimconference.com/?referer=');">OSIM conference in Madrid</a> as part of my consulting for WindRiver which has a very powerful market position in cellular handsets now &#8211; partly due to their acquisition of RTLinux for embedded last January.  Interesting to see these companies negotiate the vast complexity of the technology being deployed in handsets and the equally complex picture of software intellectual property and the famous &#8220;value line&#8221; &#8211; which really has way too many dimensions to be reduced to a line and should be renamed the &#8220;value manifold&#8221;.  Both Trolltech and Funambol touted dual-license models where the some feature of the open source product pushes possible customers to buy non-open source licenses.  You could cynically characterize these models as &#8220;we get free market presence and the people who violate the license would have stolen the software anyway.&#8221;  Pragmatic.  People from Gnash were advocating a pure open source model on the old fashioned &#8220;sell services&#8221; plan &#8211; claiming that the embedded flash environment was so fractured and that services were needed for many projects.  In both these cases:   my understanding may differ from their understanding, so please don&#8217;t ascribe my opinions to anyone else.</p>
<p>From my point of view, a large part of the evolution in this market has been a painful and expensive process of learning that chip and device companies and operators cannot cost effectively dabble in the operating system business when the devices get to the current level of sophistication.</p>
<p>(painting above by Goya shows management of very large multinational who made a lot of bad decisions. This painting is in Madrid, but has little to do with the OSIM conference exactly.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2007/09/osim-madrid-and-value-manifolds/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

