Because XML is at the heart of what is being called the ‘embedded cloud,” and is in wide use in embedded development as a powerful data representation framework, there needs to be as much discussion of its strengths and weaknesses and how to deal with them as is now devoted to C or C++.
Embedded tool vendors, microprocessor architects, EDA companies, and FPGA firms are finding many clever ways to use XML (Extensible Markup Language), but with only a few exceptions I can seldom get them to go into detail about their projects.
They appear to think that what they are doing is a secret they do not want to advertise widely or that their use of XML is too mundane to bother talking about, like sprinkling salt on your eggs in the morning.
But I hope this will be changing given the recent announcement by the European Union of the completion of the INTERESTED (INTERoperable Embedded Systems Tool chain for Enhanced rapid Design ) project. XML is the underpinning of a cooperative effort by a team of companies that includes AbsInt Angewandte Informatik (Germany), Atego (UK), CEA (France), Esterel Technologies (France), Evidence (Italy), Symtavision (Germany), Sysgo (Germany) and TTTech Computertechnik (Austria).
XML is going to be a part of all embedded developers’ lives for at least two reasons. First, it is an integral part of the Web protocols that must now be included in many network and cloud-connected designs. Second, and more importantly, it has data structuring features that make it a useful tool in the embedded design environment.
Because of this there needs to be as much discussion of its strengths and weaknesses in the embedded systems environment and how to deal with them as is now devoted to C or C++. I hope you will use Embedded.com and ESD Magazine as the forum for that discussion.
XML is not a language in the same way C, C++, or Java is, of course, but rather a set of rules developed by the World Wide Web Consortium for encoding documents in machine-readable platform-independent form The design goals of XML emphasize simplicity, generality, and usability over the Internet. Although the intent of XML is the creation of Web documents, it is used for the representation of arbitrary data structures, for example in Web services.
It is in this ability to represent a number of different data structures that XML is finding most use in embedded systems designs. For example, consider the experience of Karen Wang, who in “Use XML to build ASIC or SoC design specifications ,” explains that as senior embedded software engineer at SiBEAM, Inc. she was faced with the problem of distributing the hardware specification created by the company’s ASIC engineers to other teams for hardware validation, embedded software development, and data sheet documentation.
“Unfortunately, no standardized tools to document and distribute the specification existed,” she writes, “so ASIC engineers often use Microsoft’s Word, Excel, or a text editor.” What XML provides is a mechanism to easily convey a hardware specification. Moreover, she said, XML is easy and intuitive to learn and the amount of training required for hardware engineers to use XML is relatively small. “Expertise is only required in the schema creation and style sheet design, which can be owned by one or two engineers,” Wang says.
According to Jon Pearson in “ Building correct by design embedded systems,” at Cypress Semiconductor XML was used to build the configuration environment framework for the company’s PSoC Express design tool. The tool makes use of data-driven techniques to monitor resource usage for programming an microcontroller, providing an organized way for the programmer/developer to organize configuration and design information.
At Polycore, a provider of tools for multicore software development , XML is at the heart of its Poly-Messenger and Poly-Generator offerings. Poly-Messenger is a run-time software component that implements inter-core communication based on the Multicore Communications API, or MCAPI. Poly-Generator is a tool that is used to specify the communication topology. The system designer creates an XML file that defines resources on a per-node basis, where nodes can be either physical (i.e., a particular core) or logical (i.e., there can be multiple nodes within a single core).
Up until the INTERESTED project, the most impressive use of XML in embedded systems design to date is the automotive industry’s AUTOSAR common embedded tool chain , in which XML is used to define the data interchange formats that allow fine-grained distribution of data to be distributed amongst the various the various tools used by the different teams of developers or members of teams.
According to a recent news report, the participating companies in the INTERESTED project said that the XML-based reference tool chain has been evaluated and validated by a host of European embedded tool users on practical applications against real-world design interoperability and cost-reduction requirements. These included Airbus Operations S.A.S (France), Thales (France), CEA (France), and Siemens Mobility Division, Rail Automation (Germany) and Magneti Marelli (Italy).
One company, Thales, reported that compared to freeform alternatives, the use of the new tool framework resulted in a 25 percent reduction in overall project effort, a 10 percent reduction in the time spent on modeling and a 25 percent reduction in the number of remarks raised by design reviewers.
Although most embedded hardware and software companies don’t talk much about how they are using XML, virtually every EDA company, software tool vendor, and processor company makes use of it. One measure of XML’s ubiquity is patent activity. A search of the U.S. Patent Office reveals that since 2005 about a dozen embedded hardware and software companies I deal with regularly have applied for or received over 1,100 patents relating to the use of XML.
I’ve also been talking to designers who are making use of XML in their development environments. A few of them have volunteered to write articles for embedded.com on their experiences, which you can be expect to see on line or in the magazine in coming months.
Given its growing ubiquity in a variety of hardware and software design environments, I look forward to seeing more contributions from you on the topic of XML and how you use it in your designs. Or that you don’t use it, and why, and what you use as an alternative.