UML is semi-formal language Why?

1,477 views
Skip to first unread message

mariem...@yahoo.fr

unread,
Jan 20, 2012, 8:34:47 AM1/20/12
to UML Forum
Hi,
I have just one question about UML.
Why we say that UML is semi-formal language ?
Thank you.

Timothy Marc

unread,
Jan 21, 2012, 3:15:19 PM1/21/12
to umlf...@googlegroups.com
Hi,

Short answer: Because it has a well-defined syntax (so it is
computer-readable), but not an inherent, unambiguous and precise (in terms
of mathematical precision) semantics. The semantics of a UML element is
provided in prose, which is inherently ambiguous.

As a result, a UML model can be read by a computer, but due to the lack of
formalized semantics, it cannot compute it in a deterministic way. The
executable UML has at least an operational semantics provided for its
elements, so fUML interpreter can rely on that operational semantics and
interpret each UML model in a deterministic way.

I think, that's it.

Timothy

> -----Ursprüngliche Nachricht-----
> Von: umlf...@googlegroups.com [mailto:umlf...@googlegroups.com]
> Im Auftrag von mariem...@yahoo.fr
> Gesendet: Freitag, 20. Januar 2012 14:35
> An: UML Forum
> Betreff: [UML Forum] UML is semi-formal language Why?

> --
> You received this message because you are subscribed to the Google Groups
> "UML Forum" group.
> Public website: www.umlforum.com
> To post to this group, send email to umlf...@googlegroups.com To
> unsubscribe from this group, send email to
> umlforum+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/umlforum?hl=en?hl=en

Remy Fannader

unread,
Jan 23, 2012, 2:00:54 AM1/23/12
to umlf...@googlegroups.com
The semantics of executable UML belongs to the programming realm, not the modeling one. That's OK if models and programs are merged (in other words if models are just a distraction), otherwise it's confusing (at best).
http://caminao.wordpress.com/about/umlcharp-manifesto/
http://caminao.wordpress.com/about/the-book-of-fallacies/
Remy Fannader

H. S. Lahman

unread,
Jan 23, 2012, 11:10:13 AM1/23/12
to umlf...@googlegroups.com
Responding to Marc...

> As a result, a UML model can be read by a computer, but due to the lack of
> formalized semantics, it cannot compute it in a deterministic way. The
> executable UML has at least an operational semantics provided for its
> elements, so fUML interpreter can rely on that operational semantics and
> interpret each UML model in a deterministic way.

While I agree for UML as a whole, I would point out that with an MDA
profile on can select a consistent subset of model elements and apply a
rigorous semantics to them. Otherwise it would not be possible to do
full code generation for UML OOA models, and that technology has been
around for two decades.

--
Life is the only flaw in an otherwise perfect nonexistence
-- Schopenhauer

Rene Descartes went into a bar. The bartender asked if he would like a drink. Descartes said, "I think not," and disappeared.

H. S. Lahman
H.la...@verizon.net
software blog: http://pathfinderpeople.blogs.com/hslahman/index.html

Michael Jesse Chonoles

unread,
Jan 23, 2012, 5:21:41 PM1/23/12
to umlf...@googlegroups.com
THere is a subset of UML, called fUML that is a formalized subset suitable for precise execution semantics.


> For more options, visit this group at
> http://groups.google.com/group/umlforum?hl=en?hl=en

--
You received this message because you are subscribed to the Google
Groups "UML Forum" group.
Public website: www.umlforum.com
To post to this group, send email to umlf...@googlegroups.com
To unsubscribe from this group, send email to

Timothy Marc

unread,
Jan 25, 2012, 2:32:19 AM1/25/12
to umlf...@googlegroups.com

Responding to Michael and H.S. …

 

As I said with fUML and its operational semantics…

 

Regards,

Marc-Florian

H. S. Lahman

unread,
Jan 26, 2012, 11:54:10 AM1/26/12
to umlf...@googlegroups.com
Responding to Marc...



As I said with fUML and its operational semantics…


fUML is essentially the Action Semantics originally brought in with v1.5. That semantics filled a huge hole in UML by providing a low-level, standard execution semantic definition. But it is low-level and no one but a tool vendor or translation methodologist ever has any exposure to it. I have no problem with fUML, but I assumed the OP was talking about the high-level UML specification that all UML modelers are exposed to. fUML does not directly define a compatible subset of UML at that level. (Note that the translation MDA profiles implicitly assume the fUML semantics while defining a subset of UML meta model elements that are consistent with it in a particular methodological context.)

However, as long as we are on the subject... B-)

<Hot Button>
The primary way that action semantics is manifested in UML models is through an Abstract Action Language (AAL). (Historically one expressed what went on in object methods with Activity Diagrams, but text languages have largely replaced them because they are easier to maintain.) That's because an AAL directly specifies how actions must execute, so such specifications must be compatible with and implementable with the low-level fUML semantics. Thus a Modeler is exposed to fUML indirectly through the AAL. OMG is now introducing ALF as the "standard" AAL.

I have a huge problem with that. I believe OMG is making the same terrible mistake it made with OCL -- OMG is over-specifing modeling semantics. I realize that OMG makes no mandates that modelers must use ALF with UML, any more than they must use OCL. However, by formally defining and including ALF under the UML umbrella and integrating it directly with UML through all references and examples and referring to it as a "standard", OMG is blessing ALF as THE AAL for all practical purposes, just as OCL was blessed as THE constraint language.

I think that is a Really Bad Idea for two reasons. One is that time may indicate that there are better languages, just as there are better constraint languages than OCL. More important, OMG's blessing has the effect of stifling any attempt to design a better language in the future.

The second reason is blessing a single AAL precludes providing Domain Specific Languages (DSL). By the time one gets down to method specifications, one is in the realm of resolving very detailed business requirements. But such requirements vary a great deal in their nature from one business domain to another. That is an ideal situation for applying additional abstraction through DSLs. For example, in R-T/E development an AAL that does not support bitwise operations is very nearly useless while complex operations on RDB tables would be a waste of syntax. Conversely, the reverse is true for IT. But by providing a single AAL OMG is painted into the corner of having ALF provide all possible domain-specific constructs that any modeler might find useful. The will inevitably result will be yet another incredibly complex language with a huge learning curve and lots of implementation overhead.
</Hot Button>
Reply all
Reply to author
Forward
0 new messages