Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Opinions on UML tools in embedded design

Status
Not open for further replies.

wolf69

Advanced Member level 4
Joined
Sep 20, 2002
Messages
105
Helped
2
Reputation
4
Reaction score
0
Trophy points
1,296
Activity points
783
UML tools in embedded

Hi,
do anyone use some UML software modeling tool? In embedded design?
I'd like to know how do you feel. (hope not like a rolling stone...)

Bye All!
 

Re: UML tools in embedded

Hi,
usually I use I-Logix Rhapsody but only for
the analisys and documentation, not to
generate directly code.

One of the most famous products is
Rational Real Time, but for me it's not
so linear, it's too complicated.

bye
Stevasway
 

Re: UML tools in embedded

I've been involved in a lot of embedded projects.

I've no doubt whatsoever that using UML does *not* shorten project times where the software teams are less than six. In my experience project times increase by about 15%.

For larger teams it may or may not help, I have no experience of really large embedded systems.
 

Re: UML tools in embedded

Forgot to add - if you are interested in using UML for embedded stuff try and get hold of the following book :-

"Practical Statecharts in C/C++: Quantum Programming for Embedded Systems"

I'm halfway through it at the moment, and can see a lot of promise in the proposed approach.
 

Re: UML tools in embedded

In my opinion using UML for project documentation
and analysis is a good way to project any kind of
software and hence embedded firmware.

The possibility of a graphical vision of the state
machines that compose the sw/fw gives you
a great advantage to better understand what
you write.

When you project thinking in "UML vision" you can abstract completely
from the code that you write. You can obtain this in any case : both you have a Engine that automatically generate the code for you, or you have a layer like Quantum Programming.

Last, at the end of analisys you get a standard documentation
that you can present to your Customer, and this is a great thing.

I think that there are programmers and sw/fw project developers.
The difference is how they approach the projects.

UML is a way to thinking and projecting.
 

I'm really in accord with stevasway.
Anway stevas, why you don't use code generation with rhapsody?

I have seen only the brochure of rhapsody and I think it is good but high price tool.
I'm going to evaluate RealTime Studio, a quite simila r tool but cheaper I think.

Bye All!
 

Re: UML tools in embedded

I purchased a copy of Rhapsody (Architect license).

I don't use Rhapsody for code generation for three reasons:

1 - The price is too high (I agree with Wolf69).
2 - Generating code you became Rhapsody tool dependant, int the
sense that in your code finally the abstraction level cost maybe
too high.
3 - I think using Rhapsody (with code gen) with large projects
may be an advantage otherwise in small projects could be a
disadvantage.

What do you think? What is your experience?

Bye all!
 

Re: UML tools in embedded

Hi,

You can check www.iar.com
They have VisualState which is UML state machines modeling and design tool in the embedded environment. It can be used with or without OS and is able to generate compact code.
 

Hi All
Stevas,
I have only experience on developing embedded software for uC without modeling tools. Anyway I'm taking a look on this topic (since I'm moving to larger projects and processors -arm-).
Last summer I evaluated visualstate and I think is a very powerful tool to model and strictly develop a part of your application. It is userful when you have to work with "states", moreover it let you to implement concurrency in really easy way. For example a modem management comes fast, clear and with high level test avaliable.
Anyway other visual tools, like raphsody with magnum state or Real Time Studio, cover more aspects of the enire project (like system modeling or procedural modeling, class modeling , and state modeling too...). So I'm going to evaluate (in my spare time) Real Time St.
Really I think it can't do states as good as with visualstate.. I'll try.
RealTime studio is "one component", inside there are states, classes , system and code generation.

So Stevas, probably with code generation you get tool dependent but, in my experience, maybe this is the only way to get documentation refreshed as code. Another advantage I see is that if you get another person in software development process he get prductive faster. Diagrams are easyer to read than code written by other persons. Maybe for small projects too.

Bye All!
 

