Re: UML and formal languages

Date view Thread view Subject view Author view Attachment view

From: Daniel Jackson (
Date: Thu 31 Mar 2005 - 17:50:50 BST


UML is a collection of languages, not a single language. these 
languages _are_ formal languages (or at least are intended to be). Z 
and VDM are languages for describing operations on complex state, so 
are comparable to OCL.

the differences between OCL and Z and VDM and both syntactic and 
semantic. OCL has an ascii syntax that appeals more to practitioners 
than the syntax of Z or VDM. semantically, Z is the simplest of the 
three, because it's based on just sets and relations. OCL and VDM have 
additional notions (such as sequences), and OCL has a richer (and far 
more complicated) notion of type than either.

to my mind, the key characteristic of a formal language is 
analyzability. the UML languages are not in general analyzable, because 
they weren't designed with analysis in mind. in theory, it'd be 
possible to modify the UML languages to make them analyzable, but at 
this point such changes seem unlikely. my own research group has 
developed an analyzable language ( that is similar 
in expressiveness to OCL.


On Mar 31, 2005, at 10:31 AM, Behram Khan wrote:

> Hi.
> I am a BE student from NUST Pakistan. I am stuying formal methods as a 
> subject. We had a discusison in the class that "is UML a replacement 
> for formal methods?  if not then what is the difference between UML 
> and formal languages, and what benifits can formal languages(liek z 
> and VDm) give that UML cant".
> There were many views so i just wanted to know any coments form anyone 
> about this topic in this group.
> thank you

Date view Thread view Subject view Author view Attachment view