23 February 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++)

20 February 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.

12 February 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.

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