User Panel on Executable UML
A nice discussion developed within the Executable UML (xUML for short, from now on) user panel at the OMG technical meeting in Arlington, VA, today.
The panel was chaired by Stephen Mellor and Ed Seidewitz. The panelists were:
- Laurent Rioux from Thales
- Diarmuid Corcoran from Ericsson
- Gary Shubert from Lockheed Martin
Here are some interesting statements that I collected.
For some apps you don’t even think to executable UML, you use same approach but you typically prefer exploiting DSLs and highly optimized compilers. But this is not a contradiction or a fight between xUML and DSLs, because the approach is actually the same.
Having a standard UML action language (namely, Alf) will help a lot to promote xUML.
The way you actually obtain model executability (Model interpretation vs. Code generation) is really a matter of the application domain where you want to use it. For instance, you will never use interpretation in realtime/ critical/ embedded systems (you may also have a quick look at this presentation http://slidesha.re/gwHI4v)
MDD is a largely applied key tool for fighting software complexity (e.g., at Ericsson). Textual syntax has been strongly felt as a missing piece.
Don’t try to force people to be modellers if they want to be programmers and vice-versa.
Modeling and code generation practices have been widely adopted at Lockheed Martin since 1989. For instance, the flight control software for F-35 fighter completely automatically generated (not from UML, though; from mathematical models instead)
Vendors’ Panel on Executable UML
The panel involved:
- Arnaud Cuccuru from CEA List, working at the Papyrus UML tool (http://www.papyrusuml.org)
- Cortlland Starrett from Mentor Graphics, building the BridgePoint UML tool (http://www.mentor.com)
- Nerijus Jankevicius from No Magic, working MagicDraw and the Cameo Simulation Toolkit (http://www.magicdraw.com)
They presented the status of the implementation of action languages within their tools and discussed the roadmaps towards adoption of fUML and Alf.