Thursday, March 5, 2009

GENIVI

Genivi is a brand new alliance to promote open source software for in-vehicle infotainment (official start March 2009). The founders include BMW, Wind River and Intel among others.
I have not heard about about the initiative before, but a quick google search revealed some introductory articles:
Unfortunately there is not yet any technical information on the GENIVI homepage, but I will certainly follow up on this...

Narcissism

This blog post will contain some heavy narcissism on my part...

I wrote an article named Experience of introducing reference architectures in the development of automotive electronic systems together with some colleagues. I also gave an appreciated talk at the second international workshop on Software engineering for automotive systems, which was one of the workshops at the 27th International Conference on Software Engineering in St. Louis, MO, USA (ICSE 2005).

ICSE is one of the most prestigious conferences on software engineering (the most prestigious according to some rankings) so the paper should have some academic merit. But it is almost impossible to find my paper in any academic database. The paper is not included in INSPEC, which is the biggest general database about engineering and science, event though INSPEC has articles from ICSE 2005. It is not found in IEEE Explore. The only databases I could find it is in ACM portal, besides Google Scholar.
So it is unlikely my paper will be referenced since nobody knows it exists...

You can find a full-text version of my paper here, courtesy the Mälardalen Research and Technology Centre at Mälardalen University.

Note: INSPEC is not free to use, the other databases should allow you to search, but not download material unless you have a subscription. But Google scholar is usually very good at finding a PDF somewhere on the net if you have the title and author of an article.

Monday, March 2, 2009

AUTOSAR questions

I got a comment referring to a blog from a guy working with AUTOSAR implementation at GM.

He got some questions in his blog about AUTOSAR. I don't believe I have any definitive answers, but here are some quick thoughts...

..........is the architecture migration expensive ?
This was asked from a concern that the necessary tool support for developing AUTOSAR systems would incur expensive licenings costs compared to native development. I don't think the tool costs would be any higher compared to present tools (i.e. UML code generation tools or Simulink/dSpace). The big cost in migration to AUTOSAR would be the necessary change in OEM and TIER1 development processes. The cost of an experienced programmer is wastly greater than the cost of a S/W tool.

..........is AUTOSAR ISO compliant ?
Don't know.

..........does AUTOSAR emphasize on all key areas of the Embedded system ?
No, there are several proprietary concepts used by Volvo Cars when developing embedded systems that are not within the scope of AUTOSAR. I imagine it is the same for other OEMs as well.

.........how is the current AUTOSAR classified ?
This question I don't understand...

.........scope of AUTOSAR ?
At least the german OEMs and suppliers are very serious about AUTOSAR (e.g. BMW, Bosch and Vector). They have put hundreds of man-years into developing the standard and adapting their products.

.........is AUTOSAR going to provide a "AUTOSAR Compliant Hardware System" blueprint for automotive electronic hardware manufacturing companies ?
Not to my knowledge. I think this is left to the various suppliers to solve. "Cooperate on standards. Compete on implementation". I can imagine a scenarion where hardware manufacturers like freescale would deliver an "AUTOSAR-optimised" CPU with associated H/W-abstraction layer (part of AUTOSAR BSW).

Monday, February 23, 2009

Some websites about software engineering and programming

I found some more interesting websites. I don't expect to have time to explore all of them, but some should give a break me when I have lost inspiration on writing research papers...

Software Engineering Radio
Software Architecture, Architects and Architecting
Teach Yourself Programming in Ten Years by Peter Norvig (very short and interesting of why everything worth knowing takes time)
Next Dawn Programming Tutorials (mostly C and C++)

Friday, February 20, 2009

Recent relevant architectural knowledge...

I was asked by a former colleague if I could help him with some more recent relevant architectural knowledge. Coming from anther person I would have just given a standard answer (see for example this blog post), but since this request came from the person from I have learned almost everything I know about software architecture I felt I needed to give it a little more thought than that...

Some quick thoughts about the present status of software architecture (quick as in not thoroughly researched):

Software architecture is accepted as being useful in it's own right. The role of the software architect is being acknowledged as a separate role from other software practitioners having a different skill set.

The most common view is that architecture are components and their relationships (often explicitly defined interfaces), described in multiple views (like Kruchten's 4+1), just as in IEEE std 1471.

It seems to be commonly accepted that architecture design is driven by quality attributes, see the SEI web site for lots of information about this.

There are numerous architecture description languages (e.g. EAST-ADL2 or AADL) but none seem to emerge as a industry standard beyond UML 2.0. And I have not heard of too many examples of where ADLs are commercially used on a wider scale.

Nobody argues about the importance of patterns, but the reference is still Pattern-Oriented Software Architecture (POSA).

Some claim Service-Oriented-Architecture is dead, while others don't.

Standardised architectures seem to more and more common, AUTOSAR is one, Integrated Modular Avionics (IMA) is another. I'm sure there are more in other business domains I'm not aware of. Standardised architectures always seem to generate interest at workshops and meetings.

There are several on-line resources with solid material, some are directed to, or by, practitioners, like
Others are more directed to research, like
One important recent trend is the emphasis on capturing architectural decisions and architectural knowledge, which several known researchers have thought been lacking and believe is one cause of failure for software projects. Read for example Jan Bosch's paper Software Architecture: The Next Step or Tyree and Akerman's Architecture Decisions: Demystifying Architecture.
This emphasis leads to merging the research disciplines of knowledge management with software architecture.

Mary Shaw and Paul Clements wrote a survey article The Golden Age of Software Architecture: A Comprehensive Survey about how the subject of software architecture has developed in the last 20 years, Kruchten et al. wrote a similar paper The Past, Present, and Future of Software Architecture.

Finally I like the article The Art and Science of Software Architecture by Brown and McDermid because they have a "unbiased" take on the present and future of the field.

Thursday, February 12, 2009

AUTOSAR course

I have just come back from the first part of the AUTOSAR course at the Royal Institute of Technology. Including the invited teachers, where I was one, we were 20 people attending, with about 2/3 being from academia and 1/3 from industry.

I think the course went well, but it was obvious that AUTOSAR is a new way of thinking about how to build ECU software compared to what people are used to. I hope that I helped not only in presenting my own stuff but also could answer the questions from the other participants.

My presentation is seen below, for material from the others some can be seen on the course homepage.


Wednesday, February 11, 2009

Automotive software companies in India and some blogs

I found a blog post on automotive software companies in India. There are quite a few, and it seems many established TIER1s already have an office there.

I also found a number of blogs that has some relationship to my own blog:
Hitchhiker's Guide to Software Architecture and Everything Else - by Michael Stal (it isn't me who made up the title...)
Martin Fowler's Bliki (he wrote the excellent book UML Distilled)
Grady Booch's blog on software architecture