Sparx Systems Forum
Enterprise Architect => Suggestions and Requests => Topic started by: Justin Halls on March 30, 2005, 02:11:01 am
-
It would be nice to have some support for the C language and for traditional in-line programming. This is still a common programming requirement especially for real-time applications and programs for PIC microcontrollers.
(Excellent product by the way) :)
-
Do you have any hints on what features you would like? UML is an OO modelling language, not (really) suitable for structural (or as you as in-line) programming. I know there's still a lot of C programming going on, but I'm not sure what features in EA you think would be beneficial.
-
Have a look at iLogix Rhapsody - they claim to support UML modelling and use of straight C.
http://www.ilogix.com/rhapsody/rhapsody.cfm
Then get your wallet out ...
-
Caution: Your mileage may vary. ;)
Here's something to consider: what is the substantive difference between an object with only static members and a C library module? [My answer: nothing!]. Since UML allows modeling of classes with nothing but static members, it follows that, with use of suitable stereotypes to make the differences clear, that it can be used to model a code module.
Additionally, I see no reason why use case diagrams, state diagrams, activity diagrams and sequence diagrams can't be used to model algorithms in C. At bottom, even OO is procedural (try writing a program in Java that actually does something without writing procedural code). So I don't see why UML could not be applied to structured programming methodologies.
-
I should also add...
And all the stuff I mentioned can be done just fine in EA, so no need to hock the farm and buy Rhapsody. The only shortcoming regarding C is that EA doesn't forward/reverse engineer C code unless it is disguised as C++.
-
One additional note:
The I-Logix white paper on use of UML for C development can be found at
http://www.ilogix.com/whitepaper_PDFs/whitepapers.cfm?pdffile=UML_for_C.pdf