[CSUSB] >> [CompSci] >> [Dick Botting] >> [Papers & Essays] >> rjb99b.sigplan
[Index] || [Contents]
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.

Contents (index)


    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
    rbotting@csusb.edu

    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

  1. (0) Grammar Theory -- mathematical, rigorous, but unusable
  2. (1) BNF -- usable and defined in terms of Grammar Theory
  3. (2) EBNF -- extends BNF with conveniences. In semantics (perhaps these levels)
  4. (0) Denotational and Axiomatic theory of object specifications
  5. (1) UML+OCL
  6. (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

  7. "Can the UML be used in describing languages?" and found that
  8. (1) The UML class diagrams express abstract syntax well,
  9. (2) The OCL constraints can specify static semantics,
  10. (3) Operations specified in the OCL gives operational semantics,
  11. (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 theory.

    Here are two models that illustraate the above:

    References


    (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/ ]
    (ref2): [ index.html ]
    (ref3): "Using the UML to Specify Languages" submitted to UML'99.

    footnote

    The ROOT project at the Computer Science Department, CSUSB [ 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 Language" course [ cs320 ]


Formulae and Definitions in Alphabetical Order