Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
UML formal semantics: lessons learned
Broy M., Cengarle M. Software and Systems Modeling10 (4):441-446,2011.Type:Article
Date Reviewed: Jul 25 2012

This excellent survey discusses significant problems with the unified modeling language (UML) that result from a “lack of informal and formal semantics.” Although these problems are well known (the authors provide a nice reference list), the pressure to use UML has been rather strong for various reasons, including politics. The authors note that modelers typically invent their own UML semantics, which is often not made explicit; such models provide an illusion of understanding because the names used are familiar to the stakeholders. In the best case, this leads to heated debates about the meaning of diagrams because the same names may refer to somewhat or substantially different things. More typically, semantics is not discussed at all because “everyone knows what XXX is,” so that the differences in meaning are not made explicit until it is too late (if ever). The authors properly observe that “no reliable quality assurance can be undertaken as long as the very language employed to describe the system under scrutiny is deprived of a precise semantics.”

One can wholeheartedly agree with the authors’ conclusion that “designing a full-blown modeling language ... has to be done from foundational principles and not out of the amalgamation of a number of not completely understood concepts[, ...] a result of tries, failures and successes that were never theoretically justified.” This requires “a robust set of concepts with unambiguous meaning ... [that] does not apply to the UML.” Regrettably, the authors do not mention a small and elegant system of concepts existing for more than 15 years and standardized internationally--the Reference Model of Open Distributed Processing [1]--that was created from foundational principles going back to Aristotle and has been successfully used for modeling, and in particular, for precise specification of semantics of UML relationship concepts [2].

The authors describe the dynamic semantics of UML at some length, noting specifically the negative effects of the overabundance of UML features [3] leading to serious technical difficulties and to counterintuitive definitions, and observe that “some static issues such as, e.g., links, are still subject to debate.” However, at a higher abstraction level, more appropriate for modeling, links are used to implement relationships rather than to specify them.

The authors overview the Object Management Group (OMG) activities around foundational UML, emphasizing the need for appropriate UML subsets, and describe their own activities to formalize the central concepts of UML as theories of the “system model” that forms “a foundation for structure, behavior, and interaction of object-oriented, possibly distributed systems.”

Finally, the authors propose to separate the concerns of a formal modeling language supporting a seamless development process from the concerns of a “completely different goal ... of sketching designs and grasping conceptual ideas” for which the authors suggest that “just a simple structure is required with a basic, plain, and informal meaning.” While totally agreeing with “simple,” “basic,” and “plain,” I would strongly disagree with the “informal” because, as Dijkstra noted in his Turing Award Lecture [4], the purpose of abstracting is not to be vague, but to create a new semantic level in which one can be absolutely precise.

I found this to be an enjoyable paper.

Reviewer:  H. I. Kilov Review #: CR140450 (1212-1251)
1) ISO/IEC. Open distributed processing-reference model-part 2: foundations (IS 10746-2/ITU-T recommendation X.902, March 1995).
2) UML profile for relationships specifications Object Management Group http://www.omg.org/cgi-bin/doc?formal/04-02-07.pdf (03/26/2012).
3) Simons, A. J. H.; Graham, I. Behavioral specifications of businesses and systems. Kluwer Academic Publishers, , 1999.
4) Dijkstra, E. W. The humble programmer. Communications of the ACM 15, 10(1972), 859–886.
Bookmark and Share
  Featured Reviewer  
 
UML (D.3.2 ... )
 
 
Semantics (D.3.1 ... )
 
 
Formal Definitions And Theory (D.3.1 )
 
Would you recommend this review?
yes
no
Other reviews under "UML": Date
The Unified Modeling Language user guide
Booch G., Rumbaugh J., Jacobson I. (ed), Addison Wesley Longman Publishing Co., Inc., Redwood City, CA, 1999. Type: Book (9780201571684)
Jul 1 1999
UML in a nutshell
Alhir S., O’Reilly & Associates, Inc., Sebastopol, CA, 1998. Type: Book (9781565924482)
Aug 1 1999
Doing hard time
Douglass B., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1999. Type: Book (9780201498370)
Sep 1 1999
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy