EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Is UML appropriate for embedded systems ?

Started by Alain October 14, 2004
After many years of hearing marketing hype about UML, I am still not conviced
it is well suited to embedded systems specification and design.
In my opinion, for instance, Use Cases lead to a loose specification which
is not appropriate when specifying mission critical systems where every 
possibility must be considered.
What do you think ?
Alain wrote:

> After many years of hearing marketing hype about UML, I am still not > conviced it is well suited to embedded systems specification and design. > In my opinion, for instance, Use Cases lead to a loose specification which > is not appropriate when specifying mission critical systems where every > possibility must be considered. > What do you think ?
It is a tool and like any other it is only as good as the hands you put it in. Ian -- Ian Bell
On 14 Oct 2004 08:04:26 -0700, Alain <alain.boule@atermes.fr> wrote:

> What do you think ?
I don't think much has changed since the last time it was discussed: <http://groups.google.co.uk/groups?q=embedded+uml&meta=group%3Dcomp.arch.embedded.%2A> Vadim
"Alain" <alain.boule@atermes.fr> wrote in message
news:d2753e91.0410140704.3245443c@posting.google.com...
> After many years of hearing marketing hype about UML, I am still not
conviced
> it is well suited to embedded systems specification and design. > In my opinion, for instance, Use Cases lead to a loose specification which > is not appropriate when specifying mission critical systems where every > possibility must be considered. > What do you think ?
Its a good idea, but the implementation is expensive. Training in UML design methods and tools is expensive and many companies choose the "half-assed UML" approach by doing use-case diagrams in Visio only. In my experience, lots of scenarios are overlooked in the development of use-cases for any but the simplest of systems. Usually the UML experts are not very familiar with the hardware and this causes other oversights to occur. But according to 99% of the literature that I've seen, UML is a superior design methodology for designing automated coffee machines.
Alain wrote:
> What do you think ?
- UML may not be suitable for embedded development. As some pointed out, too many diagrams and in the end someone should convert all this to code anyway. - xtUML may be suitable for embedded development. The company I work for use this. So far it works well. We use it to model embedded control systems that are safety critical aswell as the cores of desktop style applications. From the models we auto generate code in C++ and Ada. In a year I will be able to tell if it still works since in that time we are to complete a simulator project that will contain a few hundred classes and run distributed over a network. We would not have choosen this technology if we were not pretty convinced it would be possible. /Leif
Ian Bell <ruffrecords@yahoo.com> wrote in message news:<ckm5an$hip$2@slavica.ukpost.com>...
> Alain wrote: > > > After many years of hearing marketing hype about UML, I am still not > > conviced it is well suited to embedded systems specification and design. > > In my opinion, for instance, Use Cases lead to a loose specification which > > is not appropriate when specifying mission critical systems where every > > possibility must be considered. > > What do you think ? > > It is a tool and like any other it is only as good as the hands you put it > in. > > Ian
I agree with you in the sense that good workers always have good tools ... But, the point is that UML is not a tool but a method or more exactly a language. As such it should help system specification and design and not hinder it, or why should not we not stick to well proven structured methods. I think that all diagrams in UML have some usefulness but that they seem to be ad hoc add-ons from different origins that don't form a consistant whole. IMO: - Use Cases don't allow easy hierarchical representations of requirements - Sequence diagrams are good for representing typical scenarios but cannot be used for a complete specification of a protocol. - There is no hierachical representation of data flow or of control flow - Class diagrams are useful for the design of object oriented architecture but not for the specification of many embedded systems, at least not naturally - StateCharts are very useful but they are not new and don't integrate easily with other diagrams.
Hi,

In my opinion, UML is very wel suited for embedded systems specification,
design AND implementation. Sequence diagrams are a good help in specifying
specific behaviour, although you need more diagrams (structure and
behaviour) to completely specify the system. IMO the big advantage only
starts if your systems's model is used to generate the actual code,
otherwise you end up with a documentation tool.

We have been using Rose Realtime C++ and C with complete codegeneration for
several years sucessfully to implement complex embedded applications. C++
with active classes and an underlying RTOS for the 32 bit platforms, C with
passive classes only and NoRTOS for the 16 bit platforms.

