Keynotes & Top Three at ESC

The Embedded Systems Conference, UK was held in a new location of FIVE at Farnborough, home to the famous airshow. The conference keynotes featured two Q&A panels. The first was a set of CEO’s discussing ‘The State of Microelectronics’. They discussed high level issues such as the current state of education in delivering the next-generation embedded engineers. One interesting aspect highlighted by Mark Robson, CEO of Freescale Semiconductors was how the new breed of engineers graduating will be much more suited to collaboration and working remotely thanks to the influence of social networking. Interesting side benefit from the likes of facebook, twitter & co!

The second keynote, ‘The State of Embedded’ was focused more on engineering trends including the old language debate of C vs C++. Niall Cooling of Feabhas mused on the point that there should be more uptake of Java for embedded but there are still barriers out there, particularly with issues such as the non-deterministic behaviour or garbage collection. You can’t very well have your deeply embedded device pause for a moment while GC runs.

Both the keynotes highlighted some interesting discussion points. On the whole, I felt they could have benefited from being a bit more structured and was a bit disappointed that there was not more talk about the future direction of the embedded space.

I attended quite a few of the conference sessions. Some of the sessions suffered due to the presenters attempting too cover too much rather than just sticking to the remit of the talk (after all who wants to keep hearing about waterfall models). Three of the best sessions I attended were:

1. “Implemening a Memory Manager for Small Footprint Embedded Systems” by Michel de Champlain of Deep Object Knowledge.
Michel gave an interesting, technical talk about a low footprint deterministic memory allocator for small embedded processors. I could immediately see how this could be very useful to our clients.

2. “Understanding Quality” by Glennan Carnie of Feabhas.
This was a very well presented session of which the key take-away was the ‘Quality Triangle’. The triangle consists of three measures of quality: Customer perceived, Intrinsic and Compliance-based. Quality of products are measured using one or more of these measures depending on the situation. In our experience, many embedded companies rely on customer-perceived quality. This is okay until the product gets used by a larger set of customers or used for a slightly different purpose. Having good intrinsic quality allows quick and less expensive adaptation to continue to achieve the desired customer-perceived quality.

3. “Tips and Tricks for Debugging In The Trenches” by Greg Davis of Green Hills Software.
This talk included a series of advanced debugging features that are not often used, but could be very effective in the right situation. It was presented by the head of the compiler group so very relevant to me as a compiler-writer. The most interesting feature was the advanced ‘scripted breakpoints’ which allow you to automatically run a few commands every time a certain breakpoint is hit. Its nice to see that GDB is keeping up with the commercial debuggers, now that Python is integrated into GDB.

In addition to those sessions there was also the latest and greatest from many exhibitors to partake in. On a less positive note, while the new location was convenient to travel to, unfortunately the centre did not provide the best venue for the conference talks. The talks suffered from a high level of ambient noise from the exhibition floor. It made listening to the talks difficult and a poor environment for interacting. Fortunately the organizers are well aware of this and will aim to improve on this for upcoming conferences. All in all, ESC UK was worthwhile, and we look forward to a new improved ESC UK next year.

Improving Code – The Open Source Way

The latest CDT offering has just been released. Today CDT is generally acknowledged as the de-facto C/C++ IDE in the industry. The extensive code navigation features are amongst the highlights that the framework has to offer. Not wanting to rest on their laurels, work is already well underway on the next release, CDT 6.1. In a recent blog article, CDT lead Doug Shaefer highlights that there will be a big focus on fixing up the scanner discovery mechanism.

Scanner discovery mechanism is the feature in CDT that supports code navigation by automatically discovering build information such as include paths and build macros. The build information is normally retrieved in one of two ways. The first involves running a fixed gcc command to query the known include paths and macros. The second way involves parsing the build output to identify relevant build information.

This is a great feature that enhances code navigation, and in particular creates a very good start up impression. It means users can navigate to code libraries even before they build a project. In our experience this has been a very desirable thing, particularly when our clients provide specialist libraries such as peripheral driver code. Scanner discovery means their customers can easily navigate the code and link to header files to browse the api for the peripherals. However, as it stands today the scanner discovery mechanism is both architecturally flawed and buggy. We have spent significant time fixing it up for clients in order to give the desired experience. However, there’s only so many times we can patch it up before wanting to help fix it up once and for all.

As a result we will be working with the CDT team to help fix scanner discovery for the next release. In fact we will be part of the ‘rag-tag group’ Doug refers to in his blog. The first step was to have an initial kick-off meeting, followed by all capturing the problem and trying to define the architecture. This has been done using the CDT wiki. While one or two CDT committers have put down details of what the high-level architecture should be, we have added our thoughts on the specific issues we have seen with the implementation and low-level architecture based on our experiences.

