Category: Current activities

PCMCIA Adapter for Honda CRV

I have just taken delivery of a shiny new Honda CRV. To my delight it has a PCM/CIA adapter in the dashboard to allow you to play MP3s (or M4As) whilst in the car. Now this does raise the issue as to why Honda should choose such an old format for the card. However, that aside, it would seem that many people (including me) cannot get the cards to play. The CRV driver’s dilemma is described in the humorously named Hodge Blog:

OK, so you don’t want to read that – in a nutshell the problem is that people cannot get their cards to work – they either get – MEDIA ERROR" or "NO MUSIC" errors.

The source of this problem is, of course, Honda who despite being an excellent company who make very nice cars seem to be incapable of telling their users how their cars work.

I believe that after quite a bit of time I have sorted out the problem – it is all about the file system on the cards. I now have 2 cards working perfectly: a 4Gb Transcend and an 8 Gb Kingston card. Both are CF cards and both are working in a generic PCM/CIA adapter. I now don’t think it matters what kind or card you have or what kind of adaper. I could get neither card to work originally getting both errors discussed above – "CARD – MEDIA ERROR" and "NO MUSIC". The secret is to format the cards with a FAT32 filesystem. Unfortunately cards often do not come with a FAT32 filesystem on them so you will need to put an appropriate filesystem on the card. Unfortunately you cannot easily do this with XP or Vista. In Vista or XP you have to run a command from a command window. To get a command window do the following:

Start >>Select Run>> in Run Dialog Box Type Cmd

Once you have done this you need to run the format command. If your card is called X: you type the following:

format /FS:FAT32 X:

Please be very careful with this – it will nuke any file systems so make sure you choose the right drive letter (it will probably be called E:, F:, G: etc. rather than X:)

On a Mac you can do the following: open Disk Utility select Erase and choose MS-DOS FAT as your preferred format. This will format the disk. Again please be careful.

I hope this helps others, if it does, please consider sending a fiver to Oxfam!



Today I found the magazine entitled WTF* in my hotel room. Funny how some things don’t translate well.


* = Welcome To Finland

CORCS 2008

I am at CORCS 2008, a workshop associated with the COMPSAC 2008 Conference in Turku Finland. This morning I was talking with John Ersfolk of Turku University who is working on a language similar to Insense called Canals. This language is a stream/data flow language similar to StreamIT from MIT.

The first paper at CORCS was about a new sensor net operating system called Valentine presented by Natasha Hoang of the University of Pau. This work was conducted in conjunction with people from Mälardalen University in Sweden. This operating system has been built upon the Think framework. Think (THink Is Not a Kernel) is a C-implementation of the Fractal component model. The motivation for Valentine is also similar to some of the goal of Insense in that they want to build and OS that permits the dynamic replacement of components. The OS is based on the Fractal model and in particular supports:

  • The separation of Interface and Implementation
  • Component orientation
  • Inversion of Control

I presented an overview of the Insense language and demonstrated a small example in which one mote sends temperature, light and humidity measurements to another.

The slides can be found here, the paper here, and the example here.


I am currently at COMPSAC in Turku Finland. This conference is without doubt, the most chaotic conference I have ever been to.

I met Sam Malek (a promising young software engineer who has some great ideas) and his wife, Shadi. Today (30/7/2008) Sam presented an interesting paper on his work on Crosscutting in Architecture styles, work building on his work on the PRISM-MW system of Nenad Medvidovic.

The basic thesis of his work is that architectural design is lost in implementation in that architectural elements are dispersed in code snippets in the implementation and that this is forced upon the programmer by the middleware. His solution is to created a (meta) language which permits architectures to be described and to have a middleware which permits appropriate middleware components to be generated from styles. The work draws much upon aspect oriented programming of which I am not a fan.

I also met Russ Taylor who is gave the keynote today.  He gave a very interesting keynote on Medical robotics and computer-integrated interventional medicine. His goals were to: transcend current medical limitations, increase consistency and quality of surgery and promote better patient outcomes. He speaks much of the need for better integrated health care information systems. There is clearly many interesting problems in domain related to scale, heterogeneous databases, privacy, querying, similarity searching, the list goes on…

