Modeling Languages: Syntax, Semantics and All That Stuff, Part I: The Basic Stuff

David Harel, Bernhard Rumpe⋆

2000 · 144 citations · 0 references

Concepts

TL;DR

The paper addresses the confusion surrounding the definition of complex modeling languages, particularly UML, and seeks to clarify these concepts. The authors aim to discuss and clarify the notions involved in defining modeling languages. The discussion focuses on distinguishing syntax from semantics, exploring their roles, styles, and methods, and examines textual versus visual, structural versus behavioral, and requirements versus system model dichotomies. The authors hope the paper will be useful to language designers, methodologists, tool vendors, and educators.

Abstract

The motivation for this paper, the first in a planned series of three parts, is the multitude of concepts surrounding the proper definition of complex modeling languages for systems and software, and the confusion that this often causes. Particularly relevant is the case of the recently standardized UML, which we refer to quite extensively as we proceed. Our intention is to discuss and clarify the notions involved in defining modeling languages. The main theme is the distinction between syntax and semantics, the nature and purpose of each, their usage and style, and the various means for defining and dealing with them. Underlying the exposition are the dichotomies of textual vs. visual languages, structural vs. behavioral specification, and requirements vs. system models. We hope that the paper will be useful to language designers, methodologists, tool vendors and educators.