At last I can report on some standards items that have been bubbling along for some time. I've hinted at them in the past. Standards are there for several reasons, all of which ultimately come back to money. The industry wants standards so they can commercially interact efficiently. This is why we all use the same mains plug in the UK, though mainland Europe, who trade together more easily, got one plug/socket for the whole of Europe.
There are also standards for safety. These are required so that the industry has guidelines to work to without having to re-invent processes, methods and liabilities every time, thus saving money (and lives).
In the late 1980s, despite the K&R book on C, the software industry (and compiler makers in particular) needed a Standard for C. Therefore, it was done quickly and by the industrial players. After that, many other people got involved and C99 had an input from many people, not just the tool makers and those with a financial interest in a standardized language. The result was that C99 contained a lot that a few people thought was “cool,” but the industrial players were not interested in. Had they been, the compiler makers would have implemented C99 in months rather than all but ignoring it for a decade. Note the // for comments was implemented before it was in the Standard.
In BSI, anyone can join the BSI language panels—you just walk in. Apart from the industrial players, many others did who were “joe programmer” and also some who, whilst not actually having much in the way of qualifications or experience, wanted to do something in standards. It was almost their hobby. You can meet people like this in many clubs and societies where it can be a substitute for a real career.
This caused some problems in the BSI C panel in particular. Because ISO Standard C compilers are not required by law or any commercial imperative (and for the embedded world, we were quite happy with C90/95), the industrial players were less interested in putting lots of effort into a panel that was messing about. Therefore, the BSI C panel in particular became lopsided. There was a lot of infighting and BSI suspended the C panel two or three times due to the behaviour of some members. Eventually, about a year ago, it was closed rather than suspended. The problem is that many of the causes migrated to the panel above. So should BSI ever re-open the C panel, it will be in the same mess as when it closed. A new broom is required to sweep out the BSI languages group.
On the other hand, MISRA-C, C++, Auto-Code, Safety Analysis, and Languages have small teams of qualified and experienced people drawn from industry because the industry wanted the MISRA standard. Initially, MISRA was for the automotive industry. Now it serves aerospace, automotive, and industrial and tool vendors.
By the way, the tool vendors watch each other and the rest of us watch them, so there is no bias. Someone commented that MISRA-C2 was MISRA-C1 for tool vendors. Well, yes and no. Tools work to rules. Mechanically, they don't use fuzzy logic or guesswork. The tool vendors, in general, not just the ones on the MISRA panels, were asking for clarifications on ambiguities in some of the rules. Thus, by clearing up the ambiguities, the tool vendors were able to implement more of the rules. Then again, so was everyone else.Over the last few years, the BSI C panel was in a mess and, because the MISRA-C panel was working closely with the industry, it was becoming more prominent. Not just in the UK, but globally.
The result is that last month MISRA C and MISRA Languages now have formal Category-C liaison with ISO C (WG14) and the ISO Vulnerabilities panels (WG23). MISRA-C++ is also going through the process and will hopefully have a formal liaison early this year.
MISRA does not represent the UK at ISO but, like the Vatican in Italy, it is in effect a separate country. It looks as if other MISRA working groups will also apply for formal liaison to ISO panels and working groups. This will mean that MISRA can have some influence on the new ISO standards and at the same time, MISRA can adapt to the changes in the ISO standards. Hopefully it means that the ISO standards will be of more immediate use to the industry and the MISRA standards will be applied to the new ISO standards, where appropriate, more rapidly.
Collaboration is what it is all about as the world is getting smaller. I recently received an press release that started ” The new Europe-China Standards Information Platform designed by the Sustainable Development Association with the support of the European Commission and the European Free Trade Association (EFTA) was officially launched. Present were representatives from the European Commission DG Industry & Enterprise and DG Trade, EFTA, CEN, CENELEC and ETSI and, some National Standardization Bodies and Committees, European Federations, the Seconded European Standardization Expert in China, and SDA”
Why is collaborating with China on standards important? As I mentioned at the start, money. With standards, trade and industry work more efficiently, which translates into more cost effectively. This comes back to money, without which YOU will not have a job.
If you have to deal with China, and we all will in the next decade if not already, you might be interested in their web-based portal http://eu-china-standards.eu. It is apparently a valuable source of information regarding the relevant regulatory regime, standards, and standardization systems in Europe and China. The idea is to help SMEs work with China and should give information on the standards required there. More information is available at www.sustainableda.org/standards%20platform.php.
Whilst on the Far East and the changing shape of the world, there's a new ISO working group for embedded coding standards in its early stages. It comes from Japan, China, Thailand, and India. It also has liaison links to MISRA. Certainly Japan, China, and India are starting to drive things and both China and India are pushing major expansions in technology. They are putting huge resources into embedded technology. Europe will have to work hard to keep up.
Without getting political, the UK needs to work closely as part of Europe, not on its own. This is why conferences and shows are important for networking and ideas. In fact, at the UK Trade and Investment at the end of November, many UK and European technology companies were present. There was as much business going on between exhibitors as visitors. It may be worth a trip to Embedded World at Nuremberg in March.
Engineers must realise that they are part of a company team that is in business. No business = no money = no company = no job. The competition knows this and they work efficiently to a common goal with less of an “us and them” view of management.
Chris Hills has extended experience in designing, implementing and supporting safety-critical and high-reliability embedded systems, both in the lab and in the field. He founded Phaedrus Systems to serve companies in that space with tools, methodologies, and consulting services. An active participant in standards bodies, including ISO C, C++ and IEC 61508-3, Chris was a principal author of MISRA-C:2004 and is a member of the MISRA-C2010 team and Chair of the MISRA-Languages group. He has written regularly on the standards scene and other areas for over seven years. For more information on Chris, go to www.phaedsys.com.