>> [Papers & Essays]
Disclaimer. CSUSB and the CS Dept have no responsibility for it.
This is a Beta Version, read at your own risk.
Copyright. Richard J. Botting(Sun Jul 6 10:03:44 PDT 2003). This paper is being developed for
publication. Permission is granted to quote parts of it as
long as the source is acknowledged and the author informed.
On the Application of a Popular Notation to Semantics
.Author Richard J. Botting
California State University, San Bernardino, 7700 State University Parkway, San Bernardino CA 92407, USA
This is a follow up to David Schmidt's position paper "On the Need for a Popular Formal Semantics" [ref1](
). We should explore the use of the Unified Modeling Language (UML) and the Object Constraint Language(OCL) as popular way to express semantics.
I prefer languages with mathematical semantics for specifying software. However, a "multi-level approach" works better with practitioners. With syntax we have
- (0) Grammar Theory -- mathematical, rigorous, but unusable
- (1) BNF -- usable and defined in terms of Grammar Theory
- (2) EBNF -- extends BNF with conveniences.
In semantics (perhaps these levels)
- (0) Denotational and Axiomatic theory of object specifications
- (1) UML+OCL
- (2) UML+OCL with convenient tags and stereotypes
I have no associations with Rational or the other proponents of the UML. I've been forced ( as part of a department project [footnote] ) to confront the question
- "Can the UML be used in describing languages?"
and found that
- (1) The UML class diagrams express abstract syntax well,
- (2) The OCL constraints can specify static semantics,
- (3) Operations specified in the OCL gives operational semantics,
- (4) Inheritance and polymorphism simplify this semantics,
and (5) Multiple views and packages allow specification reuse.
I'm be incorporating the UML into my documentation of notations on the
World Wide Web [ref2]. This is a repository of information for practicing
programmers and students of computing. It is a semiformal, indexed, and
searchable hypertext based on a highly extended BNF. I'm looking at the
possibilities for an axiomatic and denotational
semantics within the UML model. I worry about the abscence of mathematical
semantics for objects. The UML and the OCL need a published mathematical
Here are two models that illustraate the above:
- (1) The famous a^n b^n c^n language
[ anbncn.mdl ]
- (2) The abstract syntax and operational semantics of the "While" language
[ while.mdl ]
(ref1): Schmidt, D. A.: "On the Need for a Popular Formal Semantics"ACM SIGPLAN Notices Vol. 32, No. 1 (January 1997)pp115-116 and also ACM Computing Surveys
Vol. 28, No. 4es (Dec. 1996), Pages 175-es
[ http://www.acm.org/pubs/citations/journals/surveys/1996-28-4es/a175-schmidt/ ]
[ index.html ]
(ref3): "Using the UML to Specify Languages" submitted to UML'99.
The ROOT project at the Computer Science Department,
[ rootproj ]
This project put object-oriented technology into the core of the CSUSB
Computer Science Bachelor's degree. The project was supported by an award
from a CSUSB Learning Productivity Grant from September 1997 to December
1998. I was tasked to add the UML to our "Concepts of Programming
[ cs320 ]
Formulae and Definitions in Alphabetical Order