<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5644053343415781270</id><updated>2012-01-26T14:29:10.531+01:00</updated><category term='AUTOSAR'/><category term='Meego'/><category term='Project Management'/><category term='Infotainment systems'/><category term='Model-based development'/><category term='Software engineering conferences'/><category term='GENIVI'/><category term='Software architecture reference material'/><category term='Bad programming'/><category term='Standardised software architecture'/><category term='My presentations'/><category term='Architectural knowledge'/><category term='Architecture for Small Systems'/><category term='Automotive software'/><category term='Software engineering practices'/><category term='My research'/><category term='Volvo electrical system'/><category term='Open source software'/><category term='Architecture Business Cycle'/><category term='My teaching'/><title type='text'>Managing Automotive Software Architectures</title><subtitle type='html'>A blog related to my research about software architecture and the applications for the automotive industry.&lt;br&gt;
I am doing my PhD in the Software Engineering Division at &lt;a href="http://www.chalmers.se/cse/EN/"&gt;the department of Computer Science &amp;amp; Engineering at Chalmers University of Technology&lt;/a&gt; in Sweden, while still being employed by &lt;a href="http://www.volvocars.com"&gt;Volvo Car Corporation&lt;/a&gt;.&lt;br&gt;
&lt;br&gt;
&lt;i&gt;Ulrik Eklund&lt;/i&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default?start-index=101&amp;max-results=100'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>156</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-996944978881978823</id><published>2012-01-26T14:29:00.000+01:00</published><updated>2012-01-26T14:29:10.536+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><title type='text'>Writing user stories</title><content type='html'>The blog is updated very seldom nowaays. It is not becaus I have lostinterst, it is just that I wite scientefic articles with an unprecedented speed in parallele with doing improvement work at Volvo.&lt;br /&gt;&lt;br /&gt;I just wanted to put in a remindre of how you define a user story (e.g. for use in a Scrum backlog), shamelessly stolen from a &lt;a href="http://scalingsoftwareagility.files.wordpress.com/2010/08/agile-software-requirements-agile-denver-pptx.pdf"&gt;presentation by Dean Leffingwell&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;As a &amp;lt;role&amp;gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;I can &amp;lt;activity&amp;gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;So that &amp;lt;business value&amp;gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;"As a Gmail user, I can select and highlight a conversation for further action"&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-996944978881978823?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/996944978881978823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=996944978881978823&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/996944978881978823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/996944978881978823'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2012/01/writing-user-stories.html' title='Writing user stories'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3619260082087237551</id><published>2011-12-17T09:53:00.002+01:00</published><updated>2011-12-27T14:40:19.038+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Keeping it in one’s head</title><content type='html'>A friend of mine recommended this text on &lt;a href="http://swizec.com/blog/why-programmers-work-at-night/swizec/3198"&gt;why programmers work at night&lt;/a&gt;. Entertaining but still true.&lt;br /&gt;&lt;br /&gt;But the blog post referenced&amp;nbsp; another interesting &lt;a href="http://paulgraham.com/head.html"&gt;text written by Paul Graham about the necessity of holding a program in one’s head to&lt;/a&gt; be an outstanding programmer. I couldn’t agree more with that he says. I also agree with the corollaries that it is detrimental to treat developers as interchangeable parts in an organisation.&lt;br /&gt;&lt;br /&gt;But what got me thinking was the fact that an architect must keep an entire system in the head. Where the programmer has the code as something tangible to base this mental model upon the architect has at best an abstract model and at worst only her own internal representation. &lt;br /&gt;So for an architecture to be successful it both seems to be necessary that there is somebody who has the ability to internalise and reason about an entire system, and that the mental representation is possible to grasp in it’s entirety with (at least) one single mind. There are probably a lot of systems out there that fulfils neither….&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3619260082087237551?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3619260082087237551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3619260082087237551&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3619260082087237551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3619260082087237551'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/12/keeping-it-in-ones-head.html' title='Keeping it in one’s head'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3725564587243055940</id><published>2011-11-21T11:04:00.001+01:00</published><updated>2011-11-21T14:09:09.873+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>More on-line lectures on software architecture</title><content type='html'>I was discussing with one&amp;nbsp;of my colleagues at the department if there were any introductory or summary presentations on-line about software architecture. I have already &lt;a href="http://automotive-sw-architecture.blogspot.com/2009/12/on-line-lectures-on-software.html"&gt;listed some on-line lectures about software archtiecture in the blog&lt;/a&gt;, but a quick search revelad some interesting ones:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://vimeo.com/10073301"&gt;An Introduction to Software Architecture and the Risk-Centric Model&lt;/a&gt; by George Fairbanks. George is a an excellent lecturer and has written &lt;a href="http://www.rhinoresearch.com/book"&gt;one of the best books available on software architecture&lt;/a&gt;. If you have the oportunity to discuss with him, take it. Too bad the sound is so bad in this video clip.&lt;/li&gt;&lt;li&gt;&lt;a href="http://vimeo.com/26745880"&gt;Conscious Software Development: Architecture&lt;/a&gt; with Jeff Mckenna. Why not look through all parts in the series while you are at it?&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=iKiQpfBNa9Q"&gt;Software Architecture Document&lt;/a&gt; by Philippe Back. I don't know who this guy is, but he manages to convey a lot of essentials in 12 minutes&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sei.cmu.edu/library/webinars.cfm"&gt;SEI has a number of webinars related to software architecture.&lt;/a&gt; Unfortunately I can't get them to play on my computer, maybe you can?&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=RzU8A665iS4"&gt;Out and About: Software Architecture&lt;/a&gt; with Simon Brown. A short clip with a view on what a developer needs to do to be an architect.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.5min.com/Video/Considering-a-Software-Architect-Career-285103632"&gt;Considering a Software Architect Career&lt;/a&gt; by Marc Ferrentino. A very short clip on what skills you need if becoming an architect.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3725564587243055940?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3725564587243055940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3725564587243055940&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3725564587243055940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3725564587243055940'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/11/more-on-line-lectures-on-software.html' title='More on-line lectures on software architecture'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-5059330307147216206</id><published>2011-11-18T16:11:00.000+01:00</published><updated>2011-11-18T16:11:46.759+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><category scheme='http://www.blogger.com/atom/ns#' term='Infotainment systems'/><title type='text'>MeeGo is out, what is in?</title><content type='html'>There has been some turmoil in the world of infotainment platforms. &lt;a href="http://www.engadget.com/2011/09/28/meego-to-be-folded-into-linux-based-tizen-os-slated-to-arrive-i/"&gt;Intel has left Meego and have partnered with Samsung in Tizen&lt;/a&gt;. This just a few months after &lt;a href="https://meego.com/community/blogs/rudolfstreif/2011/meego-ivi-achieves-genivi-compliance"&gt;Meego 1.2 vas deemed GENIVI compliant&lt;/a&gt;.&amp;nbsp;I have no idea if Tizen aims to be GENIVI compliant as well. But &lt;a href="http://www.genivi.org/compliant-products"&gt;there are already some commercial platforms that are GENIVI compliant&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have been involved in the Open Infotainment Labs, a project patially funded by VINNOVA aiming att evaluating radically different work methods compared to standard practice at most car manufacturers. We integrated the system in a car this week, 16 weeks after start of development.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-5059330307147216206?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/5059330307147216206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=5059330307147216206&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5059330307147216206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5059330307147216206'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/11/meego-is-out-what-is-in.html' title='MeeGo is out, what is in?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4460114830800402267</id><published>2011-11-14T08:55:00.001+01:00</published><updated>2011-11-15T15:11:48.480+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='AUTOSAR'/><category scheme='http://www.blogger.com/atom/ns#' term='Open source software'/><title type='text'>AUTOSAR as open source</title><content type='html'>This might be the coolest thing I have seen so far: There exist an &lt;a href="http://arccore.com/"&gt;open source distributions of AUTOSAR&lt;/a&gt;!&lt;br /&gt;And it's local to us here in Gothenburg, should I be embarassed for not hearing about this earlier?&lt;br /&gt;&lt;br /&gt;Caveat: Note that if you intend to use AUTOSAR in a business setting you need to fulfill the conditions&amp;nbsp;according to the AUTOSAR consortium.&lt;br /&gt;After some e-mail exchange I now know that the open source AUTOSAR BSW software (ver 3.1) is available under a GPLv2-license.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4460114830800402267?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4460114830800402267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4460114830800402267&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4460114830800402267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4460114830800402267'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/11/autosar-as-open-source.html' title='AUTOSAR as open source'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-581212997094279947</id><published>2011-10-26T09:25:00.001+02:00</published><updated>2011-10-26T09:25:02.136+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Set-based architecture</title><content type='html'>&lt;p&gt;I listened to a presentation from &lt;a href="http://www.coe.montana.edu/ie/faculty/sobek/"&gt;Durward K. Sobek&lt;/a&gt; II about &lt;a href="http://6sigma.mty.itesm.mx/Toyotas.pdf"&gt;set-based concurrent engineering&lt;/a&gt;, which is a development paradigm(?) from lean development (more precisely from Toyota Product Development System).&lt;/p&gt; &lt;p&gt;The original principle, as I understand it, is that a designer should work with a set of design proposals towards manufacturing and in the dialogue between what is desirable (form engineering) to what is possible (from manufacturing) iteratively narrow it down to a single design. He concluded the presentation with how one would start with this in the small and the advice was to present two designs instead of a single one the next time&lt;/p&gt; &lt;p&gt;It made me thinking about how an architecture is “presented” to the stakeholders, especially the developers. would it be possible to present two architecture proposals to developers and let them identify the constraints from their perspective in narrowing it down to a single, agreed, architecture.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-581212997094279947?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/581212997094279947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=581212997094279947&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/581212997094279947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/581212997094279947'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/10/set-based-architecture.html' title='Set-based architecture'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-9046672972019243074</id><published>2011-10-06T10:35:00.001+02:00</published><updated>2011-10-06T10:35:49.230+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bad programming'/><title type='text'>Choke on cinnamon buns?</title><content type='html'>I wrote in a &lt;a href="http://automotive-sw-architecture.blogspot.com/2011/09/angry-programmer.html"&gt;previous blog post&lt;/a&gt; about that I get upset about bad programming. I stumbled upon a &lt;a href="http://javlaskitsystem.se/2011/10/20-kanelbullar-pa-en-gang-kan-vara-farligt/"&gt;prime example of bad programming from the excellent website Jävla skitsystem&lt;/a&gt; on that it was not possible to buy 20 identical cinnamon buns at 7-eleven at the same time because it crashes the cashier system and it would take 15 minutes to reboot.&lt;br /&gt;&lt;br /&gt;I don't know what is most stupid? That there is an actual limit on the amount of goods you can buy, that the system crashes without recovery if you pass this limit or the fact that it takes &lt;i&gt;15 minutes&lt;/i&gt; (!) to reboot. First I cannot understand that the programmer was so narrow-minded he/she could not imagine these situations. Second I don't understand that the company delivering the system did not catch this in their testing. What kind of procedures do they have? And this system handles money...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-9046672972019243074?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/9046672972019243074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=9046672972019243074&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/9046672972019243074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/9046672972019243074'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/10/choke-on-cinnamon-buns.html' title='Choke on cinnamon buns?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-213287876102700212</id><published>2011-10-04T09:28:00.001+02:00</published><updated>2011-10-04T09:29:12.169+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><title type='text'>First International Software Technology Exchange Workshop</title><content type='html'>&lt;a href="http://www.swedsoft.se/"&gt;Swedsoft&lt;/a&gt; arranges a workshop in Stockholm on Wednesday 23 Novemeber. It is dedicated to transfer academic results to industry. Sounds really interesting.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.swedsoft.se/?news=first-international-software-technology-exchange-workshop-2011&amp;amp;lang=en"&gt;First International Software Technology Exchange Workshop 2011&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-213287876102700212?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/213287876102700212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=213287876102700212&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/213287876102700212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/213287876102700212'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/10/first-international-software-technology.html' title='First International Software Technology Exchange Workshop'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3887197720022979965</id><published>2011-09-28T07:29:00.004+02:00</published><updated>2011-10-06T10:36:10.774+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bad programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>The angry programmer?</title><content type='html'>My wife thinks I should start another blog named "Ulriks programming nightmares". Or maybe just add another topic of this blog where I mention examples of programmed systems that aren't good. Or to be more precise, where the programmer was too lazy to do a good job, which really gets me going. Unfortunately I get upset when I see it among the students which is a bit harsh, they are here to learn after all.&lt;br /&gt;The examples I have seen so far is everything from the logic of the elevators at the university to how the booking system of SJ places people at a train. Seriously, if there are 3 reserved seats in a wagon, why must two of them be next to each other?&lt;br /&gt;Enough ranting, but is this a good idea to expand the topic of the blog with? Coming to think of it, there must already be sites like that out there. If not there should be, it is always more educational to learn from bad examples than good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3887197720022979965?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3887197720022979965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3887197720022979965&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3887197720022979965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3887197720022979965'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/09/angry-programmer.html' title='The angry programmer?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4203592852315949223</id><published>2011-09-27T21:54:00.001+02:00</published><updated>2011-09-27T21:54:00.274+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Documentation</title><content type='html'>&lt;p&gt;When it comes to documentation I am firm believer in the quote of Antoine de Saint-Exupery:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;“A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.”&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;As I see it there are a few main purposes of producing documentation:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;To convey understanding&lt;/strong&gt; - This shows my quite liberal view of documentation since I consider drawings on a white board or a napkin to be documentation. But I also consider this to be one of the most important purposes of documenting things. From a designer’s viewpoint these “documents” are vital in going from an inner vision to an operational image that can be shared by others. Common examples of documentation conveying understanding in large organisations are presentations given at various meetings. These documents can be saved for posterity, but the ability to convey understanding is much smaller for those who weren’t there. On the other hand are written documents one of the most efficient means through history to build on knowledge of others which you never had the opportunity to meet.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;To formalise agreements&lt;/strong&gt; – If there is a business agreement between two organisations it is almost inevitable not to have a more formal document detailing the technical content of the agreement, the specification. many organisations, including my own, also use documents to formalise the agreement between internal teams. Your mileage may vary how efficient this is in various organisation.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;To preserve information&lt;/strong&gt; – The human memory is not infallible. Documentation is a great support to minimise the decay that is inevitable when only relying on the human mind. Software is also about maintenance and any body who has been given the responsibility to update legacy code that is undocumented know how difficult it is (this scenario includes the purpose of understanding as well)&lt;/p&gt; &lt;p&gt;I don’t buy “the code is the documentation” at all. The code by itself does not fulfil any of the purposes above.&lt;/p&gt; &lt;p&gt;I have recently worked in a project which solely relied on &lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; to capture all information relevant to the project (except finances). I am positively surprised how much you can achieve with so little formal documentation in combination with having everything in the same place available for everybody in the project. I will try to do a more formal evaluation according to the purposes above when the project is near it’s end.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4203592852315949223?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4203592852315949223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4203592852315949223&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4203592852315949223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4203592852315949223'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/09/documentation.html' title='Documentation'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8983954631119333387</id><published>2011-09-20T10:17:00.000+02:00</published><updated>2011-09-20T10:17:52.972+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>When to decide?</title><content type='html'>I have recently experienced several occasions where people want to decide things as early as possible in a project. This seems to be based on previous experiences that this was difficult in the last project and we want to eliminate things to worry about late in the project since there will be new things to worry about then anyway. So why not solve the major problems you are aware about anyway?&lt;br /&gt;&lt;br /&gt;I&amp;nbsp;think this kind of thinking is detrimental for the success of the project, especially if the decision influences the architecture (Grady Booch said something like "the architectural decisions are those costly to change").&lt;br /&gt;If one looks at the reason the problems came up in the first place it is usually things like the implications (especially technical) of the decisions was not fully understood, the requirements were not suitable, or my personal nightmare that my team will not suffer any consequences whatever the outcome so why not decide this now...&lt;br /&gt;&lt;br /&gt;If one has superficial understanding of the consequences or if the requirements are unstable it is a better strategy to postpone the decision as late as possible, and also delegate it to those who are most affected/concerned. But this means you and your organisation is comfortable with living with uncertainty. Which may be very difficult depending on the culture or the organisation. For example if all of your project revolves around a stage-gate process (very common in the automotive industry) it really does not fly well to say "let's postpone this decision for another 6 months and make progress with what we can".&lt;br /&gt;&lt;br /&gt;It may sound I ampreaching the agility gospel, but that is not the case. I have full understanding that once you have made an architectural decision you don't want to change it. I just want to argue for the heuristic that you should not decide something because you can, postpone it to when you have make it.&lt;br /&gt;And as a consequence I really dislike when you have to decide things just to feed the process, especially if the process is very slow to change.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8983954631119333387?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8983954631119333387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8983954631119333387&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8983954631119333387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8983954631119333387'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/09/when-to-decide.html' title='When to decide?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-2219211114571561489</id><published>2011-06-30T13:45:00.000+02:00</published><updated>2011-06-30T15:32:59.134+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>WICSA 2011</title><content type='html'>&lt;p&gt;I was at &lt;a href="http://www.wicsa.net/"&gt;WICSA&lt;/a&gt; last week. I am a lousy trendspotter, but here is what I have seen as “trends” so far:&lt;/p&gt; &lt;p&gt;There seems to be several efforts, especially on the tool side, that focuses on capturing and navigating architectural information. Is this a sign that architecture information is getting bigger and bigger and is distributed among different sources/artefacts? I thought one of the tangible deliverables from an architect was a comprehensive documentation/model/wiki/whatever with architecture information. As a contrast there wa a tutorial the last day by George Fairbanks on writing a 1-page architecture document. I would say this was a highlight of the conference, to bad most people had gone home by then.&lt;/p&gt; &lt;p&gt;In general it seems architects are more aware of the need to adopt to agile development. I don’t think there is any contradiction, contrary I believe that it is necessary for agile developers to be more aware of “architectural thinking” and what benefits there is of having an explicitly defined architecture. But I do agree that often architecture is the same as Big Upfront Design. At the panel debate I understood better the historical background; many of the originators of the agile manifesto were active developers already in the late eighties and nineties when a lot of focus where on software design. people who started as developers in the last decade don’t have that background and think that the last years focus on process is all that is necessary for developing good software.&lt;/p&gt; &lt;p&gt;There was some discussions&amp;nbsp; on architecture-based testing (this is a good strategy to define a new research area, combine two or more buzzwords), but it was confusing. some people seemed to mean an architecture where it was easy to verify the quality attributes it was designed to achieve. others seemed to mean an architecture for a systems that was easy to test for testers. I like the latter better, and hope there will emerge more patterns for this than the general patterns of encapsulation etc.&lt;/p&gt; &lt;p&gt;Compared to the last WICSA in 2009 I think the acceptance rate was much higher, above 40%. I think this could be one explanation to why some papers had a rather weak scientific methodology. One other thing I did not like at all were some studies based on industrial practice where the results were too polished. if you present a case study you should include all the small (and big) problems that occur in real settings, otherwise the cases are not of more interest than textbook examples.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-2219211114571561489?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/2219211114571561489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=2219211114571561489&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2219211114571561489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2219211114571561489'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/06/wicsa-2011.html' title='WICSA 2011'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4470039810203269013</id><published>2011-06-21T13:42:00.000+02:00</published><updated>2011-06-21T13:42:02.355+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Reference architecture, what is it?</title><content type='html'>I am at &lt;a href="http://www.wicsa.net/"&gt;WICSA 2011&lt;/a&gt; and the words  “reference architecture” come up now and then in discussions. I am not sure I  like &lt;a href="http://en.wikipedia.org/wiki/Reference_architecture"&gt;the  definition in Wikipedia&lt;/a&gt;, I think relies too much that you already have  knowledge or experience of a reference architecture.&lt;br /&gt;One simile (parable?) would be to a &lt;a href="http://en.wikipedia.org/wiki/Building_code"&gt;building code&lt;/a&gt;, a set or  rules that underlie the actual architecture and construction of a house. The  architect is free to build any type of house, as long as the code is adhered  to.&lt;br /&gt;But I like to use cooking as an example. A recipe is like an architecture,  when you actually cooks the recipe and serve it is the implementation of  software. You need to do certain things that are implementation specific, like  tasting to see if the amount of salt suits your taste etc, and maybe you need to  double all the ingredients to fit your&amp;nbsp; dinner party.&lt;br /&gt;Julia Child writes in her book &lt;a href="http://en.wikipedia.org/wiki/Mastering_the_Art_of_French_Cooking"&gt;Mastering  the Art of French Cooking&lt;/a&gt; that there are 6 principal ways to make a sauce,  one being an emulsion of melted butter with egg yolks, which is common the  common method for béarnaise, hollandaise and choron sauces. The type of emulsion  is similar to a pattern while the three different recipes are designs.&lt;br /&gt;For a restaurant; a product line architecture would be the menu they have  based on the ingredients they stock, for example chicken could be used in more  than one dish.&lt;br /&gt;So what is a reference architecture for a restaurant? It would be the “rules”  that guides and controls what is possible or desirable. It could be for example  driven by the business domain, e.g. it should focus on French or Hunan cuisine.  Woking as a “development method” would not be relevant in the former, but  certainly in the latter.&lt;br /&gt;Or it could be driven what is technically possible, e.g if the kitchen has no  deep fryer it is impossible to for example make french fries.&lt;br /&gt;Or there could be other restrictions, such a desire to only use locally  produced ingredients.&lt;br /&gt;Maybe I went to far with this simile (parable)?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4470039810203269013?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4470039810203269013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4470039810203269013&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4470039810203269013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4470039810203269013'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/06/reference-architecture-what-is-it.html' title='Reference architecture, what is it?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total><georss:featurename>Boulder, Colorado, USA</georss:featurename><georss:point>40.0149856 -105.27054559999999</georss:point><georss:box>39.9497446 -105.33232609999999 40.0802266 -105.2087651</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-933619350016311778</id><published>2011-05-25T21:50:00.002+02:00</published><updated>2011-05-25T21:54:48.554+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software architecture reference material'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Architectural views in practice</title><content type='html'>My research is not really focused on identifying the “best” architectural views for in-vehicle software. But as a side effect to the studies I am presently doing I got to think about three views that could actually make a difference in how well large projects succeeds (or fails). I have thought about the need of addiitonal views, but cannot think of an immediate need of more.&lt;br /&gt;&lt;br /&gt;Integration is always an in issue in large projects that has some form of iterative development. With the increasing inter-dependencies between various parts of the system it is almost impossible to know what should be integrated when, for example what can actually be tested. There actually is already an architectural view defined that addresses this concern, the anatomy. I would describe the anatomy as visualisation of the complete system seen from an integration perspective, for example if a feature depends on a MOST interface it is no use to test it if the interface is not implemented. The visual picture means everybody should have the same understanding of the “. &lt;br /&gt;The anatomy should dictate the order of development, delivery schedules and integration order. And the progress should be measured in how much of the anatomy is implemented, not in customer features. There is a relationship between customer features and the anatomy, but it is not one-to-one. you can read more about &lt;a href="http://www.neana.se/ICD.pdf"&gt;“Integration Centric Development and Anatomies” in a PowerPoint presentation&lt;/a&gt; or the article “&lt;a href="http://www.vits.org/publikationer/dokument/522.pdf"&gt;Manifesting Shared Affordances in System Development – the System Anatomy&lt;/a&gt;” by L. Taxén and J. Lilliesköld.&lt;br /&gt;&lt;br /&gt;The second view is the systems view, i.e. how the complete system is decomposed in smaller parts. I prefer to see this view as equivalent to the development view in &lt;a href="http://en.wikipedia.org/wiki/4%2B1"&gt;Kruchten’s 4+1 views&lt;/a&gt;, i.e. it is aligned with the development teams. One can discuss if the system decomposition follows the organisation, as predicted by &lt;a href="http://en.wikipedia.org/wiki/Conway%27s_Law"&gt;Conway’s law&lt;/a&gt;. The other extreme is that the development teams follow the most “logical” decomposition, i.e. ECUs, which is the most common unit to be outsourced to suppliers in the automotive domain. &lt;br /&gt;&lt;br /&gt;The functional content of a vehicle is often defined by a list of customer features, which can be quite long, and this in itself can be considered an architectural view that concerns for example the business project, the marketing department and the end customer.&lt;br /&gt;What is important for the development project is the relationship between this feature list and the two other views, i.e. what systems/development teams are responsible to implement the features and how the features relate to the anatomy. I don't know if these two relationships/mapping between views should be considered as separate views, which would make the total number of views 3+2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-933619350016311778?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/933619350016311778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=933619350016311778&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/933619350016311778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/933619350016311778'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/05/architectural-views-in-practice.html' title='Architectural views in practice'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3789704032870709128</id><published>2011-04-08T22:34:00.000+02:00</published><updated>2011-04-08T22:34:57.841+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>What is a "good" architecture?</title><content type='html'>Hopefully you recognise it when you see it...&lt;br /&gt;&lt;br /&gt;I believe every system has an architecture, documented or not, and intended or not. So I think it is reasonable to discuss if the architecture of a system is good or not, and that the question if the architecture description is good is a different, but related question.&lt;br /&gt;&lt;br /&gt;So what criteria could you use to establish if an architecture is good? Is it suitable for it's purpose is a more precise question? But this probably differs depending on the stakeholder, a system could be very nice and intuitive for the user, but very difficult to develop and maintain for the developers. In the rest of this blog post I will writing about goodness from a developer perspective (including the architect, if one is involved).&lt;br /&gt;&lt;br /&gt;I think there are different levels of how well the architecture suits it's purpose to guide and control the implementation.&lt;br /&gt;&lt;br /&gt;The ideal level is where the developer understands the architecture and following the architecture is the obvious way to implement something. Doing it differently is seen as more difficult and less elegant.&lt;br /&gt;&lt;br /&gt;The next level is where the developer understands the architecture, is able to follow it on her own and can evaluate if the implementation follows the architecture or not. The developer also understands the "debt" that would occur if she deviates from the architecture, for example in terms of compromising some quality attributes. At both this and the previous level the developer can contribute to the design of the architecture itself, and an appointed architect doing the design may not always be necessary.&lt;br /&gt;&lt;br /&gt;The developer may need continuous support from the architect to be able to understand the architecture when working. This is very common and requires more work and puts limits on the the ratio between the number of architects and developers in large projects.&lt;br /&gt;&lt;br /&gt;The worst level is where the developer cannot understand the architecture and the only one that can determine if the implementation follows the architecture is the architect by reviews. This is very work intensive on the part of the architect. The architect is also viewed as a police that interferes with the developers rather than supporting them.&lt;br /&gt;&lt;br /&gt;I have worked at all this four levels in various projects, and I think that you need to be on the upper two if you talk about a good architecture from a developer perspective. I also think that if you want to be truly agile in a self-organising team it is at the two top levels you nee to be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3789704032870709128?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3789704032870709128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3789704032870709128&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3789704032870709128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3789704032870709128'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/04/what-is-good-architecture.html' title='What is a &quot;good&quot; architecture?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1442667018195935339</id><published>2011-03-21T15:10:00.000+01:00</published><updated>2011-03-21T15:10:42.956+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><title type='text'>Embedding Linux for an Automotive Environment</title><content type='html'>I thought this presentation was interesting enough to share, even if i have absolutely nothing to do with it: &lt;a href="http://fscons.org/2010/embedded/embedding-linux-automotive-environment"&gt;Embedding Linux for an Automotive Environment&lt;/a&gt;. I guess you need to have a thorough understanding of Linux to understand how the optimisations were implemented.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/21110303"&gt;You can watch a videorecording of the talk as well.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1442667018195935339?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1442667018195935339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1442667018195935339&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1442667018195935339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1442667018195935339'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/03/embedding-linux-for-automotive.html' title='Embedding Linux for an Automotive Environment'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-613646432456477246</id><published>2011-02-23T13:06:00.003+01:00</published><updated>2011-08-15T18:21:51.856+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Software architecture reference material'/><title type='text'>Jävla skitsystem!</title><content type='html'>Pardon the Swedish!&lt;br /&gt;&lt;br /&gt;The heading is actually the title of a Swedish &lt;a href="http://javlaskitsystem.se/om/"&gt;book about how people can be stressed in a digital working environment&lt;/a&gt;. I think this is one of the most important books written about IT-systems and the problems they can bring on a personal level for the people who are forced to using them. Too bad is is not translated to English (yet?).&lt;br /&gt;It is not a technical book, the primary audience are people using IT systems, secondly it is targeted at people planning and buying IT systems. It systematically lists 8 major stress factors and what can be done about them. Not all are caused by ignorant developers...&lt;br /&gt;I think it is very valuable to read for people developing systems, so much I would make it mandatory reading for students in software engineering, if only it was published in English. &lt;a href="http://javlaskitsystem.se/english/"&gt;There is some information in English, including a short slide presentation.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://javlaskitsystem.se/bestall/"&gt;You can buy the book directly at the website&lt;/a&gt; or at major Swedish online bookstores.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-613646432456477246?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/613646432456477246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=613646432456477246&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/613646432456477246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/613646432456477246'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/02/javla-skitsystem.html' title='Jävla skitsystem!'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6477339991118825416</id><published>2011-02-22T16:25:00.000+01:00</published><updated>2011-02-22T16:25:46.104+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>You tend to favour the solutions you are familliar with...</title><content type='html'>When I talk to students about the role of the architect&amp;nbsp;I always make a point of the architect must know when &lt;em&gt;not&lt;/em&gt; to use a particular solution/pattern/style (the old "Kill your darlings"). Regardless of this I have seen examples when an entire class thinks that a &lt;a href="http://en.wikipedia.org/wiki/Multitier_architecture"&gt;3-tier architecture&lt;/a&gt; is the best solution in a project because they took a course on databases the previous semester.&lt;br /&gt;Likewise, when&amp;nbsp;I talked about &lt;a href="http://en.wikipedia.org/wiki/Software_component"&gt;component-based architectures&lt;/a&gt; in a lecture and gave examples based on &lt;a href="http://en.wikipedia.org/wiki/AUTOSAR"&gt;AUTOSAR&lt;/a&gt;, a lot of students thought that components was the thing, even if it complicated the solution for the developers and the benefits with components was not really relevant in the student &amp;nbsp;project.&lt;br /&gt;&lt;br /&gt;This is not surprising since I am talking about students with limited experience to various problems encountered when developing real systems. But I also think this is a problem for professional developers as well, including myself. We tend to stick to what we know and don't reflect if what we know actually makes things worse than better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6477339991118825416?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6477339991118825416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6477339991118825416&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6477339991118825416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6477339991118825416'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/02/you-tend-to-favour-solutions-you-are.html' title='You tend to favour the solutions you are familliar with...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-596832188942217816</id><published>2011-02-14T18:34:00.003+01:00</published><updated>2011-02-15T09:28:24.885+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Meego'/><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='Infotainment systems'/><category scheme='http://www.blogger.com/atom/ns#' term='GENIVI'/><title type='text'>Infotainment systems news</title><content type='html'>I have been more involved in development of infotainment systems this year. BMW demonstrates what they call &lt;a href="http://www.bmw.com/com/en/insights/technology/connecteddrive/overview.html"&gt;ConnectedDrive&lt;/a&gt; and Ford updates their Sync system to what they call &lt;a href="http://www.ford.com/technology/sync/myfordtouch/"&gt;myFord Touch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Compared to the amount of information at the links above there is very little about the comparable &lt;a href="http://www.volvocars.com/us/sales-services/sales/soundandnavigation/pages/volvo-sensus.aspx"&gt;2010 Volvo infotainment system&lt;/a&gt; at the &lt;a href="http://www.volvocars.com/"&gt;official Volvo website&lt;/a&gt;. Note that the BMW is just a concept vehicle, while the Volvo system in in production, and still has less information about it on the web.&lt;br /&gt;&lt;br /&gt;When the car gets connected, it also gets exposed: &lt;a href="http://social.telematicsupdate.com/industry-insight/telematics-and-security-protecting-connected-car"&gt;Telematics and security: Protecting the connected car&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Therer are some interesting news about some major players as well: &lt;a href="http://www.nokia.com/press/press-releases/showpressrelease?newsid=1488007"&gt;Nokia announce a strategic partnership with Microsoft on 11 February&lt;/a&gt;. I have no idea how this will affect &lt;a href="http://meego.com/"&gt;Meego&lt;/a&gt; and &lt;a href="http://www.genivi.org/"&gt;GENIVI&lt;/a&gt;. Time will tell...&lt;br /&gt;On the other hand there was a lot of &lt;a href="http://www.sae.org/mags/SVE/9350"&gt;activity around GENIVI at the Consumer Electronics Show in Las Vegas&lt;/a&gt;. And &lt;a href="http://www.techdrivein.com/2010/09/genivi-open-source-in-vehicle.html"&gt;GENIVI is based on Meego&lt;/a&gt;...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-596832188942217816?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/596832188942217816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=596832188942217816&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/596832188942217816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/596832188942217816'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/02/infotainment-systems-news.html' title='Infotainment systems news'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8573042127186161278</id><published>2011-02-01T10:54:00.002+01:00</published><updated>2011-02-02T19:40:38.288+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Research in software engineering</title><content type='html'>Researching software engineering is to study the artificial. Other engineering disciplines have "truths" that exist even if no humans are involved. The laws of physics that determine what is possible in mechanical and civil engineering are there regardless if applied when constructing a particular building.&lt;br /&gt;Because of this I strongly believe that research in software engineering must be based on what practitioners do. I started to write professionals, but realised that a lot of important stuff in the world of software are actually made by amateurs (in the sense they are not getting paid to do it). And I also think research methods from the social sciences can provide great insights into software engineering.&lt;br /&gt;&lt;br /&gt;A &lt;a href="http://www.chalmers.se/cse/SV/personal/staron-miroslaw"&gt;colleague of mine&lt;/a&gt; said that a good researcher in software engineering should have three base pillars to stand on:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A good knowledge of real problems that practitioners have&lt;/li&gt;&lt;li&gt;An interest in developing solutions to these problems&lt;/li&gt;&lt;li&gt;Knowledge and experience in evaluating the solutions in practical (real) settings&lt;/li&gt;&lt;/ol&gt;I have previously written about &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/09/why-i-dont-like-formal-methods.html"&gt;why I don't like formal methods&lt;/a&gt;. I think this is an example of where researchers tend to focus on the appealing solutions without a strong foundation in practitioner's problems or a thorough evaluation in practical settings. The most interesting solutions to investigate from a researcher's perspective are not always related to the most critical problems.&lt;br /&gt;&lt;br /&gt;A short litmus test to discern if a researcher has enough experience of practical problems:&lt;br /&gt;Describe the difference between a software process and a software project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8573042127186161278?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8573042127186161278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8573042127186161278&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8573042127186161278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8573042127186161278'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/02/research-in-software-engineering.html' title='Research in software engineering'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6400591232196629418</id><published>2011-01-16T14:52:00.005+01:00</published><updated>2011-01-17T14:09:24.021+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><title type='text'>Development tools</title><content type='html'>I think you should select the tool that supports the way you are working, not the other way around. This is one of the reasons I think tool discussions usually focus on the wrong thing. They tend to get very long-winded and troublesome since the underlying process is not clear or decided.&lt;br /&gt;However if you are a small team, I think the following tools are of use to you regardless of what process you are using (the version control software are useful for any project size). Many of my students seem to use them when they are doing project work.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.versionone.com/"&gt;Version One&lt;/a&gt; Team edition - A free tool that supports managing agile software development.&lt;/li&gt;&lt;li&gt;&lt;a href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt; - An enhanced wiki and issue tracking system for software development projects.&lt;/li&gt;&lt;li&gt;&lt;a href="http://git-scm.com/"&gt;GIT&lt;/a&gt; - A free &amp;amp; open source, distributed version control system. I think it is a major upgrade compared to SVN, even if the initial learning curve is steep.&lt;br /&gt;If you run Windows I suggest you use &lt;a href="http://code.google.com/p/tortoisegit/"&gt;TortoiseGIT&lt;/a&gt; as GIT client.&lt;/li&gt;&lt;li&gt;&lt;a href="http://mercurial.selenic.com/"&gt;Mercurial&lt;/a&gt; - A modern, open source, distributed version control system (sounds very similar to GIT?). I think the learning curve is not as steep as for GIT, and a transition from SVN is probably easier. &lt;a href="http://tortoisehg.bitbucket.org/"&gt;TortoieseHG&lt;/a&gt; is a good client for Windows users and what I use myself.&lt;br /&gt;In this &lt;a href="http://hginit.com/"&gt;user-friendly, six-part tutorial&lt;/a&gt;, Joel Spolsky teaches you the key concepts.&lt;/li&gt;&lt;/ul&gt;If someone can comment with suggestions of free simple tools that supports testing/verification or integration I would be very grateful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6400591232196629418?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6400591232196629418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6400591232196629418&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6400591232196629418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6400591232196629418'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/01/development-tools.html' title='Development tools'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3677761802790089592</id><published>2011-01-11T15:42:00.001+01:00</published><updated>2011-01-11T15:55:52.337+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Model-based development'/><title type='text'>Confused by Simulink</title><content type='html'>The most common modelling tool in the automotive domain is &lt;a href="http://www.mathworks.com/products/simulink/"&gt;Simulink&lt;/a&gt;. It started as a &lt;a href="http://www.mathworks.com/products/matlab/"&gt;Matlab&lt;/a&gt;-based tool to graphically model and simulate differential equations needed in control design. Now it has expanded way beyond that to enable &lt;a href="http://www.dspaceinc.com/en/inc/home/products/sw/pcgs/targetli.cfm"&gt;generation of production code for embedded controllers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;For someone like me, with a background in software and systems engineering and only the mandatory control engineering course, Simulink is confusing. Not the model elements as such, since it basically is an executable time-discrete data flow model. But the terminology used in the Simulink community is really confusing since they are using terms very common in software development, but with different meanings. I am not even sure the explanations below are valid...&lt;br /&gt;&lt;br /&gt;Some examples:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A layer in Simulink is not what what one usually calls a layer in software. What is called a layer in Simulink&amp;nbsp;I would personally call a view since it adresss a specific concern, see some&amp;nbsp;&lt;a href="http://www.mathworks.com/help/toolbox/simulink/mdl_gd/brxo15r.html"&gt;defintion of the J-MAAB layers here&lt;/a&gt;. But I have also seen a layer as something found at a certain level&amp;nbsp;in a functional hierarchy (boxes in boxes...). Maybe these two even are the same in the Simulink world?&lt;br /&gt;A &lt;a href="http://en.wikipedia.org/wiki/Multilayered_architecture"&gt;software layer&lt;/a&gt; would rather be called a &lt;a href="http://www.mathworks.com/help/toolbox/simulink/mdl_gd/db_0144useofsubsystems.html"&gt;subsystem&lt;/a&gt; in Simulink, but that is a generous interpretation from my side. (See &lt;a href="http://www.amazon.com/Pattern-Oriented-Software-Architecture-System-Patterns/dp/0471958697"&gt;Pattern-Oriented Software Architecture&lt;/a&gt; by Buschmann et al. for a definiton of software layer). &lt;/li&gt;&lt;li&gt;There are classes and objects in Simulink. Data objects are used to "&lt;a href="http://www.mathworks.com/help/toolbox/simulink/ug/f14-90636.html#f14-93355"&gt;specify values, data types, tunability, value ranges, and other key attributes of block outputs and parameters&lt;/a&gt;", where blocks are the basic entities that one build the simulink model from.&lt;br /&gt;&lt;a href="http://www.mathworks.com/help/toolbox/simulink/ug/f14-90636.html#f14-93355"&gt;The Simulink software uses objects called data classes to define the properties of specific types of data objects.&lt;/a&gt;" So in a sense the class is a template for the objects. On the other hand the data object does not specify a behaviour or input-output relationship. But classes seem also to be a special type of objects in thelast quote above. Ouch! &lt;br /&gt;Contrast this to common &lt;a href="http://en.wikipedia.org/wiki/Object-oriented_design"&gt;OO design&lt;/a&gt; where the class is the template for the object, which is the main item encapsulating both a behaviour and associated data. A block in Simulink most closely resembles a &lt;a href="http://en.wikipedia.org/wiki/Subroutine"&gt;function&lt;/a&gt; in a procedural language such as &lt;a href="http://en.wikipedia.org/wiki/C_(programming_language)"&gt;C&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Pascal_(programming_language)"&gt;Pascal&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3677761802790089592?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3677761802790089592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3677761802790089592&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3677761802790089592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3677761802790089592'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/01/confused-by-simulink.html' title='Confused by Simulink'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1562737903334707311</id><published>2011-01-04T10:58:00.000+01:00</published><updated>2011-01-04T10:58:06.510+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>The importance of the team</title><content type='html'>I am reviewing and grading documentation in a student project. Or rather 12 student projects, all trying to develop similar software. The context is this: The students work in teams of 6. Each student has a separate role; project manager, architect, designer, quality/testing responsible, GUI designer and communications expert (it is an peer-to-peer application based on TCP). Alla students have to write code, and in addition to this they are supposed to turn in documentation related to their role.&lt;br /&gt;&lt;br /&gt;What strikes me is that in the teams with good documentation all documents are good, regardless of author. How come? There could be several explanations:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Good students want to work with each other (they could choose their teammates, they weren't assigned by us teachers).&lt;/li&gt;&lt;li&gt;In good teams they cooperate on everything, inlcuding reviewing each others documents. In not-so-good teams they instead might try to split the tasks and work as independently as possible.&lt;/li&gt;&lt;li&gt;In the good teams there is an exceptional student that functions as a mentor to the others.&lt;/li&gt;&lt;li&gt;Excellent&amp;nbsp;documementation from one role supports the others in their roles, e.g. an excellent architeture description supports testing etc.&lt;/li&gt;&lt;li&gt;The good teams had not only a notion about what to deliver when they started, they&amp;nbsp;also had a good notion on how to do it early on, e.g. they discussed so they had a common understanding of coding responsibility (everybody had to write code) and they choose an interative process or SCRUM already the first week.&lt;/li&gt;&lt;li&gt;The good teams started with coding as quickly as possible. This is counterintuitive, but I think they felt more comfortable spending time on documentation if they already had some&amp;nbsp;prototype running.&lt;/li&gt;&lt;li&gt;It seems that &lt;a href="http://en.wikipedia.org/wiki/Analysis_paralysis"&gt;analysis paralysis&lt;/a&gt; actually produces worse documentation.&amp;nbsp;I think this is due to an inability to focus on the vital concerns and stop when they are sufficiently covered.&lt;/li&gt;&lt;li&gt;It is&amp;nbsp;hard to excel if your teammates drag you down. This could explain why there are no groups where just one role shines above the rest.&lt;/li&gt;&lt;/ul&gt;I'm sure there could be other explanations that I didn't think of...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1562737903334707311?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1562737903334707311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1562737903334707311&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1562737903334707311'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1562737903334707311'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2011/01/importance-of-team.html' title='The importance of the team'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-5216164504584050347</id><published>2010-12-22T20:57:00.000+01:00</published><updated>2010-12-22T20:57:53.852+01:00</updated><title type='text'>IT talents in Sweden</title><content type='html'>For my Swedish readers:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://it-talang.se/"&gt;Skill har skickat ut enkäten till studenter vid samtliga svenska lärosäten som har IT-utbildningar. 1140 IT-talanger har besvarat enkäten och det är deras svar som ligger till grund för denna rapport. Av de som har svarat är 20% kvinnor och 80% män. IT-talangerna är 27 år i snitt och åldersspridningen är mellan 19 och 54 år.&lt;/a&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-5216164504584050347?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/5216164504584050347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=5216164504584050347&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5216164504584050347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5216164504584050347'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/12/it-talents-in-sweden.html' title='IT talents in Sweden'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7579124773523283777</id><published>2010-12-09T19:04:00.000+01:00</published><updated>2010-12-09T19:04:15.340+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture for Small Systems'/><title type='text'>Improving quality with well-written requirements</title><content type='html'>I discussed with a colleague about how to improve specifications and we agreed that one of the actions that would yield quality improvements with very little investment was to educate people in our organisation on how to write good requirements.&lt;br /&gt;Unfortunately such a course is not available internally at Volvo Cars (don't ask me why). But a search found some useful pages that could serve as an introduction:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.startupcto.com/processes/writing_good_functional_requirements"&gt;The Story of the Paperclip: Writing Good Functional Requirements&lt;/a&gt; from &lt;a href="http://www.startupcto.com/"&gt;StartupCTO&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://tynerblain.com/blog/2006/05/25/writing-good-requirements-the-big-ten-rules/"&gt;Writing Good Requirements – The Big Ten Rules&lt;/a&gt; from Tyner Blain&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ibm.com/developerworks/rational/library/5170.html"&gt;Writing good requirements is a lot like writing good code&lt;/a&gt; by Jim Heumann, IBM&lt;/li&gt;&lt;li&gt;&lt;a href="http://homepages.laas.fr/kader/Hooks.pdf"&gt;Writing Good Requirements (A Requirements Working Group Information Report)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.win.tue.nl/%7Ewstomv/edu/2ip30/references/smart-requirements.pdf"&gt;SMART Requirements&lt;/a&gt; by Mike Mannion and Barry Keepence&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7579124773523283777?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7579124773523283777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7579124773523283777&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7579124773523283777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7579124773523283777'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/12/improving-quality-with-well-written.html' title='Improving quality with well-written requirements'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-5143440120424388565</id><published>2010-12-03T16:43:00.001+01:00</published><updated>2010-12-06T20:22:48.730+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Is software engineering immature?</title><content type='html'>Is software engineering an "immature" engineering discipline? I have often heard this both in presentations and in reading, for example &lt;a href="http://www.semat.org/"&gt;SEMAT&lt;/a&gt; states on the homepage:&lt;br /&gt;&lt;blockquote&gt;"Software engineering is gravely hampered today by immature practices."&lt;/blockquote&gt;If I draw parallels between software engineering and civil engineering (arguably the most mature engineering discipline) my spontaneous conclusion was: Yes, software engineering seems to be more like how cathedrals were built in medieval times. The construction of them were based on rules of thumb and the practical skills and experience of architects and stone masons instead of the type of engineering practices taught at universities today. Interestingly enough, one can still see the "successful" cathedrals still standing several centuries later. But it would have been impossible for the architect of &amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Lund_Cathedral"&gt;Lund Cathedral&lt;/a&gt; to build something like the nearby &lt;a href="http://en.wikipedia.org/wiki/Turning_Torso"&gt;Turning Torso&lt;/a&gt;. So the engineering in civil engineering has certainly "matured".&lt;br /&gt;But where is software engineering failing? Everyone has heard of software projects running over time, over budget or have not been used as intended (or not used at all). But wait a minute! Exactly the same thing is common within civil engineering as well. There are many examples from a single contractor renovating a small house up to world known buildings such as the Sydney Opera House:&lt;br /&gt;&lt;blockquote&gt;"&lt;a href="http://en.wikipedia.org/wiki/Sydney_Opera_House"&gt;The original cost estimate in 1957 was £3,500,000 ($7 million). The original completion date set by the government was 26 January 1963 (Australia Day).[16] Thus, the project was completed ten years late and over-budget by more than fourteen times.&lt;/a&gt;"&lt;/blockquote&gt;So in this respect software engineering is as immature as other engineering disciplines.&lt;br /&gt;So what is the fuss about? I agree that there is no consensus in the software community on how to do the equivalence of structural mechanics calculations or stress tests. Are we more hampered by this lack of consensus on how to do engineering tasks than by the difficulty to run large projects, which seem to be common to other engineering disciplines?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-5143440120424388565?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/5143440120424388565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=5143440120424388565&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5143440120424388565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5143440120424388565'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/12/si-software-engineering-immature.html' title='Is software engineering immature?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7502397278659446342</id><published>2010-12-02T12:11:00.016+01:00</published><updated>2011-02-14T09:28:33.598+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Meego'/><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='Infotainment systems'/><category scheme='http://www.blogger.com/atom/ns#' term='GENIVI'/><category scheme='http://www.blogger.com/atom/ns#' term='Open source software'/><title type='text'>Available infotainment platforms</title><content type='html'>I have previously written about various &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/08/meego.html"&gt;platforms for infotainment systems&lt;/a&gt;. I also had a slide about it in &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/10/lindholmen-software-development-day.html"&gt;my presentation on Lindholmen Software Development day&lt;/a&gt;, where my point was to say that it is possible to use either&amp;nbsp;a commercial platform, such as &lt;a href="http://www.microsoft.com/windowsembedded/en-us/products/windows-embedded-automotive/default.mspx"&gt;Windows Embedded Automotive&lt;/a&gt; or an open source such as &lt;a href="http://meego.com/devices/in-vehicle"&gt;Meego&lt;/a&gt;. It is a business decisions which way an OEM wants to go, not a technical.&lt;br /&gt;&lt;br /&gt;I have probaly missed some, but here is a list of infotainment platforms available today for an OEM to build an in-vehicle infotainment system on:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.microsoft.com/windowsembedded/en-us/products/windows-embedded-automotive/default.mspx"&gt;Windows Embedded Automotive&lt;/a&gt;, used for example in &lt;a href="http://www.ford.com/technology/sync/"&gt;Ford's Sync&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.qnx.com/products/multimedia/multimedia.html"&gt;QNX Aviage&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mecel.se/products/bluetooth"&gt;Mecel Betula Suite&lt;/a&gt; - Automotive Bluetooth Platform&lt;/li&gt;&lt;li&gt;&lt;a href="http://meego.com/devices/in-vehicle"&gt;Meego&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.genivi.org/"&gt;GENIVI&lt;/a&gt;, but there is little informaiton about the techical solition on the webiste. They will most likely utilise the Meego platform.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.harman.com/"&gt;Harman&lt;/a&gt; has an infotainment platform. They recenlty acquired &lt;a href="http://www.ahamobile.com/"&gt;AHA Mobile&lt;/a&gt; which probably will be integrated.&lt;/li&gt;&lt;li&gt;There are alot of notices on using &lt;a href="http://www.android.com/"&gt;Android&lt;/a&gt; for in-vehicle infotainment if one searches the web, but I have not been able to find any open source software based on Android for in-vehicle use.&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Continental's &lt;a href="http://www.autolinq.de/en/"&gt;Autolinq&lt;/a&gt; seems to be Android-based, but is not open source in the same sense as e.g. Meego, and apps must be approved (by Continental?) to be downloaded.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.luxoft.com/"&gt;Luxoft&lt;/a&gt; offers LUXnet, which is also Android-based, but I cannot find any information besides a &lt;a href="http://www.luxoft.com/press/press_release_article.html?id=15563"&gt;press release&lt;/a&gt; on their homepage.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7502397278659446342?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7502397278659446342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7502397278659446342&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7502397278659446342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7502397278659446342'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/12/available-infotainment-platforms.html' title='Available infotainment platforms'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7852479452224475277</id><published>2010-11-29T14:18:00.001+01:00</published><updated>2010-11-29T19:25:50.146+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Recurring architectural decisions</title><content type='html'>A lot of academic (and industrial) research is looking at architectural decisions. One of the ideas pursued is that by capturing and managing this type of information it can be reused. I guess in practice it means that if you need to make a similar decision in the future you can look at what you decided the last time. I myself also saw this as an appealing idea. But today it struck me that we really don't have recurring decisions when we work as architects at Volvo. I think that if we had there would no be any need of an architect at all.&lt;br /&gt;&lt;br /&gt;What we do have is a long succession of architectural decisions, each with a new set of prerequisites. The task as an architect is to be able to extrapolate from what has been done previously and still maintain some sort of conceptual integrity. To preserve the "feel" or "vision" of the architecture while still fulfilling necessary functional and quality requirements (including cost) and operate within the constraints given by for example our organisation and what is available/possible form suppliers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7852479452224475277?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7852479452224475277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7852479452224475277&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7852479452224475277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7852479452224475277'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/recurring-architectural-decisions.html' title='Recurring architectural decisions'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4666986704171871013</id><published>2010-11-26T15:00:00.024+01:00</published><updated>2010-11-26T15:00:10.090+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><title type='text'>Software testing</title><content type='html'>I have to admit it, I suck at software testing. I do believe in my naive notion of test-driven design, i.e. write the tests first and the program later. My problem is that I just don't have the skills of programming test cases.&lt;br /&gt;Example: I &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/11/start-with-walking-skeleton.html"&gt;wrote about the "walking skeleton"&lt;/a&gt; design principle some days ago.One could write a suitable set of test cases to ensure that the skeleton, with it's various units, always walks. The tests should automatically run before you check in more elaborate units, with more features in them. If the unit doesn't pass you know that you will have integration problems.&lt;br /&gt;&lt;br /&gt;There are a lot of resources on testing out there, for example I got an introduction on &lt;a href="http://articles.techrepublic.com.com/5100-10878_11-1027676.html"&gt;creating JUnit test cases&lt;/a&gt; for Java programs  from a colleague. Since &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/06/erlang.html"&gt;I'm trying to learn Erlang&lt;/a&gt; I should probably look into &lt;a href="http://www.erlang.org/doc/apps/eunit/chapter.html"&gt;EUNIT&lt;/a&gt;.&lt;br /&gt;You should also read the blog &lt;a href="http://thetesteye.com/blog/"&gt;thoughts from the test eye&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I started working with system integration testing at Volvo Cars many years ago. I learned the basics of test planning, writing test cases and report test results then. Probably very outdated since both it was ten years ago and since the automotive industry has never been on the cutting edge of software development practices. We still have a notion that a specification should be written so that it can easily be tested:&lt;br /&gt;&lt;blockquote&gt;"This easily results in requirements being quantified and often in a contractual style, instead of describing the real needs and desires."&lt;/blockquote&gt;There are many other ways of &lt;a href="http://thetesteye.com/blog/2010/11/synthesizing-test-ideas/"&gt;Synthesizing Test Ideas&lt;/a&gt;! &lt;br /&gt;&lt;br /&gt;So if experts on testing are open to the notion of having specifications focusing on understanding and real needs, why are we still clinging to contractual requirements ? Is it because of so much of the coding is outsourced in the autotmotive industry?&lt;br /&gt;&lt;br /&gt;If one aspires to be a software architect I think working with verification &amp;amp; validation (testing) is a good starting point. You learn a lot about good, and bad, design when you are exposed to the errors and unintended behaviour in a system and the effects they have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4666986704171871013?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4666986704171871013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4666986704171871013&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4666986704171871013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4666986704171871013'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/software-testing.html' title='Software testing'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6121462640706242127</id><published>2010-11-25T11:50:00.001+01:00</published><updated>2010-11-25T14:42:42.049+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Model-based development'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Architectural modelling</title><content type='html'>To have a more formal definition of what I mean when talking about modelling an architecture (summarised from to &lt;a href="http://en.wikipedia.org/wiki/IEEE_1471"&gt;IEEE 1471&lt;/a&gt;):&lt;br /&gt;&lt;blockquote&gt;An architectural description is organized into one or more views. &lt;br /&gt;A view may consist of one or more architectural models. Each such architectural model is developed using the methods established by its associated architectural viewpoint. An architectural model may participate in more than one view.&lt;br /&gt;The viewpoint determines the languages (including notations, model, or product types) to be used to describe the view, and any associated modelling methods or analysis techniques to be applied to these representations of the view. &lt;/blockquote&gt;I am not against using models to represent architectural views, but there are some fallacies that often seem to happen when using various modelling approaches in architecture descriptions.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The purpose of the architecture model is unclear (in 1471-terminology: It is not obvious what concerns the model addresses). UML is especially problematic since it provides notation that can be used for so many purposes. Read John Daniels paper &lt;a href="http://www.syntropy.co.uk/papers/modelingwithpurpose.pdf"&gt;Modeling with a Sense of Purpose&lt;/a&gt; as an introduction.&lt;/li&gt;&lt;li&gt;Everything is modelled to the same level of detail. Not everything is equally important to know. For some parts of the system it is important for the architecture (and realisation of qualities) to know the details, for other parts it is not.&lt;/li&gt;&lt;li&gt;Every part of the system must be represented in the architecture, for example if every class must be traceable from some element in the architecture. This could even be a rule of the architecture, "if it is not explicitly allowed it is forbidden". This reeks very much of waterfall mindset with the architects doing much of the design before any developers get involved. I think it is presumptuous&amp;nbsp; of the architects to claim to know everything that needs to be implemented.&lt;/li&gt;&lt;li&gt;Modelling tools always demands a precision in notation, which is not always desirable when sketching an architecture. You cannot model "sort of a class", or "could be a function" when using a tool, which is possible on a whiteboard or a napkin. In a tool it has to be a class, a function or a package, not something in-between.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6121462640706242127?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6121462640706242127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6121462640706242127&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6121462640706242127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6121462640706242127'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/architectural-modelling.html' title='Architectural modelling'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4588081211342953583</id><published>2010-11-22T10:59:00.000+01:00</published><updated>2010-11-22T10:59:59.958+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My presentations'/><title type='text'>Presentations from Lindholmen Software Development Day 2010</title><content type='html'>All presentations form the &lt;a href="http://www.lindholmen.se/en/softwareday"&gt;Lindholmen Software Development Day 2010&lt;/a&gt; are now up on the web site. I know we were filmed as well, but I don't know when they are finished editing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4588081211342953583?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4588081211342953583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4588081211342953583&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4588081211342953583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4588081211342953583'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/presentations-from-lindholmen-software.html' title='Presentations from Lindholmen Software Development Day 2010'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4214873598165333575</id><published>2010-11-22T10:44:00.001+01:00</published><updated>2010-11-25T15:56:00.690+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architecture for Small Systems'/><title type='text'>"Start with a Walking Skeleton"</title><content type='html'>I try to explain to my students that they should start with structure before programming any features. Get the OS to run with some reasonable tasks, exchange some information/messages/... between sub-systems or processes, etc.&lt;br /&gt;There seems to be a proper term for this: &lt;i&gt;&lt;a href="http://architect.97things.oreilly.com/wiki/index.php/Start_with_a_Walking_Skeleton"&gt;Start with a Walking Skeleton&lt;/a&gt;&lt;/i&gt;. Apparently the &lt;a href="http://alistair.cockburn.us/Walking+skeleton"&gt;term originates with Alistair Cockburn&lt;/a&gt;. It is often used in conjunction with the &lt;a href="http://alistair.cockburn.us/Incremental+Rearchitecture"&gt;Incremental Architecture pattern&lt;/a&gt;.&lt;br /&gt;I feel rather stupid of not knowing what others had done before, but at least I know of the concepts...&lt;br /&gt;&lt;br /&gt;It says that this is a useful strategy for large systems. I think it is quite useful for small systems as well, especially if you are not very familiar with the features to be developed. A walking skeleton allows you to try different things in a running platform and with decent version control you can always reverse to something that is running, even if it has little customer value. And the effort of making the skeleton work is never wasted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4214873598165333575?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4214873598165333575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4214873598165333575&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4214873598165333575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4214873598165333575'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/start-with-walking-skeleton.html' title='&quot;Start with a Walking Skeleton&quot;'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-5951600402066457542</id><published>2010-11-19T17:29:00.001+01:00</published><updated>2010-11-19T17:29:00.384+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Ranking of Software Engineering Journals</title><content type='html'>I got a link to a &lt;a href="http://www.cse.chalmers.se/%7Efeldt/advice/isi_listed_se_journals.html"&gt;ranking of the top Software Engineering Journals&lt;/a&gt; from my colleague &lt;a href="http://www.cse.chalmers.se/%7Efeldt/"&gt;Robert Feldt&lt;/a&gt;.&lt;br /&gt;This is based on how prestigious these journals are in the scientific community based on some &lt;a href="http://en.wikipedia.org/wiki/Bibliometrics"&gt;bibliometric&lt;/a&gt; index. But I would also like to see a similar ranking of how prestigious a journal is in the community of practitioners. Would it be possible to identify an index for that?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-5951600402066457542?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/5951600402066457542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=5951600402066457542&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5951600402066457542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5951600402066457542'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/ranking-of-software-engineering.html' title='Ranking of Software Engineering Journals'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-2706401128211287613</id><published>2010-11-17T14:10:00.000+01:00</published><updated>2010-11-17T14:10:02.472+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My presentations'/><title type='text'>ICES-INCOSE Architecting Seminar - presentations now on-line</title><content type='html'>The material from &lt;a href="http://www.kth.se/itm/centra/ices/previous-events/ices-incose-architecting-seminar-1.71997"&gt;the &lt;i&gt;ICES-INCOSE-seminar: Architecting Embedded Systems&lt;/i&gt; is now available&lt;/a&gt;.&lt;br /&gt;There is also &lt;a href="http://www.kth.se/polopoly_fs/1.71997%21Summary_Behere%2BPersson.pdf"&gt;a summary of of the day&lt;/a&gt;, including the ending panel debate, which I personally found very interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-2706401128211287613?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/2706401128211287613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=2706401128211287613&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2706401128211287613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2706401128211287613'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/ices-incose-architecting-seminar.html' title='ICES-INCOSE Architecting Seminar - presentations now on-line'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4088076318812409010</id><published>2010-11-10T22:22:00.000+01:00</published><updated>2010-11-10T22:22:23.339+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software architecture reference material'/><title type='text'>More on quality attributes</title><content type='html'>Not so long ago &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/10/quality-attribute-scenarios.html"&gt;I wrote about quality attributes&lt;/a&gt;. A friend on facebook gave a tip about a blog post on &lt;a href="http://thetesteye.com/blog/2010/11/software-quality-characteristics-1-0/"&gt;Software Quality Characteristics 1.0&lt;/a&gt;. The bloggers claim it is "the perhaps most powerful public two-page document in the history of software testing." I don't know about that but it sure is a useful document.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4088076318812409010?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4088076318812409010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4088076318812409010&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4088076318812409010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4088076318812409010'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/more-on-quality-attributes.html' title='More on quality attributes'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4446874482734058256</id><published>2010-11-08T16:12:00.002+01:00</published><updated>2010-11-09T09:09:22.129+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My presentations'/><title type='text'>Trends and challenges in architecting embedded systems</title><content type='html'>Architecting is not even a proper word (I even heard someone at &lt;a href="http://splc2010.postech.ac.kr/"&gt;SPLC&lt;/a&gt; suggest all papers with architecting in the title should be rejected) , but is quite popular nevertheless. I think it has to do with Swedish allows you to construct a verb from just any noun, and still making sense....&lt;br /&gt;&lt;br /&gt;I was in Stockholm to talk about architecting automotive software at an &lt;a href="http://www.kth.se/itm/centra/ices/ices-events/ices-events-calendar/ices-incose-seminar-trends-and-challenges-in-architecting-embedded-systems-1.64277?l=en_UK&amp;amp;date=2010-11-04&amp;amp;orgdate=2010-11-04&amp;amp;length=1&amp;amp;orglength=1"&gt;ICES-INCOSE seminar&lt;/a&gt;. You can find the slides from the other presenters (and mine in PDF) at the ICES homepage.&lt;br /&gt;Staffan Persson is an architect from &lt;a href="http://www.scania.com/"&gt;Scania&lt;/a&gt; and he presented a very interesting view on architecting in lean organisations (an introduction by Staffan can be found in &lt;a href="http://issuu.com/softhouse/docs/leanmagazine-5/8"&gt;Lean Magazine #5&lt;/a&gt;).&lt;br /&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df829b6c_312f2ztq2f3" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;br /&gt;The finishing panel debate was interesting. I don't know if the notes from that will be published on the site, but I have a few reflections when thinking about it afterwards:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;One trait of a good architect is to freely move between different levels of abstraction. An architect needs to see the whole picture all the time, but he also needs to be able to dive down into details, "the devil is in the details".&lt;/li&gt;&lt;li&gt;You can teach, and learn, fundamental knowledge for an architect, such expressing quality attributes, be familiar with architectural styles and patterns, know architecture platforms such as AUTOSAR or .NET, and being able to express designs in various views etc. But there are also another set of key skills that are very hard to teach, such as understanding the company culture (the common value ground), earn respect, know not only what technical parts that are affected by various decisions, but also who. So it would be difficult to move form one organisation to another an be productive as an architect.&lt;/li&gt;&lt;li&gt;An architect needs to be comfortable with uncertainty. I know I am not, and this is one of my weaker points as an architect. And how do you assure other stakeholders that one should not make a decision now since we don't know enough?&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4446874482734058256?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4446874482734058256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4446874482734058256&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4446874482734058256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4446874482734058256'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/11/trends-and-challenges-in-architecting.html' title='Trends and challenges in architecting embedded systems'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4561792116076739938</id><published>2010-10-29T18:14:00.000+02:00</published><updated>2010-10-29T18:14:41.872+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Architecture for small systems?</title><content type='html'>It is Friday afternoon and I'm allowed to have some wild ideas...&lt;br /&gt;&lt;br /&gt;After a long e-mail conversation with one student of appropriate architectural styles to use in a project course I realised that his ending comment is spot on:&lt;br /&gt;&lt;blockquote&gt;I think the course and it's literature are focused on large systems and seeing that we are new to this, especially with a new language in parallel, its difficult to not apply what we learn during the course. &lt;br /&gt;&lt;br /&gt;In my opinion the patterns covered in the book left me half way with the idea that most architectures could fit into a pattern, within its own right.&lt;/blockquote&gt;I have been too blind when I teach, and not even my professional experience helped me to identify the problem:&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;Most (all) literature about architecture teaches solutions for big systems.&lt;/b&gt;&lt;/blockquote&gt;Is there a niche for information on how to architect small systems? Small in the sense of not having millions lines of code, or a large development team, or a long project. I know that the &lt;a href="http://agilemanifesto.org/"&gt;agile manifesto&lt;/a&gt; states that that one of twelve important principles are&lt;br /&gt;&lt;blockquote&gt; The best architectures, requirements, and designs emerge from self-organizing teams. &lt;/blockquote&gt;But do a &lt;a href="http://www.google.se/search?q=agile+architecture+emerge"&gt;google search on "agile architecture emerge&lt;/a&gt;" and see what comes up, a lot of interesting reading that suggest that the issue is not that simple.&lt;br /&gt;&lt;br /&gt;A lot of software systems are small, from a bittorrent client (the student project) to the software in the door control unit in a car, to a mobile app. And yet they would all benefit of having some though about what they must meet for non-functional needs that is addressed by a (simple) architecture. Should I write a book on architecting small systems? So that a team member is better prepared when he or she participates in a small project where the architecture "emerges"? You don't need to be an architect to benefit from doing thinking at an architectural "level".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4561792116076739938?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4561792116076739938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4561792116076739938&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4561792116076739938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4561792116076739938'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/architecture-for-small-systems.html' title='Architecture for small systems?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-118082082278955912</id><published>2010-10-28T16:10:00.005+02:00</published><updated>2010-10-29T16:52:44.667+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software architecture reference material'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Quality attribute scenarios</title><content type='html'>Defining a quality attribute, a.k.a. non-functional requirement, is not easy. I know since i did that for a new platform at Volvo. When the verification and validation group comes back and says that it is not possible to verify this as a requirement I can only assume that I did not do a good enough job. But I have to agree with what &lt;a href="http://rhinoresearch.com/about"&gt;George Fairbanks&lt;/a&gt; wrote in his &lt;a href="http://rhinoresearch.com/blog"&gt;blog&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://rhinoresearch.com/content/dilbert-quality-attributes-and-what-you-should-know-about-quality-attribute-scenarios"&gt;Before you get too excited, you should know it’s easier to write these for quantitatively measurable qualities (e.g., throughput, latency) and harder for softer qualities (e.g., modifiability, usability).&lt;/a&gt;&lt;/blockquote&gt;There are two recent books that have a more agile approach to architecting: &lt;a href="http://www.leansoftwarearchitecture.com/"&gt;Lean Software Architecture&lt;/a&gt; by Coplien and Bjørnvig, and George Fairbanks'&lt;a href="http://rhinoresearch.com/content/software-architecture-book"&gt; Just Enough Software Architecture: A Risk-Driven Approach&lt;/a&gt;. Unfortunately the latter isn't available in any Swedish internet bookstore, but as soon as I get hold of them I will post a review, as &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/04/more-books-on-architecture.html"&gt;I have reviewed other books on software architecture&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-118082082278955912?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/118082082278955912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=118082082278955912&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/118082082278955912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/118082082278955912'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/quality-attribute-scenarios.html' title='Quality attribute scenarios'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3956762273610206109</id><published>2010-10-27T12:39:00.002+02:00</published><updated>2010-10-27T12:39:00.311+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><title type='text'>Lindholmen software development day 2010</title><content type='html'>I held a presentation with the ambitious title &lt;i&gt;The future of automotive software engineering&lt;/i&gt; at this years &lt;a href="http://www.lindholmen.se/en/softwareday"&gt;Lindholmen software development day&lt;/a&gt;.&lt;br /&gt;The whole event was filmed so you can watch clips from me and the other presenters giving our talks when they are published (somewhere in the near future). Until then you can view my slides below, including the long list of references.&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="342" src="https://docs.google.com/present/embed?id=df829b6c_303xrj6gk5f" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3956762273610206109?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3956762273610206109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3956762273610206109&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3956762273610206109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3956762273610206109'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/lindholmen-software-development-day.html' title='Lindholmen software development day 2010'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-2069544755384389174</id><published>2010-10-26T10:28:00.000+02:00</published><updated>2010-10-27T16:44:13.419+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>Architects as managers and leaders?</title><content type='html'>It is not often I write about management here, in spite of the title of the blog: "Managing..."'&lt;br /&gt;&lt;br /&gt;I do believe that architects should not be people managers, at least not simultaneously.&lt;br /&gt;However they should be leaders. An architect should have a vision of what he wants to accomplish and should lead by example. If the architect is successful it seemed like he did not do anything and everything was accomplished jointly by the developers, so don't expect too much credit as a leader...&lt;br /&gt;&lt;br /&gt;Back to management: A former student of mine wrote about the &lt;a href="http://ljungblad.nu/good-vs-great-employers"&gt;difference between good and great companies to work for&lt;/a&gt; in &lt;a href="http://ljungblad.nu/"&gt;his blog&lt;/a&gt; and directed me to this series of blog articles:&lt;a href="http://blogs.hbr.org/cs/2010/05/12_things_that_good_bosses_bel.html"&gt;12 Things Good Bosses Believe&lt;/a&gt;&amp;nbsp;from Harvard Business Review.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-2069544755384389174?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/2069544755384389174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=2069544755384389174&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2069544755384389174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2069544755384389174'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/architects-as-managers-and-leaders.html' title='Architects as managers and leaders?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7686134622564609875</id><published>2010-10-19T10:48:00.000+02:00</published><updated>2010-10-19T10:48:12.372+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Project presentation</title><content type='html'>I presented my project at the yearly Volvo Industrial PhD program conference last week.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="https://docs.google.com/present/embed?id=df829b6c_277dsknk7c8" frameborder="0" width="410" height="342"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7686134622564609875?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7686134622564609875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7686134622564609875&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7686134622564609875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7686134622564609875'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/project-presentation.html' title='Project presentation'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-734217295936994368</id><published>2010-10-12T15:39:00.001+02:00</published><updated>2010-10-12T15:45:22.623+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>How attractive it is to work as a software architect...</title><content type='html'>A colleague sent me this link from CNN Money about &lt;a href="http://money.cnn.com/magazines/moneymag/bestjobs/2010/snapshots/1.html"&gt;how attractive it is to work as a software architect&lt;/a&gt;. Go figure...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-734217295936994368?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/734217295936994368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=734217295936994368&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/734217295936994368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/734217295936994368'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/how-attractive-it-is-to-work-as.html' title='How attractive it is to work as a software architect...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4323366545524829463</id><published>2010-10-10T20:15:00.002+02:00</published><updated>2010-10-10T20:18:07.013+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Hidden leaves</title><content type='html'>&lt;a href="http://philippe.kruchten.com/"&gt;Philippe Kruchten&lt;/a&gt; wrote a very entertaining&lt;a href="http://www.ibm.com/developerworks/rational/library/4032.html"&gt; interpretation of &lt;/a&gt;&lt;a href="http://en.wikipedia.org/wiki/Tao_Te_Ching"&gt;Tao Te Ching&lt;/a&gt; from the perspective of an software architect. But besides being entertaining it has some very good insights into the nature of an architect, like the following:&lt;br /&gt;&lt;blockquote&gt;The architect doesn't talk, she acts.&lt;br /&gt;When this is done,&lt;br /&gt;the team says, "Amazing:&lt;br /&gt;we did it, all by ourselves!"&lt;/blockquote&gt;Personally I'm more familiar with Japanese texts (more than 20 years of &lt;a href="http://en.wikipedia.org/wiki/Bud%C5%8D"&gt;budo&lt;/a&gt; training) so I thought of interpreting the &lt;a href="http://en.wikipedia.org/wiki/Hagakure"&gt;Hagakure&lt;/a&gt; with the same perspective (you can find a translation to English of the original text &lt;a href="http://books.google.se/books?id=PSPUtgWH4bQC&amp;amp;lpg=PP1&amp;amp;ots=t-ghllzxDt&amp;amp;dq=hagakure&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;blockquote&gt;Among the maxims on the architect's wall there was this one: "Matters of great concern should be treated lightly." A senior developer commented "Matters of small concern should be treated seriously." In one's project there should not be more than two or three matters of what one could call great concern. If these are deliberated upon during ordinary times, they can be understood. Thinking about things previously and then handling them lightly when the time comes is what this is all about. To face a problem and solve it lightly is difficult if you are not prepared beforehand , and there will always be uncertainty in hitting your mark. However, if the foundation is laid previously, you can think of the saying, "Matters of great concern should be treated lightly," as your own basis for action. (1st chapter, p. 33) &lt;/blockquote&gt;&lt;blockquote&gt;According to a senior developer, even a poor programmer will become substantial in the art of writing code if he studies by imitating a good model and puts forth effort. An architect should become substantial too, if he takes a good architect as his model. (1st chapter, p. 40) &lt;/blockquote&gt;&lt;blockquote&gt;The proper manner of architecting is nothing other than not being careless, but in this way one's design will be sluggish and stiff. One should go beyond this and depart from the norm. This principle applies to all things. (1st chapter, p. 48).&lt;/blockquote&gt;&lt;blockquote&gt;In carefully scrutinising the projects of the past, we find that there are many different opinions about them, and that there are some things that are quite unclear. It is better to regard such things as unknowable. An architect once said, "As for the things we don't understand, there &lt;i&gt;are &lt;/i&gt;ways of understanding them. Furthermore, there are some things we understand just naturally, and again some that we can't understand no matter how hard we try. This is interesting."&lt;br /&gt;This is very profound. It is natural that one cannot understand deep and hidden things. Those things that are easily understood are rather shallow. (1st chapter, p. 69)&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4323366545524829463?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4323366545524829463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4323366545524829463&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4323366545524829463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4323366545524829463'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/hidden-leaves.html' title='Hidden leaves'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1676758083057289281</id><published>2010-10-07T11:04:00.000+02:00</published><updated>2010-10-07T11:05:03.215+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>On plagiarism and referencing</title><content type='html'>In the architecture course I'm involved in several groups failed the hand-ins due to insufficient referencing when using material from other sources. In academic writing it is allowed, and even encouraged, to base your writing on data from other sources so this in itself is not wrong, but it must be done according to strict academic standards&lt;br /&gt;Worst case: Incorrect or omitted references is plagiarism, which is a serious academic crime that can lead to suspension from the university.&lt;br /&gt;&lt;br /&gt;We will arrange a workshop for all 2nd year students on Wednesday 12 October 11:00 since this is a vital skill in all courses and the thesis projects. But in the meantime I suggested they should take a look at the following introductory material:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=Mwbw9KF-ACY"&gt;A crazy Norwegian introduction to the subject&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sokogskriv.no/english/"&gt;A website from the same university on searching and writing academic papers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sokogskriv.no/english/index.php?action=static&amp;amp;id=50"&gt;Read especially about referencing&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=SOEmM5gmTJM"&gt;A short (15 min) hands-on video lecture on referencing&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;The students don't need to use any specific style of references (Harvard, IEEE, APA, Chicago, etc) as long as they are consistent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1676758083057289281?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1676758083057289281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1676758083057289281&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1676758083057289281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1676758083057289281'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/on-plagiarism-and-referencing.html' title='On plagiarism and referencing'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8214582060825548880</id><published>2010-10-04T18:52:00.000+02:00</published><updated>2010-10-04T18:52:52.468+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My presentations'/><title type='text'>Seminar:Trends and challenges in architecting embedded systems</title><content type='html'>I will be talking at a seminar  at the Royal Institute of Technology in Stockholm 4 November: &lt;a href="http://www.kth.se/itm/centra/ices/calender/ices-events-calendar/ices-incose-seminar-trends-and-challenges-in-architecting-embedded-systems-1.64277?l=en_UK&amp;amp;date=2010-11-04&amp;amp;orgdate=2010-11-01&amp;amp;length=1&amp;amp;orglength=30"&gt;Trends and challenges in architecting embedded systems&lt;/a&gt;.&lt;br /&gt;Besides &lt;a href="http://www.kth.se/en/itm/inst/mmk/org/MDA/medarbetare/martin-torngren-1.18225"&gt;Martin Törngren&lt;/a&gt; from &lt;a href="http://www.kth.se/"&gt;KTH&lt;/a&gt; and &lt;a href="http://www.chalmers.se/cse/EN/people/hansson-jorgen"&gt;Jörgen Hansson&lt;/a&gt; from &lt;a href="http://http.//www.chalmers.se"&gt;Chalmers&lt;/a&gt; there will be speakers from &lt;a href="http://www.ericsson.com/"&gt;Ericsson&lt;/a&gt;, &lt;a href="http://www.saabgroup.com/"&gt;Saab Aerospace&lt;/a&gt;, &lt;a href="http://dd.semcon.se/en/EIS/Home---EIS/"&gt;Semcon EIS&lt;/a&gt;, &lt;a href="http://www.scania.se/"&gt;Scania&lt;/a&gt;, and myself...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8214582060825548880?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8214582060825548880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8214582060825548880&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8214582060825548880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8214582060825548880'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/10/seminartrends-and-challenges-in.html' title='Seminar:Trends and challenges in architecting embedded systems'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7182343237244655417</id><published>2010-09-24T17:32:00.000+02:00</published><updated>2010-09-24T17:32:15.203+02:00</updated><title type='text'>InfoQ: Model-Driven Development: Where are the Successes?</title><content type='html'>I found a good blog post about more experiences onmodel-driven deleopment at &lt;a href="http://www.infoq.com/news/2010/09/mdd-who-how-why"&gt;InfoQ: Model-Driven Development: Where are the Successes?&lt;/a&gt;. Read it and the articles mentioned.&lt;br /&gt;&lt;br /&gt;I have also read through a summary of the study of &lt;a href="http://www4.in.tum.de/~kirstan/"&gt;Sascha Kirstan&lt;/a&gt; which was very interesting.Unfotrunatley i don't know if it is avaibale on thenet yet. However both he and Jon Whittle clearly stated that in practice the advantages with model based develoipment are not so much efficiency as quality. In practice the efficiency gains tend to be around 20-30%, not 3-5 times as one can hear among certain the evangelists. And the quality gains are in the same order.&lt;br /&gt;But reducing the number of faults and errors with 20% impresses me more than reducing development costs with 20%.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7182343237244655417?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.infoq.com/news/2010/09/mdd-who-how-why' title='InfoQ: Model-Driven Development: Where are the Successes?'/><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7182343237244655417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7182343237244655417&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7182343237244655417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7182343237244655417'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/09/infoq-model-driven-development-where.html' title='InfoQ: Model-Driven Development: Where are the Successes?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3174581335136772278</id><published>2010-09-24T16:47:00.002+02:00</published><updated>2010-10-07T14:30:39.786+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Model-based development'/><title type='text'>What is a model?</title><content type='html'>My &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/09/do-you-use-model-based-development.html"&gt;previous post&lt;/a&gt; got me thinking about what a model is and why we model. I think everybody agrees that a text specification written in Word is not a model, while something in UML is.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://dictionary.cambridge.org/dictionary/british/model_4"&gt;Cambridge Advanced Learner's Dictionary&lt;/a&gt; defines a model as&lt;br /&gt;&lt;blockquote&gt;A representation of something, either as a physical object which is usually smaller than the real object, or as a simple description of the object which might be used in calculations.&lt;/blockquote&gt;I like the informal definition I heard from Jon Whittle last week: &lt;i&gt;A model is an abstraction of the real thing for a specific purpose. &lt;/i&gt;However with this definition even a specification document written in Word will be a model and I don't think that makes sense.&lt;br /&gt;&lt;a href="http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1231145"&gt;Mellor et al.&lt;/a&gt; defines a model (&lt;a href="http://www.springerlink.com/content/0elaj6enw5hy4gvy/"&gt;Ludewig&lt;/a&gt; defines even more formal criteria):&lt;br /&gt;&lt;blockquote&gt;A model is a coherent set of formal elements describing something (for example, a system, bank, phone, or train) built for some purpose that is amenable to a particular form of analysis, such as...&lt;/blockquote&gt;With this definition it is quite easy to exclude a Word document as a model, since it isn't composed of formal elements. It can incorporate diagrams based on a model, e.g. a class diagram from an UML model, but not the model itself.&lt;br /&gt;&lt;br /&gt;In addition to this&amp;nbsp;there&amp;nbsp;should be a purpose with the model. &lt;a href="http://www.syntropy.co.uk/papers/modelingwithpurpose.pdf"&gt;John Daniels&lt;/a&gt; identifies three different types of models, each with a different purpose:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Conceptual model&lt;/li&gt;&lt;li&gt;Specification model&lt;/li&gt;&lt;li&gt;Implementation model&lt;/li&gt;&lt;/ul&gt;When reading the article it is obvious that just by stating one has a UML model or a Simulink model really does not say anything about the purpose. What I am curios about is if one is using the same model for different purposes? Is it possible to&amp;nbsp;use&amp;nbsp;a model for completely different purposes with any degree of efficiency and quality? I am not talking about a transformation from one model to another, for example code generation or MDA. Do you use the same Simulink model for both conceptually understand the problem, specify properties of the solution and describe the implementation?&lt;br /&gt;&lt;br /&gt;I had great help from my colleague &lt;a href="http://www.chalmers.se/cse/EN/people/mellegard-niklas"&gt;Niklas Mellegård&lt;/a&gt; in his licentiate thesis &lt;i&gt;&lt;a href="http://publications.lib.chalmers.se/cpl/record/index.xsql?pubid=126143"&gt;Method and Tool Support for Automotive Software Engineering&lt;/a&gt;&lt;/i&gt;, which is defended on Thursday 30 September at 13:00 in room Torg 2, Patricia building, Lindholmen. Discussion leader will be &lt;a href="http://www.kth.se/en/itm/inst/mmk/org/MDA/medarbetare/martin-torngren-1.18225"&gt;Prof. Martin Törngren&lt;/a&gt;, Dept of Machine Design, Royal Institute of Technology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3174581335136772278?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3174581335136772278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3174581335136772278&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3174581335136772278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3174581335136772278'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/09/what-is-model.html' title='What is a model?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7644271650846992869</id><published>2010-09-23T14:08:00.000+02:00</published><updated>2010-09-23T14:08:53.480+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Software quality attributes</title><content type='html'>I got the following e-mail from a student after discussing definitions and frameworks of quality attributes:&lt;br /&gt;&lt;blockquote&gt;Hello,&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;It seems there are 2 main groups of ISO standards dealing with software quality:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;a 4 part &lt;a href="http://en.wikipedia.org/wiki/ISO/IEC_9126"&gt;ISO 9126&lt;/a&gt; standard (QA considered are reliability, usability, efficiency, maintainability, portability AND, actually, functionality) &lt;/li&gt;&lt;li&gt;second generation of ISO software quality standards referred to as SQuaRE (Software product Quality Requirements and Evaluation):&amp;nbsp;&lt;a href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=35683"&gt;ISO/IEC 25000:2005&lt;/a&gt;, &lt;a href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=35745"&gt;ISO/IEC TR 25021:2007&lt;/a&gt; and &lt;a href="http://www.iso.org/iso/catalogue_detail.htm?csnumber=35786"&gt;ISO/IEC TR 25060:2010&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;I couldn't find any free copies of these standards, so we can't really use them.&lt;br /&gt;&lt;br /&gt;Anyway, it would be interesting to get during the lectures some additional information about different quality attributes models out there (early McCall and Boehm models, FURPS, ISO models etc.).&lt;/blockquote&gt;I replied with this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;You are correct. You can't access the ISO standards (without paying).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;For a very soft introduction to quality attributes, read this: &lt;a href="http://www.stellman-greene.com/2009/10/03/using-nonfunctional-requirements/"&gt;http://www.stellman-greene.com/2009/10/03/using-nonfunctional-requirements/&lt;/a&gt; &lt;/li&gt;&lt;li&gt;An in-depth analysis of a few quality attributes are available at &lt;a href="http://www.sei.cmu.edu/library/abstracts/reports/95tr021.cfm"&gt;http://www.sei.cmu.edu/library/abstracts/reports/95tr021.cfm&lt;/a&gt; &lt;/li&gt;&lt;li&gt;For a definition of terminology I suggest IEEE std 610.12, bit this covers much(!) more than just quality attributes. It is available at &lt;a href="http://ieeexplore.ieee.org/"&gt;http://ieeexplore.ieee.org/&lt;/a&gt; &lt;/li&gt;&lt;li&gt;You can also read what the PhD students at Blekinge Technical University wrote down in a course about software quality: &lt;a href="http://www.bth.se/tek/besq.nsf/pages/017bd879b7c9165dc12570680047aae2!OpenDocument"&gt;http://www.bth.se/tek/besq.nsf/pages/017bd879b7c9165dc12570680047aae2!OpenDocument&lt;/a&gt;&lt;/li&gt;&lt;li&gt;And as usual, wikipedia is a good introduction, look at &lt;a href="http://en.wikipedia.org/wiki/Software_quality"&gt;"software quality"&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/FURPS"&gt;"FURPS"&lt;/a&gt; for example.&lt;/li&gt;&lt;/ul&gt;I think it will be a little too much to go into detail about different quality frameworks in this course, above they dedicated an entire course at PhD level to the subject.&lt;br /&gt;&lt;br /&gt;Hope this helps,&lt;br /&gt;&lt;br /&gt;Ulrik&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7644271650846992869?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7644271650846992869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7644271650846992869&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7644271650846992869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7644271650846992869'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/09/software-quality-attributes.html' title='Software quality attributes'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-9002526544929104598</id><published>2010-09-16T15:03:00.000+02:00</published><updated>2010-09-16T15:03:20.999+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><category scheme='http://www.blogger.com/atom/ns#' term='Model-based development'/><title type='text'>Do you use model based development?</title><content type='html'>I heard an interesting &lt;a href="http://splc2010.postech.ac.kr/keynotes.html"&gt;keynote speech&lt;/a&gt; from &lt;a href="http://www.comp.lancs.ac.uk/%7Ewhittljn/"&gt;Jon Whittle&lt;/a&gt; this morning with the title &lt;i&gt;The Truth About Model-Driven Development: Who's doing it, how and why?&lt;/i&gt;&lt;br /&gt;He presented some findings on experiences from using model-based development in industry from the &lt;a href="http://www.comp.lancs.ac.uk/%7Eeamde/"&gt;EA-MDE project&lt;/a&gt;. I talked to him afterwards and there apparently had only been one automotive company in the study, and I personally think that the conclusions might have been different if they were more data from them. If you are working model-based in your company and want to participate in the study you can do so by answering &lt;a href="http://www.comp.lancs.ac.uk/%7Eeamde/site/content_survey.php"&gt;the questionare on the project web site&lt;/a&gt;.&lt;br /&gt;One benefit of model-based development which I expected to see in the study was that it allows domain experts to actually do implementation, for example can chassis control experts actually do code for use in ECUs.&lt;br /&gt;Note: You can substitue model-based development with several other acronyms and Jon's study is still relevant; MDD, MBSE, MDA, ... &lt;br /&gt;&lt;br /&gt;I find this study to be similar to what &lt;a href="http://www4.in.tum.de/%7Ekirstan/"&gt;Sascha Kirstan&lt;/a&gt; is working on in the automotive industry. I participated in Sascha's study this spring and just got a report with preliminary results, which I haven't had the time to read yet. I sure hope these two researcher will look at each others result and see if they can corroborate their findings or if they are contradictions.&lt;br /&gt;&lt;br /&gt;Jon concluded his talk with the top ten tips for companies wanting to adopt model-based development and here they are (but to truly utilise them you must know a lot more about the context where they were found):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Keep the domains (modelled, I assume) tight and narrow.&lt;/li&gt;&lt;li&gt;Target well known domains.&lt;/li&gt;&lt;li&gt;Put MDD on the critical path (he means that pilot projects never get sufficient attention and resources).&lt;/li&gt;&lt;li&gt;MDD works best form the ground up.&lt;/li&gt;&lt;li&gt;Be careful of gains that are offset elsewhere.&lt;/li&gt;&lt;li&gt;Don't obsess about code generation.&lt;/li&gt;&lt;li&gt;Not everyone can think abstractly.&lt;/li&gt;&lt;li&gt;Most projects fail at scale-up&lt;/li&gt;&lt;li&gt;Match tolls and processes to the way people think, not the other way around&lt;/li&gt;&lt;li&gt;Ok, there was only 9...&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-9002526544929104598?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/9002526544929104598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=9002526544929104598&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/9002526544929104598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/9002526544929104598'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/09/do-you-use-model-based-development.html' title='Do you use model based development?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-5799846399319080608</id><published>2010-09-16T09:08:00.000+02:00</published><updated>2010-09-16T09:08:19.093+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Why I don't like formal methods...</title><content type='html'>I know the title of this port is a bit controversial and with it I alienate a lot of researchers, even at my own department. But I will try to clarify my arguments and hope that someone can prove them to be wrong.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;To be more precise; it is not the formal methods in itself I dislike, but the prominence they seem to have at prestigious software engineering conferences. I think it is not at all in proportion to how well-used formal methods are among professional development.&lt;/li&gt;&lt;li&gt;Formal methods are really attractive from a researchers perspective. You can use concepts as theorem, proof and deduction and other nice things. But nice is not the same as relevant.&lt;/li&gt;&lt;li&gt;Even though I have heard about formal methods as one of the enablers to establish software engineering as a "real" engineering discipline for almost ten years I still don't think they are nearer being well-established now than then.&lt;/li&gt;&lt;li&gt;Some claim that you can never be sure of the software unless you can prove properties about it, and I agree that presently formal methods are the only technique that promises to do so. But there is a lot of successful software out there which have not been proven.&lt;/li&gt;&lt;li&gt;Specifications that fulfil the requirement of being interpreted formally are hard to write. Compare it to learn a new programming language and be proficient enough to use it without any side effects.&lt;/li&gt;&lt;li&gt;I don't know if formal methods scale well. It is one thing to use it on a nice prototype system with 30 entities developed in your lab. It is another thing to use it on a system with 500 entities, many of these with quite varying quality in requirements and code.&lt;/li&gt;&lt;li&gt;I still don't know of any that uses formal methods for real; i.e. as part of the normal way in products shipped to customers in business intent on making money. Not in one-shot attempts, pilot projects or by non-profit organisations.&lt;br /&gt;A search on google skolar of &lt;a href="http://scholar.google.com/scholar?q=industrial+software+formal+methods"&gt;industrial+software+formal+methods&lt;/a&gt; list papers from the 90s as the top results. And these seem more to be arguments against what I claim above rather than actual reports of usage. I really would welcome examples.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-5799846399319080608?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/5799846399319080608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=5799846399319080608&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5799846399319080608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5799846399319080608'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/09/why-i-dont-like-formal-methods.html' title='Why I don&apos;t like formal methods...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4440239370409612456</id><published>2010-09-15T08:00:00.001+02:00</published><updated>2010-09-15T08:03:09.291+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Software product line engineering</title><content type='html'>Software product line engineering is apparently about modelling variants and achieving formalism in feature descriptions. This is the conclusion I make after attending some workshops and the first morning sessions at the &lt;a href="http://splc2010.postech.ac.kr/"&gt;14th International Software Product Line Conference&lt;/a&gt; in Jeju, Korea.&lt;br /&gt;I presented an &lt;a href="http://www.springerlink.com/content/j7631131w5m40776/"&gt;interesting&amp;nbsp; paper&lt;/a&gt; together with Håkan from &lt;a href="http://www.scania.com/"&gt;Scania&lt;/a&gt; of how architects work with maintaining and updating existing architectures over time in the automotive industry. And we did not get a single question!&lt;br /&gt;Last year when I presented another case study everybody was interested in the case and wanted to hear more from industry, but this time it didn't seem to interest the audience.&lt;br /&gt;I find it quite difficult to find venues to present research based on industrial experience and not theoretical examples.&lt;br /&gt;&lt;br /&gt;Besides that, I find the notion of feature used in many presentations different from what I am used to. To me a feature is something which is discernible for the end user, same as the definition found in the original work here. For example an adaptive cruise control is a marketable feature in a vehicle. But if I would model that similar to feature modelling prevailing here the model would consist of an optional radar, a compulsory engine, compulsory brake, etc.This means a much higher degree of knowledge about the realisation of features.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4440239370409612456?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4440239370409612456/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4440239370409612456&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4440239370409612456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4440239370409612456'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/09/software-product-line-engineering.html' title='Software product line engineering'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6482352219501775094</id><published>2010-09-02T23:05:00.000+02:00</published><updated>2010-09-02T23:05:08.923+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Tacit knowledge</title><content type='html'>At the &lt;a href="http://www.itu.dk/ecsa2010/"&gt;ECSA conference&lt;/a&gt; there was a lot of talk about tacit knowledge and the importance of tacit knowledge when architecting systems.&lt;br /&gt;I completely agree that one thing that differs an experienced (and productive) architect from a fresh graduate is is the amount of tacit knowledge the former possess. However I thought that in the discussions at the conference there was some confusion of what is exactly meant by tacit knowledge.&lt;br /&gt;On one hand there was the view that tacit knowledge was simply the architectural knowledge that was not documented, i.e. stuff that only resided in the peoples' heads. To improve the management of this is mostly a question of capturing it in the right form and with the best tools.&lt;br /&gt;On the other hand one sees tacit knowledge is such knowledge which is difficult to express using language, which is the tradition I'm used to.&lt;br /&gt;In order to capture the latter type of tacit knowledge it is not just a question of having the time to do so or the right tools. The difficult part is for the person having this knowledge to be able to formulate in in such a manner that he can express it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6482352219501775094?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6482352219501775094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6482352219501775094&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6482352219501775094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6482352219501775094'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/09/tacit-knowledge.html' title='Tacit knowledge'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-835535547022523392</id><published>2010-08-30T15:39:00.004+02:00</published><updated>2011-02-14T09:28:59.197+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Meego'/><category scheme='http://www.blogger.com/atom/ns#' term='Standardised software architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='Infotainment systems'/><category scheme='http://www.blogger.com/atom/ns#' term='GENIVI'/><title type='text'>Meego</title><content type='html'>I have previously &lt;a href="http://automotive-sw-architecture.blogspot.com/2009/03/genivi-and-moblin.html"&gt;written about GENIVI and Moblin in this blog&lt;/a&gt;. I have to confess that I haven't followed the progress of either initiative.&lt;br /&gt;&lt;br /&gt;GENIVI seems to be progressing, there is a new report on Marketing Requirements with a summary publicly available. But for an open source project it does not seem to be very open. It is interesting to note that they see themselves as different compared to a Linux platform, at least commercially.&lt;br /&gt;&lt;br /&gt;Moblin seems to have been replaced by &lt;a href="http://meego.com"&gt;Meego&lt;/a&gt; as the in-vehicle Linux platform, with backin from Intel and Nokia. Meego had it's &lt;a href="http://meego.com/downloads/releases/1.0/meego-v1.0-in-vehicle-infotainment-ivi"&gt;first release for In-Vehicle Infotainment&lt;/a&gt; in August this year. If I understand it correctly you can download it and run it as a infotainment system already now if you like, though I have not tried this...&lt;br /&gt;&lt;br /&gt;I still believe that technically GENIVI will build on Moblin, or now Meego, but I cannot find anything about that on their homepage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-835535547022523392?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/835535547022523392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=835535547022523392&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/835535547022523392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/835535547022523392'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/08/meego.html' title='Meego'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1547839492622444504</id><published>2010-08-29T22:48:00.001+02:00</published><updated>2010-08-31T14:15:40.873+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><category scheme='http://www.blogger.com/atom/ns#' term='Software architecture reference material'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>The future of software architecture research?</title><content type='html'>There are two areas which I judge to be of great interest to the industry regarding architecture, and I see very little interest from academia&lt;br /&gt;&lt;br /&gt;First, how much effort should be put into architecting? In industry there never are unlimited man-power and indefinite time plans. So how do you know that you have done enough architecting? Or did too many people working with the architecture for a too long time? Or when are the gains in putting another man-hour too small to make it worthwhile?&lt;br /&gt;&lt;br /&gt;Second, how to define an architecture based on imperfect premises? In practice the architects never have the full picture. There might be requirements missing, stakeholders unavailable or implicit constraints. Similarly the architects themselves are no super-humans, there will be inconsistencies in what they do, things forgotten, lack of crucial knowledge or personal biases, all which cause an imperfect architecture.&lt;br /&gt;&lt;br /&gt;Personally I think that these two areas are more important from an industrial viewpoint than further software architecture research on &lt;a href="http://en.wikipedia.org/wiki/Architecture_description_language"&gt;Architecture Description Languages&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Formal_methods"&gt;formal methods&lt;/a&gt; or &lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;Service Oriented Architectures&lt;/a&gt; (the latter may be contested, but I think I am not alone).&lt;br /&gt;&lt;br /&gt;At the &lt;a href="http://www.ecsa2010.org/"&gt;4th European Conference on Software Architecture&lt;/a&gt; the &lt;a href="http://www.comp.lancs.ac.uk/~noppen/WISAD/"&gt;workshop in imperfect architecture&lt;/a&gt; was cancelled, probably due to too little interest (I heard only 3 papers were submitted). On the other hand I found 7 papers when I scanned the &lt;a href="http://www.springer.com/computer/lncs?SGWID=0-164-0-0-0"&gt;LNCS&lt;/a&gt; proceedings which in their title relates to the subjects above.&lt;br /&gt;I don't find this very promising. &lt;a href="http://www.eoinwoods.info/"&gt;Eoin Woods&lt;/a&gt; had a similar conclusion on the state of software architecture research at his ECSA talk when talking about the relationship between code and other design information, such as architecture, where he thought the academic research and the industrial needs are diverging and not converging.&lt;br /&gt;&lt;br /&gt;You can also read this related column from IEEE Software: &lt;a href="http://www.computer.org/cms/Computer.org/ComputingNow/homepage/2010/0810/rW_SW_TenBurningQuestions.pdf"&gt;The Top 10 Burning Research Questions from Practitioners.&lt;/a&gt; Especially #4 "Architecture and agile—how much design is enough for different classes of problem?" should get more attention at software architecture conferences.&lt;br /&gt;&lt;br /&gt;A colleague of mine at Volvo had an interesting proposition: Since software engineering as a dsiciplin comes from the practitioners the research community wants to keep some distance, in contrast to the "fundamental" researchers in e.g. physics who would be enthusiastic if somebody is interested in applying their theories.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1547839492622444504?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1547839492622444504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1547839492622444504&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1547839492622444504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1547839492622444504'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/08/future-of-software-architecture.html' title='The future of software architecture research?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6444076743893863143</id><published>2010-08-27T15:04:00.001+02:00</published><updated>2010-08-31T14:07:56.400+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><title type='text'>ECSA 2010 pt3</title><content type='html'>The conference had three interesting keynote speakers: &lt;a href="http://www.janbosch.com"&gt;Jan Bosch&lt;/a&gt;, &lt;a href="http://pkruchten.wordpress.com/"&gt;Philippe Kruchten&lt;/a&gt; and &lt;a href="http://jim.webber.name/"&gt;Jim Webber&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It must be quite nice to be a keynote speaker, then you have the authority of making statements like "Control is an expensive illusion causing inefficiency in the system" (JB) or "When ever you hear Service-Oriented Architecture think of orange men in rubber suits coming to rescue you" (JW) without having to prove them scientifically. Convincing and entertaining statements nevertheless.&lt;br /&gt;Philippe Kruchten's keynote was a summary of the &lt;a href="http://itu.dk/ecsa2010/conference/tutorials/"&gt;tutorial&lt;/a&gt; he gave together with Paris Avgeriou. The slides for both are &lt;a href="http://pkruchten.wordpress.com/talks/"&gt;available on-line&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6444076743893863143?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6444076743893863143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6444076743893863143&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6444076743893863143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6444076743893863143'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/08/ecsa-2010-pt3.html' title='ECSA 2010 pt3'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8627892452646693539</id><published>2010-08-26T11:25:00.000+02:00</published><updated>2010-08-30T14:54:01.053+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><title type='text'>ECSA 2010 pt2</title><content type='html'>I did not find &lt;a href="http://www.ecsa2010.org/"&gt;this year's conference&lt;/a&gt; as inspiring as &lt;a href="http://www.iso-architecture.org/wicsa2009/"&gt;last year's in Cambridge&lt;/a&gt;. I don't know why. I think both the quality of the presentation and the gap on what was presented to industrial application varied more.&lt;br /&gt;There are some papers which I plan to re-read, for example&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.springerlink.com/content/mq362819k305676r/"&gt;Lightweight and Continuous Architecture Software Quality Assurance using the aSQA Technique&lt;/a&gt;, on how to to architecture analysis in agile-type development.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.springerlink.com/content/p37u407210v2320t/"&gt;Experiences in Making Architectural Decisions during the Development of a New Base Station Platform&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Unifying Software Architecture with its Implementation&lt;/span&gt;, on the need to include architectural documentation in what actually gets maintained, i.e. the code&lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Structuring Very Large Domain Models&lt;/span&gt;, if you think you have big models see what was studied here... &lt;/li&gt;&lt;li&gt;&lt;span style="font-style: italic;"&gt;Towards a Process Maturity Model for Evolutionary Architecting of Embedded System Product Lines&lt;/span&gt;, interesting but also similar to &lt;a href="http://www.knowit.se/PageFiles/2728/KIT_kace.pdf"&gt;Knowit's Architecture Capability Evaluation&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The last three papers were all from the industry track (which also included &lt;a href="http://www.springerlink.com/content/k167200p174txu4q/"&gt;the presentation by myself&lt;/a&gt;), which I thought was as interesting as the rest of the conference together. For some reason the industry track papers was not published by &lt;a href="http://www.springer.com"&gt;Springer&lt;/a&gt; in their LNCS series, but I was told they would be available at the ACM digital library.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8627892452646693539?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8627892452646693539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8627892452646693539&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8627892452646693539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8627892452646693539'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/08/ecsa-2010-pt2.html' title='ECSA 2010 pt2'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8068040315836237684</id><published>2010-08-25T08:48:00.006+02:00</published><updated>2010-12-21T17:03:27.940+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><title type='text'>ECSA 2010 pt1</title><content type='html'>I'm at the 4th European Conference on Software Architecture in Copenhagen. The presentations varies, both in presentation skills, scientific rigour and relevance (at least to me).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.janbosch.com/"&gt;Jan Bosch&lt;/a&gt; stressed 3 key take-aways in his keynote last morning, he might post &lt;a href="http://www.janbosch.com/Jan_Bosch/Presentations_files/ECSA2010-Keynote-Bosch.pdf"&gt;the presentation on his homepage&lt;/a&gt;:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;An increase in speed trumps any increase in efficiency&lt;/li&gt;&lt;li&gt;Software engineering is moving from &lt;a href="http://www.janbosch.com/Jan_Bosch/Integration.html"&gt;integration&lt;/a&gt; to&lt;a href="http://www.janbosch.com/Jan_Bosch/Composition.html"&gt; composition&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Software architecture is the key to delightful products in &lt;a href="http://www.software-ecosystems.com/Software_Ecosystems/Definition.html"&gt;software eco-systems&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I'm not convinced that all of his conclusions are valid outside of pure software business domains. But I guiess there are som things to learn even if one makes software for systems like cars, communication satellites etc.&lt;br /&gt;&lt;br /&gt;Now I'm of to listen to &lt;a href="http://pkruchten.wordpress.com/"&gt;Philippe Kruchten&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8068040315836237684?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8068040315836237684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8068040315836237684&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8068040315836237684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8068040315836237684'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/08/ecsa-2010-pt1.html' title='ECSA 2010 pt1'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-2042448431917503509</id><published>2010-08-03T13:33:00.003+02:00</published><updated>2010-08-03T13:39:54.529+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Volvo electrical system'/><title type='text'>Geely owns Volvo Cars</title><content type='html'>Volvo Car Corporation is now fully owned by Geely. The deal was closed yesterday.&lt;br /&gt;You can read &lt;a href="http://www.reuters.com/article/idUSTRE66S1TC20100802"&gt;the full story at Reuters&lt;/a&gt; or &lt;a href="http://autonews.gasgoo.com/auto-news/1016286/china-s-geely-completes-volvo-buy.html"&gt;Gasgoo Auto News&lt;/a&gt;. New CEO will be Stefan Jacoby, formerly of VW North America.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-2042448431917503509?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/2042448431917503509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=2042448431917503509&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2042448431917503509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2042448431917503509'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/08/geely-owns-volvo-cars.html' title='Geely owns Volvo Cars'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8497902132068656900</id><published>2010-08-02T14:12:00.002+02:00</published><updated>2010-08-02T14:15:07.272+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><category scheme='http://www.blogger.com/atom/ns#' term='AUTOSAR'/><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>Exploring variation mechanisms in the automotive industry: a case study</title><content type='html'>I supervised a thesis project on run-time variability in an AUTOSAR architecture.&lt;br /&gt;You can read about the project, and download the thesis report, at the student's web site: &lt;a href="http://blog.quandoo.se/thesis/"&gt;quandoo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8497902132068656900?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8497902132068656900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8497902132068656900&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8497902132068656900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8497902132068656900'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/08/exploring-variation-mechanisms-in.html' title='Exploring variation mechanisms in the automotive industry: a case study'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1675088032160208463</id><published>2010-07-02T14:42:00.008+02:00</published><updated>2011-04-06T16:10:27.556+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering practices'/><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture for Small Systems'/><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>Books on programming embedded systems</title><content type='html'>I'm looking for a good text an programming embedded systems (for example an automotive ECU) but I can't find any that suits the bill. I was hoping to suggest something to students that avoids the trial and error learning methodology I had to endure.&lt;br /&gt;&lt;br /&gt;A quick search on Amazon shows some which could be relevant:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Programming-Embedded-Systems-Development-Tools/dp/0596009836/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1278080456&amp;amp;sr=1-1"&gt;Programming Embedded Systems: With C and GNU Development Tools&lt;/a&gt; by Michael Barr and Anthony Massa&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Embedded-Software-Primer-David-Simon/dp/020161569X/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1278080456&amp;amp;sr=1-3"&gt;An Embedded Software Primer&lt;/a&gt; by David E. Simon&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Embedded-C-Michael-J-Pont/dp/020179523X/ref=sr_1_9?ie=UTF8&amp;amp;s=books&amp;amp;qid=1278080456&amp;amp;sr=1-9"&gt;Embedded C&lt;/a&gt; by Michael J Pont&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.amazon.com/Embedded-Software-Development-Kai-Qian/dp/1441906053/ref=sr_1_15?ie=UTF8&amp;amp;s=books&amp;amp;qid=1278081583&amp;amp;sr=1-15"&gt;Embedded Software Development with C&lt;/a&gt; by Kai Qian, David Den Haring and Li Cao&lt;/li&gt;&lt;/ul&gt;Especially the latter sounds interesting since &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/04/more-books-on-architecture.html"&gt;I like the software architecture book from the same author&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I was thinking of writing a book myself on the subject. But it would mostly haven been a collection of data one can find on the internet with some detective work. Subjects to include would be:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Introduction to C&lt;/span&gt;, since embedded systems are programmed in C. Period....&lt;br /&gt;I like &lt;a href="http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1278083302&amp;amp;sr=1-1"&gt;K&amp;amp;R&lt;/a&gt;, but you can choose any book that suits the bill.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Good coding practices in C&lt;/span&gt;, for example MISRA C rules.&lt;br /&gt;Read some example of MISRA C-rules &lt;a href="http://www.iar.com/website1/1.0.1.0/474/1/index.php"&gt;here&lt;/a&gt;, &lt;a href="http://www.embedded.com/columns/beginerscorner/9900659?_requestid=427335"&gt;here&lt;/a&gt; and &lt;a href="http://www.knosof.co.uk/misracom.html"&gt;here&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;RTOS basics, &lt;/span&gt;since this is what is used on most embedded systems.&lt;br /&gt;Read chapter 1 in the &lt;a href="http://www.rt-labs.com/downloads/rt-kernel_refman.pdf"&gt;User &amp;amp; reference manual of rt:kernel&lt;/a&gt; from &lt;a href="http://www.rt-labs.com/"&gt;rt:labs&lt;/a&gt; for a good introduction. But personally I prefer the &lt;a href="http://www.embedded.com/2000/0006/0006feat1.htm"&gt;"run-to-completion" type of tasks which don't wait for external events for predictability&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Interrupts, stacks, and memory handling&lt;/span&gt; - &lt;a href="http://en.wikipedia.org/wiki/Interrupt_handler"&gt;ISR&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/RAM"&gt;RAM&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/NVRAM"&gt;NVRAM&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Read-only_memory"&gt;ROM&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Flash_memory"&gt;Flash&lt;/a&gt; and every other acronym you can think of...&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Development environments, and compilers&lt;/span&gt; for embedded development&lt;br /&gt;My experience is that this is pretty much decided by the OS you are using. I have experienced very mysterious bugs just by not having the correct compiler version, so I can' imagine what could happen when having a compiler from a different vendor... &lt;a href="http://www.iar.com/website1/1.0.1.0/675/1/"&gt;IAR graciously provides all of their manuals free of charge and their IDE and compilers on 30-day on a 30-day free trial.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Various hardware&lt;/span&gt; on a typical embedded controller - Details on how to access hardware with code examples.&lt;br /&gt;You can see examples of typical hardware devices in the &lt;a href="http://cache.freescale.com/files/microcontrollers/doc/ref_manual/MC9S12XS256RMV1.pdf?fpsp=1&amp;amp;WT_TYPE=Data%20Sheets&amp;amp;WT_VENDOR=FREESCALE&amp;amp;WT_FILE_FORMAT=pdf&amp;amp;WT_ASSET=Documentation"&gt;Freescale MC9S12XS256 Reference Manual&lt;/a&gt;, a typical automotive processor, especially chapter 10-19. Mind you that this manual is 738 pages long, so it's pedagogical value is limited.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Debugging&lt;/span&gt; - Too much to cover for this blog post. This is the real dark arts...&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Architecture of embedded systems&lt;/span&gt;&lt;br /&gt;Almost all embedded systems are layered, but why? And how do you know which layers to have in &lt;span style="font-style: italic;"&gt;your&lt;/span&gt; system? And how do you identify the tasks you should have when schedule the system?&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1675088032160208463?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1675088032160208463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1675088032160208463&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1675088032160208463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1675088032160208463'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/07/books-on-programming-embedded-systems.html' title='Books on programming embedded systems'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-2994374287354535784</id><published>2010-06-24T10:24:00.009+02:00</published><updated>2010-07-02T11:35:12.658+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AUTOSAR'/><title type='text'>Competitiveness from structuring of AUTOSAR applications</title><content type='html'>&lt;a href="http://www.autosar.org/"&gt;AUTOSAR&lt;/a&gt; 4.0 was released some time ago, and in certain areas it was a major update compared to version 3.1 of the standard. Besides the changes to the Basic Software one of the things I think may have a great impact when it comes to sourcing software from suppliers are the results from the 10.x work packages that deals with application interfaces (i.e. interfaces of the software components above the RTE).&lt;br /&gt;&lt;br /&gt;In my mind structuring the applications and standardising their interfaces pretty much defined what &lt;a href="http://en.wikipedia.org/wiki/Quality_attributes"&gt;quality attributes&lt;/a&gt; ("-ilities") the software would have, especially when it comes to &lt;a href="http://en.wikipedia.org/wiki/Quality_attributes"&gt;"Evolution qualities, such as testability, maintainability, extensibility and scalability, which are embodied in the static structure of the software system"&lt;/a&gt; to quote wikipedia. So with the OEM-supplier relationships that most vehicle manufacturers have and with the static structure standardised by AUTOSAR it would be almost impossible to compete with the "-ilities above. So how does one use AUTOSAR and "cooperate on standards, compete on implementation"?&lt;br /&gt;&lt;br /&gt;I got the answer in &lt;a href="http://www.autosar.org/download/papersandpresentations/AUTOSAR%20-%20A%20Worldwide%20Standard%20is%20on%20the%20Road.pdf"&gt;a paper by Simon Fürst et al.&lt;/a&gt; presented at &lt;a href="http://www.vdi-wissensforum.de/index.php?id=603"&gt;14th International VDI Congress Electronic Systems for Vehicles 2009&lt;/a&gt; in Baden-Baden.&lt;br /&gt;&lt;blockquote&gt;"In general, applications are the competitive edge of an ECU. AUTOSAR is not going to standardize the functional internal behavior of an application (e.g. algorithms, optimization) but the content exchanged between applications. This clarifies the exchange of applications between the automotive community, from OEM to suppliers as well as supplier to supplier and so forth."&lt;/blockquote&gt;&lt;br /&gt;So competitiveness is "only" achieved by algorithm optimisation? A typical control engineer's viewpoint and not a software engineer's? This means that an OEM can only distinguish itself from the competitors by run-time qualities and not by qualities such as evolvability or testability?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Do I even need to say that this is my personal opinion based on the teaching I do in software architecture and does not necessarily reflect my colleagues' opinions or the company I work for.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-2994374287354535784?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/2994374287354535784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=2994374287354535784&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2994374287354535784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2994374287354535784'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/competitiveness-from-structuring-of.html' title='Competitiveness from structuring of AUTOSAR applications'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8223881938840811680</id><published>2010-06-24T10:05:00.002+02:00</published><updated>2010-06-24T10:13:51.191+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software architecture reference material'/><title type='text'>Blogs</title><content type='html'>I follow two "professional" blogs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://heartbeatdevelopment.blogspot.com/"&gt;Heartbeat Development&lt;/a&gt; by a former colleague of mine, Johan Segertoft&lt;/li&gt;&lt;li&gt;&lt;a href="http://saturnnetwork.wordpress.com/"&gt;SEI Architecture Technology User Network Blog&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The latter had in a &lt;a href="http://saturnnetwork.wordpress.com/2010/06/14/link-roundup-june-14-2010/"&gt;recent post&lt;/a&gt; some links to other blogs which also deals with architecture.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8223881938840811680?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8223881938840811680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8223881938840811680&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8223881938840811680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8223881938840811680'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/blogs.html' title='Blogs'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6490319857448809961</id><published>2010-06-23T15:08:00.000+02:00</published><updated>2010-06-24T16:14:07.734+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><title type='text'>ICSE 2011</title><content type='html'>The &lt;a href="http://www.icse-conferences.org/"&gt;International Conference of Software Enginering&lt;/a&gt; is on Hawaii in 2011. Deadline for the main research track is Friday 20 August 2010. Time to hurry if I want to submit something...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2011.icse-conferences.org"&gt;&lt;img src="http://2011.icse-conferences.org/sites/icse2011/files/publicity/ICSE2011-Surfer-Logo.png" border="0"  alt="ICSE 2011" title="ICSE 2011" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6490319857448809961?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6490319857448809961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6490319857448809961&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6490319857448809961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6490319857448809961'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/icse-2011.html' title='ICSE 2011'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-2463385305581534847</id><published>2010-06-18T14:44:00.008+02:00</published><updated>2010-06-29T23:33:20.311+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Swedsoft meeting</title><content type='html'>Last week I attended a meeting between &lt;a href="http://www.dice.se/"&gt;DICE&lt;/a&gt; and &lt;a href="http://www.abb.com/"&gt;ABB&lt;/a&gt; with additional participants from &lt;a href="http://www.volvocars.com/"&gt;Volvo Cars&lt;/a&gt; and &lt;a href="http://www.ericsson.com/"&gt;Ericsson&lt;/a&gt; as well as some from academia. The meeting was arranged by &lt;a href="http://www.swedsoft.se/"&gt;Swedsoft&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I know nothing of the game industry so it was especially interesting to listen to the presenters from DICE, who all worked with the development of their game engine &lt;a href="http://en.wikipedia.org/wiki/Frostbite_Engine"&gt;Frostbite&lt;/a&gt;. Some things were of particular interest:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There is a fairly strong architecture for the Frostbite engine. Both for the runtime architecture (client-server) and even more important for the development architecture where the runtime architecture is just a "small" part besides e.g. the FrostEd editor for game objects and the build database(s).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;They use extensive knowledge about the game (domain knowledge) to minimise necessary information sent to/from the server and the clients (the latter being the software you buy at a gaming store and run on your Xbox360/PS3/PC).&lt;/li&gt;&lt;li&gt;The run-time architecture uses parallel processing in multiple cores and distributes "jobs" between the cores dynamically.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;They use continuous builds, i.e. as soon as a programmer checks in new code it is built into a working program. This for the game developers always to have something to run.&lt;/li&gt;&lt;li&gt;They only do positive testing, e.g. the program shall have this feature. No test on the program shall not...&lt;/li&gt;&lt;li&gt;The Frostbite team consists of 19 developers and they update and maintain 1.5 MLOC for all 3 platforms (Xbox 360, PS3 and Windows). It is like we would maintain the entire in-vehicle software with 20 people.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I hope I didn't misunderstood anything...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-2463385305581534847?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/2463385305581534847/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=2463385305581534847&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2463385305581534847'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2463385305581534847'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/swedsoft-meeting.html' title='Swedsoft meeting'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6725175796127759948</id><published>2010-06-16T13:30:00.005+02:00</published><updated>2010-06-23T12:47:34.490+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My presentations'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Lindholmen Software Development Day 2010</title><content type='html'>&lt;a href="http://www.lindholmen.se/en/nyhetsbrev/2010/invitation-attend"&gt;Lindholmen Software Development Day&lt;/a&gt; is a yearly free get-together for local "software developers, managers, project managers and business developers" here at the north river shore in Göteborg. The theme for this year is&lt;ul&gt;&lt;li&gt;Perspectives on and analyses of the changing market situation&lt;/li&gt;&lt;li&gt;Software development philosophies supporting the changed situation&lt;/li&gt;&lt;li&gt;Discipline Integration challenges and solutions, e.g., in  H/W-S/W codesign&lt;/li&gt;&lt;li&gt;Processes, Methods or tools  to improve speed, efficiency, or quality&lt;/li&gt;&lt;li&gt;Experience reports from new ways of working&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I was asked by some people at Volvo Cars to present something relevant to us, and after some thought the topic of my talk would be "The future of automotive software engineering". Not pretentious at all...&lt;br /&gt;Here is the outline I proposed. Any acceptance notification will come in August.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;ul&gt;&lt;li&gt;General briefing on current and future trends in automotive software engineering&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Exponential increase in size, complexity, innovations, …&lt;/li&gt;&lt;li&gt;Cycle times are dictated by what?&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Industry-wide ways to cope&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Standardisation&lt;/li&gt;&lt;li&gt;Model-based development&lt;/li&gt;&lt;li&gt;Architecture&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Soft issues&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Knowledge and maturity in the industry&lt;/li&gt;&lt;li&gt;How to earn money?&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Some examples (from Sweden)&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6725175796127759948?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6725175796127759948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6725175796127759948&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6725175796127759948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6725175796127759948'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/lindholmen-software-development-day.html' title='Lindholmen Software Development Day 2010'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6528809238706198934</id><published>2010-06-15T15:45:00.001+02:00</published><updated>2010-06-23T12:48:17.051+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Concurrent architecture</title><content type='html'>To continue my thoughts about the programming language &lt;a href="http://www.erlang.org/"&gt;Erlang&lt;/a&gt; and especially how an architecture for a system implemented in Erlang would look like...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.erlang.org/download/armstrong_thesis_2003.pdf"&gt;Joe Armstrong's PhD Thesis&lt;/a&gt; provides a very good understanding of the basic principles of Erlang. I think that some of the mechanism in the language makes several pattens in &lt;a href="http://www.amazon.com/Pattern-Oriented-Software-Architecture-Concurrent-Networked/dp/0471606952/"&gt;Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects&lt;/a&gt; unnecessary.&lt;br /&gt;&lt;br /&gt;I think it would be quite useful to describe the architecture in views. I think the &lt;a href="http://www.cs.ubc.ca/%7Egregor/teaching/papers/4+1view-architecture.pdf"&gt;"standard" 4+1 views&lt;/a&gt; could be used quite easy for a system implemented in Erlang as well.&lt;br /&gt;However it may not be the logical view that the other views are derived from, rather I would think that the process view would be the basic view. Kruchten has an underlying assumption that the logical view is object-oriented. This is obviously not relevant for a system implemented in Erlang so a different notion of the logical view is necessary.&lt;br /&gt;&lt;br /&gt;Joe Armstrong strongly suggest a hierarchy of processes. A &lt;a href="http://en.wikipedia.org/wiki/Domain_model"&gt;problem domain model&lt;/a&gt; could be a good way to identify the top-level processes, e.g. the PDM classes could be the initial processes and the asynchronous interaction will be implemented as messages, since reality is asynchronous. I need to try this in practice though...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6528809238706198934?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6528809238706198934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6528809238706198934&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6528809238706198934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6528809238706198934'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/concurrent-architecture.html' title='Concurrent architecture'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1231412876530210157</id><published>2010-06-11T11:59:00.000+02:00</published><updated>2010-06-11T13:05:42.466+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>Architecture reconstruction pt. 3</title><content type='html'>These are some random notes the students took while doing the intial reconstruction (I translated some notes in Swedish to English).&lt;br /&gt;I don't know if they will finish, since the semester has ended.&lt;br /&gt;&lt;br /&gt;Why does the camera know about the state of the Robot?&lt;br /&gt;The camera, having a relative angle could not properly determine the angle of an identified object when the vehicle is, for example turning.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style: italic;"&gt;event handler&lt;/span&gt; gets information from the &lt;span style="font-style: italic;"&gt;wheels&lt;/span&gt; and sends to the &lt;span style="font-style: italic;"&gt;camera&lt;/span&gt;. Now there is both &lt;span style="font-style: italic;"&gt;idle&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;turn&lt;/span&gt;. But the &lt;span style="font-style: italic;"&gt;camera&lt;/span&gt; runs the same function regardless of the message it gets, why does then &lt;span style="font-style: italic;"&gt;turn&lt;/span&gt; exist?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusions:&lt;/span&gt;&lt;br /&gt;Different ways to send states thorughut the system, some are event driven and some are conditional.&lt;br /&gt;Naming standard and file structure are not the same throughout the system.&lt;br /&gt;The protocol files were located in different places.&lt;br /&gt;The fact that the different modules use different architectures is OK since the circumstances for them are very different.&lt;br /&gt;The name &lt;span style="font-style: italic;"&gt;OS&lt;/span&gt; of one of the applications on the Arduino Mega is not very suitable since it is situated at the top of the hierarchy.&lt;br /&gt;&lt;br /&gt;"Trust is good, control is better" - a quote from a former architect  colleague of mine which the students liked enough to write down&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1231412876530210157?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1231412876530210157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1231412876530210157&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1231412876530210157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1231412876530210157'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/architecture-reconstruction-pt-3.html' title='Architecture reconstruction pt. 3'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6194900926600654047</id><published>2010-06-08T17:13:00.005+02:00</published><updated>2010-06-09T10:59:35.184+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>Erlang</title><content type='html'>I don't do enough programming!&lt;br /&gt;&lt;br /&gt;It has been years since I actually was allowed (asked?) to write any production code that goes into any of Volvo vehicle, since we buy a majority of our in-vehicle software from suppliers. Besides that, most of the in-house code we do nowadays are auto-generated from &lt;a href="http://www.mathworks.com/products/simulink/"&gt;Simulink&lt;/a&gt; and &lt;a href="http://www.mathworks.com/products/stateflow/"&gt;Stateflow&lt;/a&gt; models.&lt;br /&gt;Mostly I have reviewed what others have put in our vehicles, which is not nearly as rewarding. And this usually only happens when there is a problem, usually not a bug fix but rather more complicated, like real-time scheduling or improper use or configuration of the basic (or platform) software.&lt;br /&gt;&lt;br /&gt;Since I will take a more active part in the a &lt;a href="http://www.ait.gu.se/digitalAssets/1148/1148963_TIG029_Project_Software_Architecture_Distributed_Systems_15scp.070214.pdf"&gt;project course&lt;/a&gt; at the &lt;a href="http://www.ituniv.se"&gt;IT University&lt;/a&gt; which uses &lt;a href="http://en.wikipedia.org/wiki/Erlang_(programming_language)"&gt;Erlang&lt;/a&gt; I think I will look into that. Erlang has some features which appeals to me personally:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Support for asynchronous parallel processing, ideal for multi-core processors&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Functional_language"&gt;Functional paradigm&lt;/a&gt;, in contrast to the dominating &lt;a href="http://en.wikipedia.org/wiki/Object-oriented_programming"&gt;OO paradigm&lt;/a&gt;, so I need to brush up old knowledge of things I haven't used since graduating in 1993.&lt;/li&gt;&lt;li&gt;Freeware from the &lt;a href="http://www.erlang.org"&gt;erlang website&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Access to some experts on the language&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Confession: I'm not really that skilled OO programmer either, I could probably not write a Java program if my life depended on it. I'm too old school, almost all professional programming I've done have been in &lt;a href="http://en.wikipedia.org/wiki/C_(programming_language)"&gt;C&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Fortran"&gt;Fortran&lt;/a&gt;, with some &lt;a href="http://en.wikipedia.org/wiki/Assembler_language"&gt;Assembler&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/IDL_(programming_language)"&gt;IDL&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6194900926600654047?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6194900926600654047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6194900926600654047&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6194900926600654047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6194900926600654047'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/erlang.html' title='Erlang'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4654550914014047845</id><published>2010-06-04T17:18:00.003+02:00</published><updated>2010-06-06T08:48:39.196+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>Architecture reconstruction pt. 2</title><content type='html'>The students wanted to have some tool support in identifying the relationships between various functions (i..e. who called who). This was simpler in theory than in practice.&lt;br /&gt;&lt;br /&gt;A not-so-quick search on the internet listed some potential candidates:&lt;br /&gt;Code Visualizer&lt;br /&gt;Crystal FLOW for C&lt;br /&gt;Code  Visual to Flowchart&lt;br /&gt;http://www.EtherPad.com&lt;br /&gt;http://www.metamill.com/&lt;br /&gt;http://rigi.uvic.ca/&lt;br /&gt;http://www.informatik.uni-stuttgart.de/ifi/ps/bauhaus/index-english.html&lt;br /&gt;&lt;br /&gt;However none of these were very easy to use, or could not handle C as a programming language.&lt;br /&gt;They also tried Rhapsody since they had a student license form another course and Enterprise Architect since it was possible to download a time-limited demo and these programs had no problems importing the code and identifying modules and functions, but they did not identity the calling relationships.&lt;br /&gt;&lt;br /&gt;The students did not want to spend to many hours fiddling with tools so in the end they settled for manually inspecting the C code and identify what files included what other files. Since it was a distributed embedded system with 4 microprocessors and about 30 kLOC it was a doable task. Let's say that the 7 development teams had  &lt;br /&gt;quite different "strategies" for decomposing their code. &lt;br /&gt;&lt;br /&gt;My personal observation is that even such a "simple" thing as decomposing you C program into files actually needs structuring principles if several development teams (or developers) work in a project, otherwise maintenance will be very difficult.&lt;br /&gt;&lt;br /&gt;I still haven't decided if I should publish the more "awkward" ways to do it as examples to learn form, I don't want to point fingers at any particular students.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4654550914014047845?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4654550914014047845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4654550914014047845&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4654550914014047845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4654550914014047845'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/06/architecture-reconstruction-pt-2.html' title='Architecture reconstruction pt. 2'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4893221135784296120</id><published>2010-05-28T12:05:00.009+02:00</published><updated>2010-06-08T16:59:47.192+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>Architecture reconstruction</title><content type='html'>Each spring a project course called &lt;a href="http://www.ait.gu.se/digitalAssets/1148/1148966_TIG032_Project_Industrial_IT_and_Embedded_Systems.15scp.070214.pdf"&gt;Industrial IT and Embedded Systems&lt;/a&gt; is given at the IT University. A description of the project from 2009 can be read &lt;a href="http://www.ait.gu.se/english/current/news/Nyhet_detalj/?languageId=100001&amp;amp;contentId=882686&amp;amp;disableRedirect=true&amp;amp;returnUrl=http%3A%2F%2Fwww.ait.gu.se%2Faktuellt%2Fnyheter%2Ffulltext%2F%2Flegobygge-ger-hogskolepoang.cid882686"&gt;here&lt;/a&gt;.&lt;br /&gt;The students used &lt;a href="http://trac.edgewall.org/"&gt;trac&lt;/a&gt; to support their project and you can access the &lt;a href="http://itupw056.itu.chalmers.se/trac/emb10/"&gt;public project pages here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This year I coached the students responsible for defining the overall architecture at the beginning of the project.&lt;br /&gt;The project is finished with an official demo of the robot's capabilities, but some students approached me with an interest of doing a "post mortem" of the software as an additional learning experience. I thought this would be quite interesting, enough so to share any experiences on this blog.&lt;br /&gt;&lt;br /&gt;These were the primary goals the students defined for the exercise:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Learning more about architecture&lt;/li&gt;&lt;li&gt;Only analysis, not update current project (code)&lt;/li&gt;&lt;li&gt;Reconstruct existing robot architecture&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Automatic reconstruction using a tool&lt;/li&gt;&lt;li&gt;Create "logical view" from source code, showing dependencies on function level&lt;/li&gt;&lt;li&gt;Variable scope, global variables &lt;/li&gt;&lt;li&gt;Process view&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Evaluation, compare against first architecture&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Second priority goals:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;What could have been done in other ways and what impact would those changes have made&lt;/li&gt;&lt;li&gt;Improvement Ideas&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The students doing the reconstruction use the excellent tool &lt;a href="http://piratepad.net/"&gt;Pirate Pad&lt;/a&gt; to capture notes and common ideas. Pirate Pad is a simple pre-runner of &lt;a href="http://wave.google.com/"&gt;Google Wave&lt;/a&gt; where you don't have to register to create a pad, everybody just access the same web address and start collaborating.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4893221135784296120?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4893221135784296120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4893221135784296120&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4893221135784296120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4893221135784296120'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/05/architecture-reconstruction.html' title='Architecture reconstruction'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7249172055092544777</id><published>2010-05-26T15:58:00.004+02:00</published><updated>2010-08-20T10:53:07.571+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Yet another article</title><content type='html'>&lt;a href="http://www.ecsa2010.org/"&gt;&lt;img style="WIDTH: 490px; CURSOR: hand; HEIGHT: 100px; center: " alt="" src="http://itu.dk/ecsa2010/images/ecsabanner.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;The blog is updated on a very irregular basis. the main reason is that I presently have 3 articles in the pipeline and this takes priority over anything else. The latest article which I need to update is to &lt;a href="http://www.ecsa2010.org/"&gt;ECSA 2010&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Dear AUTHORS,&lt;br /&gt;&lt;br /&gt;Unfortunately your paper has not been accepted 'as it is' for inclusion in the program of the 4th European Conference on Software Architecture 2010 (ECSA 2010), which will be held on August 23-26 in Copenhagen, Denmark.&lt;br /&gt;&lt;br /&gt;However, the program committee felt that the work reported in your paper has a number of interesting ideas, hence, I would like to invite you to prepare a shortened version of your paper for inclusion as "Emerging research" category Paper in the ECSA 2010 proceedings. As noted on the conference website, the "Emerging research" papers (8 pages of Springer formating) present promising achievements from work-in-progress and are intended to stimulate discussion related to ideas and experiences. For further details about the "Emerging research" papers, plesae visit ECSA 2010 website (http://www.ecsa2010.org). To accommodate publication schedules, final papers must be submitted by June 11, 2010.&lt;br /&gt;&lt;br /&gt;... snip ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. The camera ready copy of your paper is due by June 11, 2010 (This is a hard deadline!).&lt;br /&gt;&lt;br /&gt;... snip ...&lt;br /&gt;&lt;br /&gt;Once again, congratulations on having your paper accepted as an "Emerging research" paper. We look forward to receiving your final camera ready paper, and to seeing you in Copenhagen, Denmark.&lt;br /&gt;&lt;br /&gt;If you have any question or comment, please email me.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;&lt;br /&gt;Ali&lt;br /&gt;&lt;br /&gt;ECSA 2010 Program Chair.&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7249172055092544777?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7249172055092544777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7249172055092544777&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7249172055092544777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7249172055092544777'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/05/yeta-another-article.html' title='Yet another article'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6622792400700902602</id><published>2010-05-04T20:36:00.004+02:00</published><updated>2010-05-04T20:48:18.719+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software engineering conferences'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Time to plan a trip to Korea...</title><content type='html'>The paper &lt;span style="font-style:italic;"&gt;Architecting Automotive Product Lines: Industrial Practice&lt;/span&gt; by Håkan Gustavsson from&lt;a href="http://www.scania.com/"&gt; Scania&lt;/a&gt; and myself have been accepted to the 14th &lt;a href="http://splc.net/"&gt;Software Product Line Conference&lt;/a&gt;.&lt;br /&gt;&lt;blockquote&gt;"Dear authors,&lt;br /&gt;&lt;br /&gt;Thank you for your submission to &lt;a href="http://splc2010.postech.ac.kr/"&gt;SPLC 2010&lt;/a&gt;.&lt;br /&gt;We are pleased to inform you that your paper has been accepted for inclusion in the &lt;a href="http://splc2010.postech.ac.kr/fullpapers.html"&gt;SPLC full paper program&lt;/a&gt;.&lt;br /&gt;Due to strong competition, we could only accept 28 full papers out of 90 submissions, giving an acceptance rate of 31%.&lt;br /&gt;Congratulations on being included in this select group.&lt;br /&gt;&lt;br /&gt;... snip ...&lt;br /&gt;&lt;br /&gt;Once again, congratulations on having your paper accepted.&lt;br /&gt;We look forward to receiving your final revised paper, and to seeing you in September in &lt;a href="http://www.ramadajeju.co.kr/"&gt;Juju Island&lt;/a&gt;, South Korea.&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;&lt;br /&gt;Jan Bosch and Jaejoon Lee&lt;br /&gt;PC Co-chairs&lt;br /&gt;SPLC 2010"&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6622792400700902602?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6622792400700902602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6622792400700902602&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6622792400700902602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6622792400700902602'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/05/time-to-plan-trip-to-korea.html' title='Time to plan a trip to Korea...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4304675637451865322</id><published>2010-04-30T14:02:00.005+02:00</published><updated>2010-04-30T14:20:26.457+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>More books on architecture</title><content type='html'>I &lt;a href="http://automotive-sw-architecture.blogspot.com/2009/06/software-architecture-book-reviews.html"&gt;previously wrote about some textbooks about software architecture&lt;/a&gt;. I have have since received three more books.&lt;br /&gt;&lt;br /&gt;The first,&lt;a href="http://he-cda.wiley.com/WileyCDA/HigherEdTitle/productCd-0470167742.html"&gt; &lt;span style="font-style: italic;"&gt;Software Architecture: Foundations, Theory, and Practice&lt;/span&gt;&lt;/a&gt;, I disregarded fairly quickly. I think it is too verbose (712 pages!). I could not find the brevity and clarity I think a good textbook should have to should support understanding instead of overwhelming the reader with facts.&lt;br /&gt;&lt;br /&gt;I have not had the time to read through &lt;a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0471228869.html"&gt;The Art of Software Architecture: Design Methods and Techniques&lt;/a&gt; yet, it arrived today in the mail.&lt;br /&gt;&lt;a href="http://www.jbpub.com/catalog/9780763754204/"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; Software Architecture and Design Illuminated&lt;/span&gt;&lt;/a&gt; covers a number of different types or styles of architectures, and does so in a manner familiar to the students at&lt;a href="http://www.ait.gu.se/utbildning/Program/se_m/"&gt; SE &amp;amp; M&lt;/a&gt; (i.e. in UML models and in Java code examples). It takes a completely different approach to quality attributes compared to&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.pearsoned.co.uk/Student/detail.asp?item=100000000030861"&gt;Software Architecture in Practice&lt;/a&gt; (SAiP), it is structured according to different architectural designs and explains what they are good and bad at. So rather by learning by reason about concepts if focuses on learning by examples. This means that the coverage of quality attributes and tactics is not as comprehensive as in &lt;span style="font-style: italic;"&gt;SAiP&lt;/span&gt;, for example attributes and tactics related to embedded systems are lacking in comparison since there are few examples of those in the book.&lt;br /&gt;However since the course presently is structured according to theory and not examples of different types of architectures it would require more update of the course compared to the other texts.&lt;br /&gt;The book also has some on-line material for instructors which I have not yet been evaluated.&lt;br /&gt;Summary: Good book which I think presently is the best undergraduate book out there. I like the example-based approach, but it might just be appealing to me because of the fresh approach to an already familiar subject.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4304675637451865322?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4304675637451865322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4304675637451865322&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4304675637451865322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4304675637451865322'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/04/more-books-on-architecture.html' title='More books on architecture'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-9090340486679203662</id><published>2010-04-26T09:53:00.005+02:00</published><updated>2010-04-26T10:18:00.567+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>On variants...</title><content type='html'>During my research I gained some inside information into how various automotive manufacturers work. One very interesting observation is to see how different companies approach variants.&lt;br /&gt;&lt;br /&gt;I know of two high-end companies having as a general architectural strategy not to have variants of systems or ECUs. &lt;span style="font-style: italic;"&gt;Note that the electrical system as a whole may me different due to e.g. feature content, but if the system has a body control module there only exist one variant of that module both in development and manufacturing.&lt;/span&gt; To my understanding they are only using the &lt;span style="font-style:italic;"&gt;optional variant&lt;/span&gt; in &lt;a href="http://www.sei.cmu.edu/library/assets/variability.pdf"&gt;F. Bachmann and L. Bass, "Managing variability in software architectures," SIGSOFT Software Engineering Notes,  vol. 26, 2001, pp. 126-132&lt;/a&gt;, and not any of the other types.&lt;br /&gt;&lt;br /&gt;Personally I think that this is very beneficial for a company, both from an engineering and from a manufacturing perspective, even if it seems wasteful not to cost-optimise an ECU.&lt;br /&gt;&lt;br /&gt;But this strategy is probably not for everyone. There are some common characteristics between these two companies:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The are both high-end brands and have customers that can afford to buy the best.&lt;/li&gt;&lt;li&gt;They are not mass producers, only in the order of 100k vehicles per year. This means that development costs are &lt;span style="font-style: italic;"&gt;not&lt;/span&gt; negligible to article cost, even if they are smaller.&lt;/li&gt;&lt;li&gt;Tailoring to the customer needs is an important business strategy.&lt;/li&gt;&lt;li&gt;The have unusually high ROI compared to the average for the automotive industry. Being successful is another way of describing it.&lt;/li&gt;&lt;/ul&gt;And no, Volvo Cars is not one of the two companies...&lt;br /&gt;&lt;br /&gt;The question is how you "dare" to go for such an architectural strategy if you are not already doing it? I think developing a business case to show that you would earn more $$$ with such a strategy would be extremely difficult.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-9090340486679203662?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/9090340486679203662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=9090340486679203662&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/9090340486679203662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/9090340486679203662'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/04/on-variants.html' title='On variants...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1373450302224388018</id><published>2010-04-26T09:48:00.002+02:00</published><updated>2010-04-26T09:53:39.209+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Fallacies towards lean architecting</title><content type='html'>If architecting is seen as an effort on which you can spend more or less resources with a better or worse result I wonder how you identify the trade-off where you get the "most bang for the buck"?&lt;br /&gt;&lt;br /&gt;I think this is a fundamental question to ask if one discusses architecture from a lean perspective. To use the standard lean criteria, to eliminate everything that does not contribute to end-customer value, disregards several important (?) quality attributes of an software architecture. One could argue that a product line approach benefits the end-customer, but to be honest I think it is the developing (creating?) organisation that reaps the main part of any benefits.&lt;br /&gt;&lt;br /&gt;What are some fallacies that would detract from the most efficient architecture? A personal list would be something like this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Completeness of the architecture - To aim for an architecture that describes 100% of the system at some abstraction level is not efficient. I don't think I need to detail this argument besides &lt;a href="http://en.wikipedia.org/wiki/Pareto_principle"&gt;Pareto's law&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Formality - Strictness in describing the views may hinder the stakeholders' understanding of their concerns. To much effort on defining and/or understanding modelling rules is not efficient.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Detail - An architecture is a top level design, and I would put an emphasis here on top-level. It should not bother with details best left to other tasks (and stakeholders)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Traceability - To require traceability to all requirements that affect the design of an architecture and traceability from all requirements resulting from architectural decisions is not efficient. On the other hand to have no traceability is not efficient either.&lt;br /&gt;There should be enough to convince the stakeholders that vital concerns have been addressed. So it basically is the stakeholders that define the necessary level. Note that very rigorous stakeholder may completely big down an architect with demands on traceability...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I would like to expand these thoughts in a more rigorous way, enough to present at some workshop, or at least have more discussions with researchers and practitioners. I'm still waiting for &lt;a href="http://www.leansoftwarearchitecture.com/"&gt;the book by Coplien and Bjørnvig&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1373450302224388018?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1373450302224388018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1373450302224388018&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1373450302224388018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1373450302224388018'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/04/fallacies-towards-lean-architecting.html' title='Fallacies towards lean architecting'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4829295471299258380</id><published>2010-04-19T15:30:00.004+02:00</published><updated>2010-04-19T15:59:40.292+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture Business Cycle'/><title type='text'>Presentation on lean product development</title><content type='html'>I got a link from a colleague with &lt;a href="http://scpro.streamuk.com/uk/player/Default.aspx?wid=6977&amp;amp;ptid=22&amp;amp;t=0"&gt;a presentation on Lean development at Jaguar and Land Rover&lt;/a&gt; by &lt;a href="http://www.ntu.ac.uk/nbs/about/the_dean/"&gt;Baback Yazdani&lt;/a&gt;.  The interesting part starts after 14 minutes.&lt;br /&gt;&lt;br /&gt;See the presentation, it is one of the best I've heard that focuses on lean product development (instead of lean manufacturing), and acknowldges the fact that not all value created by PD can be measured in money (for example the ability to do rapid development is a product of doing development). He also states that the critical issue of lean in PD is about reducing lead time.&lt;br /&gt;&lt;br /&gt;One of the key things I think everybody should remember from the presentation is that you should not (cannot) utilise a development organisation more than 70-80% if you want to go lean. If you do that there will not be enough "thinking time" to identify potential improvements.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4829295471299258380?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4829295471299258380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4829295471299258380&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4829295471299258380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4829295471299258380'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/04/presentation-on-lean-product.html' title='Presentation on lean product development'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7130583371624198354</id><published>2010-03-29T18:12:00.005+02:00</published><updated>2010-03-30T10:42:40.139+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Volvo electrical system'/><title type='text'>Volvo is sold to Chinese Geely</title><content type='html'>Yes, I am aware that &lt;a href="http://www.volvocars.com"&gt;Volvo Car Corporation&lt;/a&gt; has been sold to &lt;a href="http://www.geely.com/"&gt;Zhejiang Geely Holding Group&lt;/a&gt;. We, the employees, was informed by the newspapers, same as everyone else...&lt;br /&gt;&lt;br /&gt;Read more about it from &lt;a href="http://autonews.gasgoo.com/auto-news/1014571/Ford-sells-Volvo-to-Geely-auto-group-for-1-8-billion.html"&gt;Gasgoo Autonews&lt;/a&gt;, &lt;a href="http://www.detnews.com/article/20100329/AUTO01/3290335/1148/"&gt;Detroit News&lt;/a&gt;, &lt;a href="http://di.se/Artiklar/2010/3/28/202972/Avtal-om-Volvo-PV-klart/"&gt;Dagens Industri&lt;/a&gt; and &lt;a href="http://www.gp.se/ekonomi/1.340656-blandade-kanslor-pa-volvo"&gt;Göteborgsposten&lt;/a&gt; (the latter two in Swedish).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7130583371624198354?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7130583371624198354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7130583371624198354&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7130583371624198354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7130583371624198354'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/03/volvo-is-sold-to-chinese-geely.html' title='Volvo is sold to Chinese Geely'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1828265221631178323</id><published>2010-03-29T11:55:00.008+02:00</published><updated>2010-03-29T16:16:31.119+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Some more thoughts on agility and architecture</title><content type='html'>This is a quote from &lt;a href="http://www.handbookofsoftwarearchitecture.com/index.jsp?page=Blog&amp;amp;part=2006"&gt;Grady Booch's blog&lt;/a&gt;: &lt;blockquote&gt;All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change.&lt;/blockquote&gt;&lt;br /&gt;One interpretation I can make of this quote is that it seems to be an inherent contradiction in aiming for agility in the design decisions that constitutes the architecture. Architecture is those decision that you don't want to change since it is costly to do so (in $$$, man hours or lead-time). But this is not the same as making those decisions up-front.&lt;br /&gt;Maybe a lean approach is what benefits agile development the most:&lt;br /&gt;&lt;blockquote&gt;...an architect should make as few decisions as possible, deferring the rest until later in the lifecycle.&lt;/blockquote&gt;Tyree and Akermann in &lt;a href="http://ieeexplore.ieee.org/search/srchabstract.jsp?tp=&amp;amp;arnumber=1407822"&gt;IEEE Software 22(2), 2005, pp. 19-27&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;SEI has a &lt;a href="http://www.sei.cmu.edu/events/Event-Details.cfm?customel_dataPageID_4744=575941"&gt;webinar 22 April about Agile Development &amp; Software Architecture&lt;/a&gt;. Maybe that can shed some more lights on how to reconcile architecture and agility. To bad they are broadcasting it at such an awkward time for us in Europe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1828265221631178323?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1828265221631178323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1828265221631178323&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1828265221631178323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1828265221631178323'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/03/some-more-thoughts-on-agility-and.html' title='Some more thoughts on agility and architecture'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3568935845514464771</id><published>2010-03-27T08:17:00.004+01:00</published><updated>2010-03-27T08:28:29.348+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Authors of the top papers...</title><content type='html'>Good news, but more work...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Dear Ulrik and Carl,&lt;br /&gt;&lt;br /&gt;We are pleased to inform you that your research  paper,&lt;br /&gt;&lt;br /&gt;"A Case Study of the Architecture Business Cycle for an In-Vehicle Software Architecture",&lt;br /&gt;&lt;br /&gt;has been selected to be extended and  submitted to a Special Issue of the &lt;a href="http://www.elsevier.com/locate/jss"&gt;Journal of Systems and Software (JSS)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This JSS Special  Issue will include the extended and revised best papers selected from the  &lt;a href="http://www.wicsa.net/"&gt;2009 Joint Working IEEE/IFIP Conference on Software Architecture &amp;amp;  European Conference on Software Architecture (WICSA/ECSA 2009)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Indeed, we announced at WICSA/ECSA 2009 that extended versions  of best papers of WICSA/ECSA 2009 would be selected to be submitted to  JSS.&lt;br /&gt;&lt;br /&gt;We have better news: our cooperation with JSS was upgraded to have  this year a JSS Special Issue including the best papers of WICSA/ECSA 2009, instead of submitting papers that would be included in different  issues.&lt;br /&gt;&lt;br /&gt;Based on review scores and reviewer comments, we are inviting  authors of the top papers to substantially extend (at least 30% of new  material) their papers and submit them to this Special Issue.  Congratulations on being included in this select group.&lt;br /&gt;&lt;br /&gt;...snip...&lt;br /&gt;&lt;br /&gt;Looking  forward to hearing from you and hoping that you will accept our invitation  to contribute to this Journal Special Issue.&lt;br /&gt;&lt;br /&gt;Yours  Sincerely,&lt;br /&gt;&lt;br /&gt;Flavio Oquendo, Eltjo Poort, Judith Stafford&lt;br /&gt;JSS Guest  Editors (Program Chairs of IEEE/IFIP WICSA/ECSA 2009)&lt;/i&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3568935845514464771?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3568935845514464771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3568935845514464771&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3568935845514464771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3568935845514464771'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/03/authors-of-top-papers.html' title='Authors of the top papers...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7127049286280499990</id><published>2010-03-19T12:08:00.006+01:00</published><updated>2010-03-22T20:55:48.975+01:00</updated><title type='text'>Auto news sites</title><content type='html'>Some sites for those who want current news about the automotive industry:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://autonews.gasgoo.com/"&gt;Gasgoo Automotive News&lt;/a&gt; - the most in-depth information I have found so far about the global automotive industry, maintained by China's largest automotive B2B marketplace...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.detnews.com/section/auto01"&gt;Detroit News Auto Insider&lt;/a&gt; - marginally better than Gasgoo on "the big three", but lacks on the rest of the world.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.autobild.de/"&gt;Auto Bild&lt;/a&gt; and &lt;a href="http://www.auto-motor-und-sport.de/"&gt;Auto, Motor und Sport&lt;/a&gt; are two major German auto magazines with extensive websites. It helps if you know German. The latter also have an &lt;a href="http://www.automotorsport.se/"&gt;ambitious Swedish website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nyteknik.se/nyheter/fordon_motor/"&gt;Ny Teknik Fordon&lt;/a&gt; - Sweden's largest technology newspaper focusing on technology (what else?). Good on Volvo and Saab, in Swedish.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://di.se/Bil--Motor/"&gt;Dagens Industri Bil &amp;amp; Motor&lt;/a&gt; - Car news from Sweden's largest business newspaper. Also in Swedish...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7127049286280499990?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7127049286280499990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7127049286280499990&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7127049286280499990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7127049286280499990'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/03/auto-news-sites.html' title='Auto news sites'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-3426627970341610710</id><published>2010-03-09T13:37:00.008+01:00</published><updated>2011-02-14T09:28:33.599+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='Infotainment systems'/><title type='text'>Ford's new infotainment</title><content type='html'>It should come as no surprise that Ford is one of the leading automotive companies when it comes to infotainment systems and vehicle connectivity. Read an &lt;a href="http://www.fastcompany.com/magazine/144/fords-big-reveal.html?page=0,0"&gt;in-depth interview with Alan Mulally&lt;/a&gt; on the topic.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.ford.com/about-ford/news-announcements/press-releases/press-releases-detail/pr-myford-touch-defines-intuitive-31716"&gt;new Ford My Touch&lt;/a&gt; just confirms this position. As an architect I am impressed by how they manage to coordinate suppliers as &lt;a href="http://www.gracenote.com/"&gt;Gracenote&lt;/a&gt;, &lt;a href="http://www.nuance.com/"&gt;Nuance&lt;/a&gt;, &lt;a href="http://www.sony.com/"&gt;Sony&lt;/a&gt; and &lt;a href="http://www.verizon.com/"&gt;Verizon&lt;/a&gt; into what appears as a seamless system based on &lt;a href="http://www.microsoft.com/auto/ma.mspx"&gt;Microsoft Auto&lt;/a&gt;, a system that can directly use services from &lt;a href="http://www.inrix.com/"&gt;Inrix&lt;/a&gt;, &lt;a href="http://www.pandora.com/"&gt;Pandora&lt;/a&gt;, &lt;a href="http://stitcher.com/"&gt;Stitcher&lt;/a&gt;, &lt;a href="http://www.telenav.com/"&gt;Telenav&lt;/a&gt; and &lt;a href="http://twitter.com/"&gt;Twitter&lt;/a&gt;.&lt;br /&gt;One side effect of connecting the vehicle with everyting else is the security of the information stored in the car, as &lt;a href="http://www.lotpro.com/blog/2010/03/08/hack-my-ride/"&gt;described in this blog&lt;/a&gt; by Steve Cypher&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogsearch.google.com/blogsearch?hl=sv&amp;amp;ie=UTF-8&amp;amp;q=ford+my+touch&amp;amp;lr="&gt;Read what other blogs have to say about Ford My Touch.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-3426627970341610710?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/3426627970341610710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=3426627970341610710&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3426627970341610710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/3426627970341610710'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/03/fords-new-infotainment.html' title='Ford&apos;s new infotainment'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-2013086412200141045</id><published>2010-03-05T12:07:00.000+01:00</published><updated>2010-03-05T12:07:27.062+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Is software a product of creativity? Or?</title><content type='html'>I think the phrase "development process", or rather the concept of development as a process has become a paradigm in software. A google search on &lt;a href="http://www.google.se/search?hl=sv&amp;amp;safe=off&amp;amp;q=software+development+process&amp;amp;meta=&amp;amp;aq=0&amp;amp;oq=software+development"&gt;software development process&lt;/a&gt; results in &lt;b&gt;724 000 000 hits!&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The view of creating software is done through a "development process" is so established, at least in the software industry, that no-one seem to question if this is a valid view on how to design stuff. This regardless if one talks about waterfall, spiral, agile or lean.&lt;br /&gt;&lt;br /&gt;Since I am not a native English speaker it could be a lack understanding the connotation of the words, but I'll try to explain what I mean.&lt;br /&gt;&lt;br /&gt;First, software is developed. No-one talks about a software creation process. To me development is more akin to refinement, exploitation or progress. I think software is created, it is one of the very few intellectual pursuits besides the arts where something is created from nothing.&lt;br /&gt;&lt;br /&gt;Second, the development (or creation) is done through a process, something which in an engineering perspective means that by combining the right inputs and having the right circumstances, a desired output is achieved. And the process is repeatable as long as the inputs and circumstances are the same. I don't think anyone disagrees when I say that not two software projects are alike, regardless how similar one tries to keep the process.&lt;br /&gt;&lt;br /&gt;So the question is how should we view software creation? I think it would be helpful to see it as a creative endeavour similar to what a writer does. There is usually some idea of what the end result should be, but that may or may not be very detailed when starting to make sentences. Some write in a very linear fashion, starting with the first chapter. Some start with an outline which gets more and more refined until it actually is the full text. Some writers are very disciplined and can write for 8 hours day, some can just write when they are inspired. And everybody has heard about "writer's block"...&lt;br /&gt;&lt;br /&gt;If software is not developed in a process, but seen as a work of creativity I think efforts should be to make the people writing software as creative as possible (and therefore also productive). Maybe this can be used as a "lean" principle on how to manage a software project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-2013086412200141045?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/2013086412200141045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=2013086412200141045&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2013086412200141045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2013086412200141045'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/02/is-software-product-of-creativity-or.html' title='Is software a product of creativity? Or?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8005196812685830654</id><published>2010-02-05T14:39:00.005+01:00</published><updated>2010-02-05T14:55:53.424+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='AUTOSAR'/><title type='text'>EAST-ADL2 and AUTOSAR</title><content type='html'>&lt;a href="http://www.atesst.org/"&gt;EAST-ADL2&lt;/a&gt; is an automotive &lt;a href="http://en.wikipedia.org/wiki/Architecture_description_language"&gt;architecture description language&lt;/a&gt; "with improved means for capturing the requirements, characteristics and configurations of cooperative systems and the related analysis and V&amp;amp;V."&lt;br /&gt;I was involved in the &lt;a href="http://www.atesst.org/scripts/home/publigen/content/templates/show.asp?P=117&amp;amp;L=EN&amp;amp;ITEMID=8"&gt;first ATESST project&lt;/a&gt; on how to align the ADL with the AUTOSAR meta-model.&lt;br /&gt;&lt;br /&gt;There is a webinar presenting the latest results from the ATESST 2 project on EAST-ADL2 and &lt;a href="http://www.autosar.org/"&gt;AUTOSAR&lt;/a&gt;. More information about the results and registration for the webinar can be found in the &lt;a href="http://www.atesst.org/home/liblocal/docs/ATESST2_Newsletter_2010_1.pdf"&gt;ATESST2 newsletter&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8005196812685830654?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8005196812685830654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8005196812685830654&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8005196812685830654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8005196812685830654'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/02/east-adl2-and-autosar.html' title='EAST-ADL2 and AUTOSAR'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-750182072744926241</id><published>2010-02-05T12:38:00.007+01:00</published><updated>2010-02-05T13:59:09.541+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Is an archtiecture description always necessary?</title><content type='html'>I wrote in an &lt;a href="http://automotive-sw-architecture.blogspot.com/2009/12/concise-writing.html"&gt;earlier post about the importance of being able to write in a concise manner&lt;/a&gt;, based on the assumption that key issue for an architecture description is to convey an &lt;span style="font-style: italic;"&gt;common&lt;/span&gt; understanding of the architecture (more on the validity of that assumption later in the blog).&lt;br /&gt;&lt;br /&gt;What would happen if that line of thought is taken to it's extreme, i.e. nothing is written down about the architecture? How would one reach a degree of understanding among the team members? And especially a &lt;span style="font-style: italic;"&gt;common&lt;/span&gt; understanding? Does it even need to be common?&lt;br /&gt;&lt;br /&gt;Answering these questions could easily expand to an entire literature review of organisational learning and I'll try to avoid that.  But an architecture description is a way to convert the tacit or internal knowledge (of the architects?) to explicit knowledge which in turn other stakeholders can internalise again. The question is of this transfer of knowledge can be spread through the organisation by other means?&lt;br /&gt;I certainly think so, the same way I learned about electrical system in vehicles "on the job" rather than learning from books, but this requires working side by side on a recurring (daily?) basis. Feasible if the team is co-located in the same room, but it does not really scale if the desks are to far apart. One architect and 15 other developers is not a problem. One architect and 200 other developers is a problem.&lt;br /&gt;I have a gut feel that this is related to how well agile practices scale to big projects...&lt;br /&gt;&lt;br /&gt;After reading this post I realised I made an assumption that the architect is the main person having the knowledge about the architecture. Of course this must not always be the case. One alternative is the &lt;a href="http://automotive-sw-architecture.blogspot.com/2010/01/committe-architectures.html"&gt;committe architectures I wrote about earlier&lt;/a&gt;, but there of course must exist other alternatives...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-750182072744926241?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/750182072744926241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=750182072744926241&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/750182072744926241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/750182072744926241'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/02/is-archtiecture-description-always.html' title='Is an archtiecture description always necessary?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-2147908267292179870</id><published>2010-01-27T09:59:00.004+01:00</published><updated>2010-03-26T12:12:26.147+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Committe architectures</title><content type='html'>I have observed that sometimes an architecture tends to get defined by a committee of all stakeholders (or representatives for them) rather than an architecture team. This in itself may not be bad but there are some things that seems to happen when this is the case:&lt;br /&gt;First the architecture tends to be defined by a set of separate decisions that solves separate problems the stakeholders have. There is no overall vision of what the architecture should be. A lack of what &lt;a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1264583704&amp;amp;sr=8-1"&gt;Frederick P. Brooks&lt;/a&gt; call conceptual integrity.&lt;br /&gt;Second the balancing of quality attributes seem to be an average of everything. The architecture is not really good on anything (maintainability comes to mind). On the other hand no quality attribute seems to be totally forgotten or neglected.&lt;br /&gt;Third the description of the architecture is done at low level, e.g. a design or implementation level because this is what a majority of stakeholders are used to in doing their usual work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-2147908267292179870?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/2147908267292179870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=2147908267292179870&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2147908267292179870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/2147908267292179870'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/01/committe-architectures.html' title='Committe architectures'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1190180920013171191</id><published>2010-01-27T09:50:00.005+01:00</published><updated>2010-01-27T09:56:17.568+01:00</updated><title type='text'>"The other" car manufacturer...</title><content type='html'>&lt;a href="http://www.saab.com/"&gt;"The other" car manufacturer&lt;/a&gt; has &lt;a href="http://www.spykercars.nl/"&gt;a new owner&lt;/a&gt; after &lt;a href="http://www.gm.com/"&gt;General Motors&lt;/a&gt;. Good for them! &lt;a href="http://www.volvocars.com/"&gt;We&lt;/a&gt; need the local  competition to stay alert. &lt;a href="http://www.detnews.com/article/20100127/AUTO01/1270322/1148/auto01/GM--Spyker-deal-to-keep-Saab-alive"&gt;Read the news here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1190180920013171191?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1190180920013171191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1190180920013171191&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1190180920013171191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1190180920013171191'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/01/other-car-manufacturer.html' title='&quot;The other&quot; car manufacturer...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7026109992280780520</id><published>2010-01-20T15:16:00.006+01:00</published><updated>2010-01-20T15:38:45.714+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Publications in the pipeline</title><content type='html'>The blog originally had the intention to cover topics I'm intersted to research. So here is a short status update of what I am doing right now in my research project.&lt;br /&gt;&lt;br /&gt;Together with a fellow researcher I made an extensive interview series with architects at two major automotive companies. So far the data from these interviews is used for 3 papers which will be submitted this spring:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A compararative case study on how two similar companies work with maintaining architctures.&lt;/li&gt;&lt;li&gt;A short paper describing how archtiects view themselves in terms of skills, experience, attitudes, etc.&lt;/li&gt;&lt;li&gt;Another paper which I'm not authoring&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Last year I made extensive observations of architectural decisions for the architecture of the next generation electrical system at Volvo Cars. So far the data from these observed decisions will be used for 2 papers:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;A new classification scheme for archtiecture decsions, based on empirical data&lt;/li&gt;&lt;li&gt;A case study of the 80 decisions observed at Volvo Cars&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I also have an idea about an interesting AUTOSAR-paper which partly will use information from a student thesis project I will supervise later this spring.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7026109992280780520?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7026109992280780520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7026109992280780520&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7026109992280780520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7026109992280780520'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/01/publications-in-pipeline.html' title='Publications in the pipeline'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-7140354545825098911</id><published>2010-01-08T13:10:00.000+01:00</published><updated>2010-01-08T14:11:15.539+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Automotive software'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Object-oriented programming in C</title><content type='html'>In the automotive industry C is the totally dominating programming language. I guess this is because of the limited resources in automotive-specific CPUs but also because of tradition among programmers, if you have a program that is proven by use you don't rewrite that just because there is some new language around.&lt;br /&gt;And to be honest, it still is hard to beat C if you want real-time properties and a garbage collection that don't risk overflowing memory.&lt;br /&gt;&lt;br /&gt;But if you want to keep C but write programs in a more object-oriented style how do you do? It is not as hard as one would think.&lt;br /&gt;Here are some web pages which give some useful tips. Note that they are not always compatible!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.bolthole.com/OO-C-programming.html"&gt;Phil's guide to object-oriented ANSI C&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://accu.informika.ru/acornsig/public/articles/oop_c.html"&gt;Object-oriented programming in C&lt;/a&gt; by Paul Field&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cs.rit.edu/~ats/books/ooc.pdf"&gt;Object-oriented programming in ANSI- C&lt;/a&gt; by Axel-Tobias Schreiner&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I have reviewed code for several ECUs used in Volvo cars, and none have used an object-oriented style. The reason I bring up object-oriented programming in C in this blog is that it simplifies the implementation of many patterns, the subject is not really new...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-7140354545825098911?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/7140354545825098911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=7140354545825098911&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7140354545825098911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/7140354545825098911'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/01/object-oriented-programming-in-c.html' title='Object-oriented programming in C'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6934876743941196268</id><published>2010-01-05T12:25:00.005+01:00</published><updated>2010-01-05T13:00:28.372+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Empowered architects</title><content type='html'>In the course on project management and leadership for PhD students we are talking about the role of the project leader. The lecturer &lt;a href="http://www.psy.gu.se/personal/max_rapp_ricciardi/"&gt;Max Rapp Ricciardi&lt;/a&gt; writes in an article by about empowerment and refers to an &lt;a href="http://ceo.usc.edu/pdf/G973315.pdf"&gt;article by Quinn &amp;amp; Spreitzer&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Anyway, he mentions four characteristics of empowered people:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;They feel they are masters of their own destiny (they can do the work without management interference)&lt;/li&gt;&lt;li&gt;The understand the totality of the business they are operating in&lt;/li&gt;&lt;li&gt;They have confidence and a feeling of doing a good job&lt;/li&gt;&lt;li&gt;They are convinced they can influence others, which is the opposite of &lt;a href="http://en.wikipedia.org/wiki/Learned_helplessness"&gt;learned helplessness&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;If you are to be an efficient architect I think you need to have all of these four characteristics, or in short you need to be empowered!&lt;br /&gt;An architect which works in an organisation where he or she is not empowered have probably little chance of doing a successful job. I would even go so far to ask why such an organisation would even bother with having such a role?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6934876743941196268?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6934876743941196268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6934876743941196268&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6934876743941196268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6934876743941196268'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2010/01/empowered-architects.html' title='Empowered architects'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-9149172378803143242</id><published>2009-12-28T09:43:00.005+01:00</published><updated>2009-12-28T10:05:02.953+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Volvo Cars will become Chinese...</title><content type='html'>It is now official that &lt;a href="http://www.ford.com/"&gt;Ford&lt;/a&gt; will sell &lt;a href="http://www.volvocars.com/"&gt;Volvo Car Corporation&lt;/a&gt; to the Chinese auto manufacturer &lt;a href="http://www.geely.com/brands/international/"&gt;Geely&lt;/a&gt;. To be more precise this is what Stephen Odell (Volvo CEO) wrote:&lt;br /&gt;&lt;blockquote&gt;"Later today, Ford will confirm that all substantive commercial terms relating to the sale of Volvo Cars have been settled between Ford and Geely.&lt;br /&gt;...while some work still remains to be completed before signing – including final documentation, financing and government approvals – Ford and Geely anticipate that a definitive sale agreement will be signed in the first quarter of 2010, with closing of the sale likely to occur in the second quarter, subject to appropriate regulatory approvals."&lt;/blockquote&gt;&lt;br /&gt;The information was sent out to us employees by e-mail in the afternoon before Christmas Eve, the biggest holiday in Sweden,  so most people had already gone on vacation and probably first saw the announcement in the newspapers. Personally I think the timing should have been better for informing all the people working at Volvo Cars.&lt;br /&gt;&lt;br /&gt;I have not found a lot of information in English speaking newspapers, but here is a &lt;a href="http://detnews.com/article/20091223/AUTO01/912230384/Ford-expects-Volvo-deal-with-Geely-soon"&gt;short notice in Detroit News.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On a personal level I don't think this will affect my research project or my PhD studies at all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-9149172378803143242?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/9149172378803143242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=9149172378803143242&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/9149172378803143242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/9149172378803143242'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/12/volvo-cars-will-become-chinese.html' title='Volvo Cars will become Chinese...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8571236182682851070</id><published>2009-12-18T12:45:00.001+01:00</published><updated>2009-12-18T12:47:42.341+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Documenting and Presenting Architectures</title><content type='html'>Some interesting blog posts (and other links) about documenting and presenting architectures:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://traceinthesand.com/blog/2006/08/25/architecture-documentation-courage-to-fly-in-the-face-of-convention/"&gt;Architecture Documentation: Courage to Fly in the Face of Convention&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.developer.com/design/article.php/3838091/Top-Ten-Tips-for-Presenting-Architecture-Information.htm"&gt;Top Ten Tips for Presenting Architecture Information&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.iso-architecture.com/ieee-1471/docs/all-about-ieee-1471.pdf"&gt;All about IEEE 1471&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A notice that puts my blog on a Swedish geographical blog map: Jag har placerat min blogg på &lt;a href="http://bloggkartan.se/registrera/13959/lindholmen"&gt;Lindholmen&lt;/a&gt; på &lt;a href="http://bloggkartan.se/"&gt;bloggkartan.se&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8571236182682851070?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8571236182682851070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8571236182682851070&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8571236182682851070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8571236182682851070'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/12/documenting-and-presenting.html' title='Documenting and Presenting Architectures'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6764103594674107444</id><published>2009-12-17T11:09:00.000+01:00</published><updated>2009-12-17T11:29:43.064+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><title type='text'>Organisational changes</title><content type='html'>There will be some changes to my research group. I don't know how this will affect me in detail, but in general I think it will strengthen software research in Göteborg.&lt;br /&gt;&lt;br /&gt;In short there wil be a new software research center (&lt;a href="http://www.ituniversitetet.se/aktuellt/nyheter/fulltext/Framtida_visioner_for_kunskapskluster_Lindholmen.cid905715"&gt;at Lindholmen?&lt;/a&gt;) which will be a merger with software resarchers from the departments of &lt;a href="http://www.ait.gu.se/english/research_groups/se_management/"&gt;Applied IT&lt;/a&gt; and of &lt;a href="http://www.chalmers.se/cse/EN/organization/divisions/software-engineering"&gt;Computer Science and Engineering&lt;/a&gt;. Software engineering will organisationally belong to the latter department, so I will change department.&lt;br /&gt;The two masters' programs &lt;a href="http://www.ait.gu.se/english/education/master/se_m120hec/"&gt;Software Engineering &amp;amp; Management&lt;/a&gt; and &lt;a href="http://www.chalmers.se/en/sections/education/masterprogrammes/programme-descriptions/software-engineering"&gt;Software Engineering &amp;amp; Technology&lt;/a&gt; will be one, which makes sense since they have a lot in common (e.g. course in software achitecture). It does not seem efficient to give two different master level programs in the same area.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6764103594674107444?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6764103594674107444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6764103594674107444&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6764103594674107444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6764103594674107444'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/12/organisational-changes.html' title='Organisational changes'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-8762424465633061594</id><published>2009-12-14T16:53:00.007+01:00</published><updated>2009-12-23T15:24:13.294+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>On-line lectures on software architecture</title><content type='html'>It is surprising what you can find with some searching, for example full-length lectures about software architecture:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=CRx4h4ITx9g"&gt;Usability and Software Architecture: The Forgotten Problems&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.youtube.com/watch?v=Dtd0njgo4s8"&gt;O'Reilly Webcast: 10 Things Every Software Architect Should Know&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.infoq.com/presentations/Agile-Architecture-Is-Not-Fragile-Architecture-James-Coplien-Kevlin-Henney"&gt;Agile Architecture Is Not Fragile Architecture&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.jaoo.dk/2009/03/04/handling-architecture-in-the-agile-world/"&gt;Handling architecture in the agile world&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sei.cmu.edu/library/abstracts/webinars/10sep2009.cfm"&gt;How to Effectively Evaluate Software Architecture and Identify Risks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sei.cmu.edu/library/abstracts/webinars/05mar2009.cfm"&gt;The Method Framework for Engineering System Architectures&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sei.cmu.edu/library/abstracts/webinars/14aug2008.cfm"&gt;Service-Oriented Architecture (SOA) (an introduction)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.infoq.com/presentations/dion-hinchcliffe-architecture-web-platform"&gt;Transforming Software Architecture with Web as Platform&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.researchchannel.org/prog/displayevent.aspx?fID=569&amp;amp;rID=4516"&gt;Reliability Estimation During Architectural Design&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vimeo.com/6625412"&gt;A Secret to Understanding Complexity_ A Temporal Approach to Engineering Software&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://video.google.se/videoplay?docid=-5921684762697120624&amp;amp;ei=XWgmS4CRHYaO-Aa0vaWaBg&amp;amp;q=software+architecture&amp;amp;hl=sv#"&gt;On Snowflakes and Architecture&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.researchchannel.org/prog/displayevent.aspx?fID=569&amp;amp;rID=4895"&gt;Winning the DARPA Grand Challenge [Robotics]&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://video.google.se/videoplay?docid=8693679271218408739&amp;amp;ei=_WkmS8GaI9qv-Ab856G_Bg&amp;amp;q=software+architecture&amp;amp;hl=sv&amp;amp;dur=3#"&gt;Big ball of Mud&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Note that I have not watched all of them (they are about 1 hour each) so I cannot vouch for any content and that the recording quality can be quite low.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-8762424465633061594?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/8762424465633061594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=8762424465633061594&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8762424465633061594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/8762424465633061594'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/12/on-line-lectures-on-software.html' title='On-line lectures on software architecture'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-5324171447055739328</id><published>2009-12-11T10:18:00.000+01:00</published><updated>2009-12-11T10:21:22.109+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Concise writing</title><content type='html'>I was involved in the software archtiecture course this year, more than the last few years, not surprising since I developed the coruse in 2006. One of the things I did was to evaluate the hand-ins of several assignments, which was disappointing in more ways than one. But the thing I want to bring up in the blog is the lack of concise writing.&lt;br /&gt;I think that one of the most important abilities for an architect (even more so than for other developer roles) is to present the "fundamental ideas" in clear, concise and short manner.&lt;br /&gt;&lt;br /&gt;In the hand-ins, a lot of answers covered two pages when a paragraph with less than ten lines would have been sufficient. With a good picture maybe even less.&lt;br /&gt;I don't know if this is beacuse the students were not comfortable with terminology (if you use a model-view-controller pattern, how much more do you need to say about it?). Or if they think verbosity is the same thing as showing understanding? Or if they did not have the time to strip away the "fluff"...&lt;br /&gt;Next year I will propose a maximum number of pages in the hand-ins and deduct points if they write more than that. Obviously they still need to fulfill the task...&lt;br /&gt;&lt;br /&gt;It is an art and craft, to write as short as possible, but it helps getting the message across! An architect should hone this skill.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-5324171447055739328?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/5324171447055739328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=5324171447055739328&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5324171447055739328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5324171447055739328'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/12/concise-writing.html' title='Concise writing'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4566181344635911698</id><published>2009-12-07T16:39:00.003+01:00</published><updated>2009-12-07T16:43:18.018+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Matt Deacon's talking architects</title><content type='html'>I stumbled upon a channel with an interview series with various software architects. I must confess I haven't seen any of the interviews yet, but nevertheless I thought somebody else also might be interested:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://channel9.msdn.com/posts/mattdeacon/"&gt;Talking Architects&lt;/a&gt;&lt;br /&gt;Matt Deacon, an Architect in Microsoft UK, talks to other architects about their experiences, their issues and challenges they face in the ever changing industry of IT. &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4566181344635911698?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4566181344635911698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4566181344635911698&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4566181344635911698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4566181344635911698'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/12/matt-deacons-talking-architects.html' title='Matt Deacon&apos;s talking architects'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-1900040979219835507</id><published>2009-12-04T11:30:00.004+01:00</published><updated>2009-12-04T11:56:52.931+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Who is the customer?</title><content type='html'>Very often I hear one should have a customer perspective when developing software. Some &lt;a href="http://www.scrumalliance.org/articles/79-agile-its-the-business-stupid"&gt;agile methods propose working close with the customer&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But who is the customer? Is it the person paying for the development?&lt;br /&gt;&lt;br /&gt;The end-customer is usually not difficult to identify for consumer products, which is what I work with since I'm in the car business. But even for such a closely related product as  heavy trucks it is not obvious who is the customer. Is it the user of the truck (e.g. the driver) or the company buying the truck?&lt;br /&gt;&lt;br /&gt;And looking inside the developing organisation it gets even more unclear. I work with developing architectures. Who is the customer of an architecture? Is it the end-customer? I think he could not care less if the car has an architecture or not, as long as it has the features and properties he wants.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.svengrahn.pp.se/"&gt;Sven Grahn&lt;/a&gt;, former scientific director of the &lt;a href="http://www.ssc.se/"&gt;Swedish Space Corporation&lt;/a&gt; stated the best "test" of identifying the customer I have heard so far (freely translated from Swedish and maybe so distorted by memory Sven does not recognise it):&lt;br /&gt;&lt;blockquote&gt;The customer is the person, or group, that when you remove them the activity (or product) becomes meaningless.&lt;/blockquote&gt;&lt;br /&gt;So for an in-vehicle architecture  the primary customer of the architecture are the developers. If there would be no developers who who look at the architecture? (The end customer is also a customer, if he's not there what is the point of developing the car in the first place?)&lt;br /&gt;&lt;br /&gt;Can I use this test to identify who is the customer of research? In most cases it is not the ones who sponsor it (e.g. government, foundations. etc).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-1900040979219835507?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/1900040979219835507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=1900040979219835507&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1900040979219835507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/1900040979219835507'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/12/who-is-customer.html' title='Who is the customer?'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-5044714068331137899</id><published>2009-12-02T09:55:00.005+01:00</published><updated>2009-12-02T10:10:24.943+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Architectural knowledge'/><title type='text'>Confidence in an architecture</title><content type='html'>How do you get confidence in an architecture? Lot's of extensive verification?&lt;br /&gt;(This raises the quesiton on how to verify an archtiecture when you have not yet built a system based on the archtiecture. More on this at a later time...)&lt;br /&gt;&lt;br /&gt;I think that you get confidence in an architecture by throwing things at it when various stakeholders gets involved and see how well it can handle them (all prerequisistes are never known in the beginning).&lt;br /&gt;If the architecture can absorb a particular issue, scenario or feature, without deviations from the fundamental cornerstones or adding extra elements each time, the architecture gets stronger for each thing you throw at it. And your confidence in the architecture increases.&lt;br /&gt;On the other hand, if you need to modify the architecture for each thing you throw at it and after enough times it is not recognisable when compared to the initial draft the architecture  gets weaker and after some time there is little confidence left. And you should re-evaluate if it  is the right architecture.&lt;br /&gt;&lt;br /&gt;An architect must be able to have this "outsider" perspective and kill his/her darlings when necessary.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-5044714068331137899?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/5044714068331137899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=5044714068331137899&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5044714068331137899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/5044714068331137899'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/12/confidence-in-architecture.html' title='Confidence in an architecture'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-657013953673448860</id><published>2009-11-26T12:33:00.005+01:00</published><updated>2009-11-26T12:43:20.929+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='My research'/><title type='text'>Google wave</title><content type='html'>I read about &lt;a href="http://wave.google.com/"&gt;Google Wave&lt;/a&gt; in &lt;a href="http://www.nyteknik.se/nyheter/it_telekom/internet/article682353.ece"&gt;Ny Teknik&lt;/a&gt; (Sweden's biggest technology newspaper) and this was the first hands on description I had about how it could work, even though I had read about it before.&lt;br /&gt;&lt;br /&gt;My immediate idea was that this could be used in science. Researchers could include data and/or hypotheses in a wave and other researchers could contribute to this wave with further data, analysis or conclusions. It could be very useful for collaboration between reserchers which are not co-located.&lt;br /&gt;&lt;br /&gt;Remember where you read it first, in this blog!&lt;br /&gt;&lt;br /&gt;Now I'm just waiting for an invitation from Google...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-657013953673448860?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/657013953673448860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=657013953673448860&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/657013953673448860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/657013953673448860'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/11/google-wave.html' title='Google wave'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-6065081787696535288</id><published>2009-11-23T15:45:00.007+01:00</published><updated>2010-12-22T21:36:02.807+01:00</updated><title type='text'>The difference between Academia and Business</title><content type='html'>&lt;a href="http://imgs.xkcd.com/comics/academia_vs_business.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://imgs.xkcd.com/comics/academia_vs_business.png" style="cursor: pointer; height: 191px; margin: 0pt 10px 10px 0pt; width: 370px;" /&gt;&lt;/a&gt;&lt;br /&gt;From &lt;a href="http://xkcd.com/"&gt;xkcd.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-6065081787696535288?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/6065081787696535288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=6065081787696535288&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6065081787696535288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/6065081787696535288'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/11/difference-between-academia-and.html' title='The difference between Academia and Business'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5644053343415781270.post-4457231010021027830</id><published>2009-11-19T10:56:00.008+01:00</published><updated>2009-11-19T15:11:25.876+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><title type='text'>What is a project...</title><content type='html'>I'm taking a course in project management and leadership for PhD students. Quite interesting...&lt;br /&gt;&lt;br /&gt;One of my immediate observations is the discrepancy between the academic definition of a project and what we call a project in the car industry. According to our &lt;a href="http://www.nj.se/produkt/9789139109525"&gt;Swedish textbook&lt;/a&gt;  a project is an activity with&lt;ul&gt;&lt;li&gt;a well defined goal&lt;/li&gt;&lt;li&gt;during a well defined time period&lt;/li&gt;&lt;li&gt;with pre-defined resources&lt;/li&gt;&lt;li&gt;under particular work model&lt;/li&gt;&lt;/ul&gt;A vehicle project, for example a model year update, certainly fulfills the first three, but the work model is/should be the same as the one we use for a model year update of another vehicle (not including any kaizen).&lt;br /&gt;There is not something unique working with a particular vehicle model that warrants creating a project, it is just another task. A huge task, but nevertheless...&lt;br /&gt;A research project is a different thing, for example developing the architecture for a new generation of electrical systems.  There most work and deliverables are new and have not been done before or at least not in the last 10 years...&lt;br /&gt;&lt;br /&gt;The other thing that I noticed as major difference is that the textbook states it is (or should be) impossible to participate in more than one, or at most two, projects simultaneously. An engineer at an EESE department usually works in more projects than that...&lt;br /&gt;&lt;br /&gt;&lt;i&gt;This post is in a response to an email I got about &lt;a href="http://automotive-sw-architecture.blogspot.com/2009/11/i-have-former-colleguae-who-started.html"&gt;my previous post on more personal observations&lt;/a&gt;...&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5644053343415781270-4457231010021027830?l=automotive-sw-architecture.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://automotive-sw-architecture.blogspot.com/feeds/4457231010021027830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5644053343415781270&amp;postID=4457231010021027830&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4457231010021027830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5644053343415781270/posts/default/4457231010021027830'/><link rel='alternate' type='text/html' href='http://automotive-sw-architecture.blogspot.com/2009/11/what-is-project.html' title='What is a project...'/><author><name>Ulrik</name><uri>http://www.blogger.com/profile/15831528373591728862</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://4.bp.blogspot.com/-2LXJWwqFee0/Tepd2-30ioI/AAAAAAAABBM/AGV_bts8j0o/s220/Profilbild.jpg'/></author><thr:total>0</thr:total></entry></feed>