Beetrots:
which UML tool have you used (that increased by 15% the developing time)?

Bye!
 

Re: UML tools in embedded

Rhapsody's I-Logix and Artisan's real time studio - however it's not really a tool issue.
 

Beetrots:
what do you think have expanded by 15% your developing time using UML? In large or small projects? And no advantage at all?

I took a look at Quantum Programming for Embedded Systems some time ago, and made me a good impression but I not experienced it.

Bye All!
 

Re: UML tools in embedded

UML 1.x tools certainly don't help as much as the vendors like to present in their marketing material; it's just a thin layer over C++ (or Java), so the typical embedded developer using C and adopting UML 1.x actually has to migrate to C++, and also attempt to migrate to OO as a usually underemphasised 'part of the deal'.

In particular the talk of 'full code generation' simply means that the tool copies the code you manually write and put somewhere in the UML tool is copied out into some fairly minimal class definition code. YOU still have write and to debug that code, and this approach has major limitations like there are actually two seperate languages involved (i.e. UML and C++), so you're actually increasing the complexity of the development approach to solving problems, rather than allowing tools to simplify development by using the right development languages and letting tools automate tedious and error-prone mechanical activities like writing 100% of the C/C++/Java/Ada/... which will run on your target platform.

The real benefits of a new generation of modelling languages will come when we make a step away from traditional programming languages like C, C++ and Java, using new languages which incorporate some of the abstractions that are lacking from UML 1.x and these languages. In particular these will provide a formal, precise, and visual way of specifying architecture, components and interfaces, so we can really define things once and re-use them any number of times. Look for UML 2.0 tools available now from Telelogic and coming (according to their marketing) from ILogix (with others following during 2004), which in principle will allow a move away from the limitations of conventional languages like UML 1.x/C/C++/Java.

But for smaller projects the advantages probably won't outweight the costs for 5 years, if ever.

How long did it take for embedded developers to migrate to C, then C++? It's still not complete, some are still using assembler! Depressingly, though, C++ is now 18 years old. If it's so sh*t-hot, why doesn't everyone use it? It's not the right solution, that's why. And by extension UML 1.x isn't the right solution either, because it's so tightly linked to the thing that's blocking the road, i.e. C++.

Sorry about the rant, but the garbage talked about UML 1.x makes me hot under the collar.
 

About the code generation:
sure, tools usually can generate small things for you, you have to write your code, but this small code is the glue bethween full-code and documentation. Anyway if you have to work with "states" (many states) tools can effectly gererate a part of the code you usually write and allow you to test this in a "simulation".

Object orientation:
sure, main advantages come if you use UML with ObjectOrientation. (often I use large assembly portions in my projects....)

bye bye
 

Re: UML tools in embedded

wolf69 said:
Hi,
do anyone use some UML software modeling tool? In embedded design?
I'd like to know how do you feel. (hope not like a rolling stone...)

Bye All!
Hi,
The Unified modeling language (UML) is very good but only in large project.
If you use it in small projects you feel it make problem for you and won't help you.
I was worked with Ratinal Rose and also with uml in microsoft visio in programming.
but I think Ratinal Rose is very better than the latter.
And in embedded design I will used one of them soon.
so I'll tell you about it.
 

Re: UML tools in embedded

Beetroots said:
Forgot to add - if you are interested in using UML for embedded stuff try and get hold of the following book :-

"Practical Statecharts in C/C++: Quantum Programming for Embedded Systems"

I'm halfway through it at the moment, and can see a lot of promise in the proposed approach.

hi, do you have ebook of it..
 

Re: UML tools in embedded

h**p://rapidshare.de/files/11014619/Practical_Statecharts_in_C___C___Quantum_Programming_for_Embedded_Systems.pdf
 

UML tools in embedded

I have worked on UML rational rose... sounds great from industry prospects... and can genrate scelation of structure.. bust basicly used for modeling purpose... not that good sounds to me now...
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top