The next step will be the interesting one as we work out how best to proceed. In the meantime, Kichwa Coders will also be working on some low-hanging fruit by working on scanner-related bug fixes such as using variables in dialog boxes. All in all, it will be an interesting experience working on a relatively far-reaching feature with several other developers spread out across the globe, yet ultimately very rewarding to be part of fixing up this key feature of the CDT. In particular for us, it means yet another feature our clients can take for granted and keep focusing on their core competences.

The Problem With The Tools: 4 reasons embedded tools are not up to scratch

In the Electronic Design Automation (EDA) field it is widely acknowledged that the state of the software has not kept up with the rapid advance of the hardware. At the 2009 Design Automation Conference (DAC) in his keynote speech “The Tides of EDA“, Albert Sangiovanni-Vincentelli, co-founder of Cadence and Synopsys, said “At the system level, we should look closely at embedded-software design as a great opportunity to innovate…For the past six years, keynotes at DAC pointed out the great importance of software for electronics, even for the semiconductor industry…There is consensus about the need to change the way we design software in general…

So what is it about software tool development that has meant the tools are not up to scratch ? Here are four challenges developers have to contend with.

1. Tool complexity – the tools do a lot, whether it is dealing with routing algorithms or enabling one to build a system-on-a-chip, there is a great deal of functionality to contend with. All this has to be handled while ensuring the tool remains fast, robust and easy-to-use.

2. Short timescales and limited resources – as ever time is of the essence as the rewards are huge for being first to market. However the current economic crisis makes things worse as it means companies have to work out how to deliver in short timescales with limited resources. This often leads to compromises being made which detract from the tools.

3. Sophisticated users – today’s users are increasingly sophisticated. They have specific notions of what tools should look like and how they should work. Often embedded tools suffer from usability issues as they have not spent enough effort focusing on the end-users needs and optimizing key task flows

4. Integration Demands – an extra burden is put on developers to get integration right. Today tools cannot exist in a vacuum and must play nicely with the existing systems out there, whether they are build systems, revision control or text editors. Dealing with integration issues complicates the lives of tool developers as these requirements often arise further down the project life cycle and require a high level of adaptability.

Eclipse Summit 2009 – Short Talk Proposal

The planning for this year’s Eclipse Summit in Ludwigsburg, Germany is underway.
We’ve put in a submission for a short talk to present the work we did at Diamond Light Source. You can view the abstract here. The talk will focus on taking Eclipse into a new scientific domain, with the potential of forming the basis of an open source platform for synchrotron data acquisition. We envisage this would meet the criteria of getting people excited and engaged at the potential for Eclipse to conquer this new territory. Whether the committee agrees with this remains to be seen. The level of talks at Eclipse conferences and summits is always very high so it would be great to make the cut. However competition is stiff and at the time of writing there were 152 submissions to contend with. The talks will be chosen by August 25th, so we await the decision with bated breath…

Kichwa Coders at the Great Marlow School

Back in March, Kichwa Coders was invited to participate in a Buckinghamshire Education Business Partnership (BEBP) at the Great Marlow School.

Kichwa Coders was asked by BEBP if we could provide a mentor for an Enterprise Day. I volunteered to attend the 18th of March session for year 10 students (14-15 years old). The day focussed on a brief prepared by Urban Media looking to get input from the students on a new Family Entertainment Centre to be located in South Bucks.

An Enterprise Day is a day for the students to experiment with some real life business problems. The school or a company from the community puts forward a real life challenge to the students, and under the guidance of a group of mentors they come up with a solution and then present the results back to the mentors and their peers.

In the case of the Urban Media challenge, the class of approximately 200 year 10 students were divided up into teams of 8 students each. The teams had about 4 hours to read the brief, and complete a set of tasks before finally presenting their results to a couple of the other teams. The tasks were:

  • coming up with a name for the family entertainment centre,
  • create an advertising campaign which included 2 posters, a radio ad script and a storyboard for a TV ad,
  • develop two “zones” in the centre, a learning zone and a gaming zone, the result of which should be a diagram for the zone detailing the activities and look and feel of the zone
  • come up with the concept for two additional zones and provide the same material as above
  • create a presentation to explain to Urban Media, the mentors and fellow students what the team came up with.

As you can see, the students had a huge amount of work to do. I was mentoring three of the teams providing them with guidance and encouragement on these tasks. Some of the students really impressed me with the level of dedication to this task, clearly demonstrating a level of maturity ahead of their age. The result was that all the teams did a very good job, and even though I thought it was a very short time to complete so many tasks most of the teams did.

The Enterprise Days are very good days for everybody involved. The students have an opportunity to complete some real world experience, the mentors get invigorated by the unbounded energy of teenagers, and the sponsoring company gets invaluable ideas from brainstorming with so many people. I am really looking forward to next year’s round of BEBP Enterprise Days.