Cheers,
-- 
############################################################
# Oce Technologies B.V.        name: Ton Janssen (3A05)    #
# P.O. Box 101                email: djan@oce.nl           #
# 5900 MA Venlo             Private: djan@home.nl          #
#                               Tel: +31 (0)77-359 40 97   #
# The Netherlands               Fax: +31 (0)77-359 54 50   #
############################################################
  This note does not necessarily represent the position of
  Oce Technoligies B.V. Therefore no liability or
  responsibility for whatever will be accepted.

"Alain" <alain.boule@atermes.fr> wrote in message
news:d2753e91.0410140704.3245443c@posting.google.com...
> After many years of hearing marketing hype about UML, I am still not
conviced
> it is well suited to embedded systems specification and design. > In my opinion, for instance, Use Cases lead to a loose specification which > is not appropriate when specifying mission critical systems where every > possibility must be considered. > What do you think ?
Ton Janssen wrote:

> Hi, > > In my opinion, UML is very wel suited for embedded systems specification, > design AND implementation. Sequence diagrams are a good help in specifying > specific behaviour, although you need more diagrams (structure and > behaviour) to completely specify the system. IMO the big advantage only > starts if your systems's model is used to generate the actual code, > otherwise you end up with a documentation tool. > > We have been using Rose Realtime C++ and C with complete codegeneration > for several years sucessfully to implement complex embedded applications. > C++ with active classes and an underlying RTOS for the 32 bit platforms, C > with passive classes only and NoRTOS for the 16 bit platforms.
Just as a matter if interest:- Is it possible to understand, at every level and in minute detail, every aspect of the software source and eventual code that is produced by your tool in order that you may know how correct it is, how much memory resource it will require and whether or not you have any dead code in the final result. -- ******************************************************************** Paul E. Bennett ....................<email://peb@a...> Forth based HIDECS Consultancy .....<http://www.amleth.demon.co.uk/> Mob: +44 (0)7811-639972 .........NOW AVAILABLE:- HIDECS COURSE...... Tel: +44 (0)1235-811095 .... see http://www.feabhas.com for details. Going Forth Safely ..... EBA. www.electric-boat-association.org.uk.. ********************************************************************
Hello
It will be very interesting to read an answer, but I'd like to note
that in a code created in usual way one never really knows, how
correct it is (hence catching errors after implementation), how much
memory resource it will require (God knows!) and whether or not you
have any dead code (surely you do. Every application has got some dead
code).
Galina

"Paul E. Bennett" <peb@amleth.demon.co.uk> wrote in message news:<cl3qjh$pv6$1$8300dec7@news.demon.co.uk>...
> Ton Janssen wrote: > > > Hi, > > > > In my opinion, UML is very wel suited for embedded systems specification, > > design AND implementation. Sequence diagrams are a good help in specifying > > specific behaviour, although you need more diagrams (structure and > > behaviour) to completely specify the system. IMO the big advantage only > > starts if your systems's model is used to generate the actual code, > > otherwise you end up with a documentation tool. > > > > We have been using Rose Realtime C++ and C with complete codegeneration > > for several years sucessfully to implement complex embedded applications. > > C++ with active classes and an underlying RTOS for the 32 bit platforms, C > > with passive classes only and NoRTOS for the 16 bit platforms. > > Just as a matter if interest:- > > Is it possible to understand, at every level and in minute detail, every > aspect of the software source and eventual code that is produced by your > tool in order that you may know how correct it is, how much memory resource > it will require and whether or not you have any dead code in the final > result.
On 2004-10-21, Galina <galkas@mail.ru> wrote:

> It will be very interesting to read an answer, but I'd like to note > that in a code created in usual way one never really knows, how > correct it is (hence catching errors after implementation), how much > memory resource it will require (God knows!) and whether or not you > have any dead code (surely you do. Every application has got some dead > code).
Surely your toolchain doesn't allow dead code to end up in the ROM??? -- Grant Edwards grante Yow! Like I always at say -- nothing can beat visi.com the BRATWURST here in DUSSELDORF!!

The 2024 Embedded Online Conference