I went to an interesting session today on Location Based Services. Much of what was discussed in the session was reminiscent of the work we did in the Global Smart Spaces (GLOSS) project. Afterwords I talked to two of the panelists – Axel Küpper from The University of Munich and Gerald Eichler from T-Mobile. Axel described some middleware they have been developing for location aware services. Gerald made some interesting points about how Web 2.0 and Web 3,0 (is there a 3.0?) technologies help to liberate the provision of location aware services. He was talking about web + user participation + semantics + mobility and The Internet of Services: web+ mobility + context sensitivity + smart devices. He also mentioned the Tracy toolkit (not the best link) and Android. Maybe it is time to start looking at LBS again!

COMPSAC 2008: 40 Years of Software Engineering

Brian Randell talked of the NATO software engineering meetings of 1968 which may be found here: 1968 Garmisch report which was written at the first NATO software engineering conference. He also reported on how the proposed NATO Software Engineering Institute was white anted skillfully by Tom Simpson. Brian claims there there are three topics that were in the air in 1968 and are still around today:

  • Software components
  • Development tools and environments
  • Multiprocesor System Design

Brian pointed out that in 1968 people (Doug McILroy ran a workshop on this in 1968 – photo) thought that within a few years people would have access to large libraries of well developed and parameterised components. He claims that this has not come into being – maybe he hasn’t heard of Java/COM/.Net?

On tools and environments he points out that the HOPL website lists 8512 programming languages. He claims rightly that there are too many languages/methodolgies and that there are also too many conferences and communities that do not talk to each other.

On multiprocessor design he talks ot modern multi-core machines and sites Amdhal’s law which states that  if P is the proportion of a program that can be made parallel (i.e. benefit from parallelization), and (1 ? P) is the proportion that cannot be parallelized (remains serial), then the maximum speedup that can be achieved by using N processors is

\frac{1}{(1-P) + \frac{P}{N}}

(from Wikipedia:’s_law)

Brian claims that grants, proposals, white papers, etc. for multi-core do not contain new ideas to address this fundamental problem and that multi-core systems only really help in cases in which we have multiple processes which do not interact.

The general thesis of this talk was that the progress in these three areas in the last 40 years has been quite disappointing.

Jean-Claude Laprie was more upbeat safety-critical systems, traditional software systems have pushed mean time to failure from a few hour to several years. He also mentioned formal methods and talked of the much cited Paris subway system. He said there is much promise and excitement in the future where we are moving away from static software engineering and moving towards Dynamic Software Engineering where systems are constructed by discovering and assembling independent services. This has many names including Service Oriented Architecture. This introduces more problems – evolutionary mismatches and introduces emergent behaviours. He cautions that in such systems there are problems with fault containment where a system becomes dependent on its component services.

He has many expectations in advances in dependability. He quotes  Barry Boehm  who says that improving agility and dependability will be one of the challenges for 21st century software engineers.

Michael Fagan was also more upbeat asking "what have we done to advance ourselves?". Languages are much more high level, terminology has changed, Methodologies have changed – or have they? – agile methodology for example. He described extreme methodologies and claimed it had been used by Harlan Mills many years ago (but not called Agile). He also advocated that we all keep things simple especially in the use of vocabulary – instead of using big words, use simple vocabulary – Occam’s razor again. He cites his experience of managing an OS project with several hundred software engineers (Michael Fagan introduced Inspections at IBM in the 1970’s). He also talked of attitudes and discipline have changed. However the big remaining problem with software engineering is getting requirements right. Who do we need to involve to insure that the user gets what the user wants? Intestingly, he asked if we could learn from the makers of games and talked about World of Warcraft and how rapidly they turn around versions of the game.

Chocolate is good

If anyone is thinking of visiting the NDS research group and is wondering "what should I bring as a present?", chocolate is always a good choice.

Here is a recent visitor, Christoph, giving me a bar of Toblerone.



a lot of chocolate is always a good choice.

Young Scottish Software Engineer of the Year awards

last week Angus MacDonald came third in the Scottish Young Software Engineer of the Year awards run by ScotlandIS. This was an excellent achievement which reflected a lot of hard work in Angus’ senior honours project. He picked up a cheque for £750 donated by Graham Technology, with his project for providing dynamic Web Service Composition system called YAWSA. This project reflects the research group‘s interest in web services and web service composition. Angus is continuing with this theme in his PhD work supervised by me.

 Angus MacDonald