June 19, 2006
Your UML Tutorial- UML, XML, ESL, MATLAB & Simulink, too
Please note that contributed articles, blog entries, and comments posted on EDACafe.com are the views and opinion of the author and do not necessarily represent the views and opinions of the management and staff of Internet Business Systems and its subsidiary web-sites.
Raise your hand if you know what UML is, why it is (or isn't) important to electronic design automation, and what its implications are within the context of ESL in EDA. And also, while you're at it, raise your hand if you know how UML relates to XML, and whether either of these representations have a role to play in chip design.
Then, take this pop quiz. Each answer is worth 1 point.
9-10 points - you can take a pass in the class.
5-8 points - get yourself to the UML Tutorial at DAC on July 23rd.
0-4 points - get a job in a different industry!
May 15, 2006
I'm contacting you after reading a sentence in your article about DATE 2006: "Ian Oliver [from Nokia] said there are as many UMLs as there are applications, but no standards and nothing in the UML world fits together".
There is truth in this statement, but the situation is obviously more complex and less negative as it might look like with such a short sentence. The UML-SoC workshop at DAC provides an opportunity to better understand the situation.
The workshop is a place where design teams and researchers from around the world present their work exploring the application of UML for complex chip design. It takes place on the Sunday before DAC and was initiated by Grant Martin and Wolfgang Müller in 2004.
This year will be the third edition and is organized by John Wolfe, from Mentor Graphics, and myself. I have attached the detailed program (which is also available on
www.c-lab.de/uml-soc), a short summary of the workshop, and an interesting article on UML and SoC design from the organizers of last year's workshop (Wolfgang Müller and Luciano Lavagno).
This year we have introduced a special coffee break during which several presenters will show tool demos and more concrete details about their work. As organizers of the workshop, we believe it is indeed very important to encourage close interaction between the presenters and the audience, and give the opportunity to see examples of UML-based SoC design and how UML is used and supported in practice:
* NEC will present their work on NoCs,
* STMicroelectronics will present the way they associate UML and SystemC,
* ArtisanSW will present their SystemC code generator and how they implemented the UML-SoC profile (the extension to UML for SoC design which will be discussed during the keynote of the workshop) for a project which ran at Philips in the U.K.
As you can see from this list, there is a growing interest from the industry for UML and its application to complex chip design.
As the workshop is meant as a place for interaction and knowledge exchange, we have also introduced at the end of the workshop a special session with an open discussion about the current situation of UML-based SoC design. Any participant to the workshop can contribute to the discussion, which will be moderated by John and myself. We believe the program of the workshop is attractive, and constitutes this year a good complement to the Monday tutorial on ESL design methodology using SystemC.
Coming back to the statement of Ian Oliver-Wolfgang Müller and I gave at DATE 2006 a tutorial about UML and SoC design which was quite successful, more than 50 people attended, and it was ranked #2 in terms of tutorial audience. We tried to give a clear and objective overview of the situation, and that is the same direction John Wolfe and I aim for in the upcoming DAC workshop.
John Wolfe & Yves Vanderperren
Sunday Workshop 43rd DAC
After receiving this e-mail, I had a chance to speak by conference call with John Wolfe and Yves Vanderperren. John was in Arizona, where he is Director of Operations and Engineering for the Mentor Graphics' Embedded Systems division, and Yves was in Belgium, where he is on the EE faculty at Katholieke Universiteit Leuven.
I asked John and Yves to start by distinguishing between UML, XML, and ESL.
From his office in Leuven, Yves told me that UML comes from the software design world, and is a visual language for specifying, constructing, and documenting the artifacts of systems: "The Unified Modeling Language provides a means for the graphical representation of the structure and the behavior of systems. UML is not a methodology or a way of designing systems - usually called a 'Development Process' in the UML context - but provides support for communication within a development process."
"XML, the eXtensible Markup Language, is basically a text-based description for many different types of information. It allows the creation of customized tags, enabling the definition, transmission, validation, and interpretation of data between tools. It is at a lower level of sophistication than UML. For instance, XMI, the XML Metadata Interchange, is an XML-based specification for the file format and exchange of UML models. As another example, the SPIRIT 1.0 specification provides a standard XML data format for IP integration data."
Yves said, "Regarding ESL, I would say that UML is a member of the ESL family. There are many languages in the ESL family, including C++, SystemC, SpecC, and the C-based language from Mentor. There's also MATLAB, and multiple verification languages. UML is a language on its own, but it can be associated with other design and implementation languages."
"One way to look at UML is as a complement to the C/C++-based languages, because those languages are pure code with no way to represent systems in a graphical way. UML provides a standard graphical way to represent the code."
Based on that comment, I asked Yves if UML is really a language, or is just a standardized set of picture grams, formalisms for drawing on white boards? And if that's true, why does it take 9 hours at DAC to hash through the whole thing?
Yves said, "UML can be now considered as a language since the basic behavior of a system can be described with 'Actions' - in other words, the fundamental units of UML behavior with a defined semantics. This allows an executable application to be generated from a UML model.”
“However, the syntax of these actions is not defined in the UML specification, and any tool-specific action language or other languages such as C++ could be used. However, as well, a major point of discussion with UML is that it intentionally leaves several details open.”
“Although UML standardizes the syntax of the diagrams, it does not provide the detailed semantics of the implementation of their functionality and structure. The domains in which UML can be applied are indeed so different that they cannot be unified under a single semantics. UML, therefore, remains a semi-formal language and allows semantic variation points - in other words, the interpretation of a UML model may vary according to the application area.”
“The specification of domain-specific interpretations of UML is done via what is called a 'UML Profile.' Several people have worked on the customization of UML towards semiconductor design, providing different kinds of answers - different profiles - having various scopes, and pros and cons. It is in this context that the comment from Ian Oliver at DATE about different UMLs can be fully understood. Finally, as for any language, there is also room for discussion about how to use UML and these extensions for SoC design.”
You can find the full EDACafe event calendar here.
To read more news, click here.
-- Peggy Aycinena, EDACafe.com Contributing Editor.
Be the first to review this article