I have read all the comments on this UML thread with interest. Most of
my experience is in embedded systems and I have been trying to learn
all I can about the various high level software modeling environments,
both model driven (MDD) ones, such as UML and model based (MBD) ones
such as Mathworkâ(TM)s Matlab/Simulink combo and National Instrumentâ(TM)s
Labview. Why? For a number of reasons: (1) the day of the individual
code developer is coming to an end with more and more development done
by large teams often separated geographically around the world (2)
systems, especially in the embedded world, are be coming more complex
and require millions of lines of code running on multicore CPUs (3) as
I learned from lectures by Richard Feynman at Caltech, the key to
unraveling a systemâ(TM)s complexity is drawing pictures that clearly
delineate patterns and relationships and (4) even if you get the code
right, it seems to me the entire project could come to a halt if the
system design and the relationships between entities are flawed.
An article on online at Embedded.com (MDD and IDEs: making
the twain meet in embedded systems design) describes a
bidirectional framework that allows developers to move back and forth
between two environments, an embedded IDE for code development and an
MDD such as UML at the system definition level. I was particularly
struck by the following statement in the conclusion of the article:
>>>>>>>>>>>>>>>>>>>>>>>>> The MDD tools within this bidirectional environment can then
generate production quality C, C++, Java, and Ada source code
automatically from the UML models, which can be fed into the IDE's
C/C++, Java, and Ada compilers, and object code then transferred to the
target. The developer can then take programs running on the target, set
breakpoints on the graphics in the modeling environment, and have the
program stop at the same point in the IDE's source-level debugger.
Working from the other direction, a developer can load and debug the
code in the IDE environment and set break points as well.
>>>>>>>>>>>>>>>>>>>>>>>>
Maybe the author is overstating the case but the move toward such
merged IDE/MDD environments seems to be gaining ground: the one
described in this article was developed for use with the open source
Eclipse IDE. But I have heard that Wind River is moving in the same
direction with the the Tornado IDE it has for both its Linux OSes as
well as its Vxworks RTOSes. And Green Hills Software at one point was
working with one of the UML providers to create a bidirectional
framework between the UML system level environment and its proprietary
MULTI IDE for developers using its Integrity, Velocity and
micro-Velocity RTOSes.
I have read all the comments on this UML thread with interest. Most of my experience is in embedded systems and I have been trying to learn all I can about the various high level software modeling environments, both model driven (MDD) ones, such as UML and model based (MBD) ones such as Mathworkâ(TM)s Matlab/Simulink combo and National Instrumentâ(TM)s Labview. Why? For a number of reasons: (1) the day of the individual code developer is coming to an end with more and more development done by large teams often separated geographically around the world (2) systems, especially in the embedded world, are be coming more complex and require millions of lines of code running on multicore CPUs (3) as I learned from lectures by Richard Feynman at Caltech, the key to unraveling a systemâ(TM)s complexity is drawing pictures that clearly delineate patterns and relationships and (4) even if you get the code right, it seems to me the entire project could come to a halt if the system design and the relationships between entities are flawed.
An article on online at Embedded.com (MDD and IDEs: making the twain meet in embedded systems design) describes a bidirectional framework that allows developers to move back and forth between two environments, an embedded IDE for code development and an MDD such as UML at the system definition level. I was particularly struck by the following statement in the conclusion of the article:
>>>>>>>>>>>>>>>>>>>>>>>>>
The MDD tools within this bidirectional environment can then generate production quality C, C++, Java, and Ada source code automatically from the UML models, which can be fed into the IDE's C/C++, Java, and Ada compilers, and object code then transferred to the target. The developer can then take programs running on the target, set breakpoints on the graphics in the modeling environment, and have the program stop at the same point in the IDE's source-level debugger. Working from the other direction, a developer can load and debug the code in the IDE environment and set break points as well.
>>>>>>>>>>>>>>>>>>>>>>>>
Maybe the author is overstating the case but the move toward such merged IDE/MDD environments seems to be gaining ground: the one described in this article was developed for use with the open source Eclipse IDE. But I have heard that Wind River is moving in the same direction with the the Tornado IDE it has for both its Linux OSes as well as its Vxworks RTOSes. And Green Hills Software at one point was working with one of the UML providers to create a bidirectional framework between the UML system level environment and its proprietary MULTI IDE for developers using its Integrity, Velocity and micro-Velocity RTOSes.