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

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.

[1]  Roelf J. Wieringa,et al.  A Minimal Transition System Semantics for Lightweight Class and Behavior Diagrams , 1998 .

[2]  Edsger W. Dijkstra On the Economy of doing Mathematics , 1992, MPC.

[3]  Bernhard Rumpe,et al.  OOPSLA’97 Workshop on OO Behavioral Semantics , 1997 .

[4]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[5]  Kevin Lano,et al.  Objects, Associations and Subsystems: A Hierarchical Approach to Encapsulation , 1997, ECOOP.

[6]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[7]  David Harel,et al.  On statecharts with overlapping , 1992, TSEM.

[8]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[9]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[10]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[11]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[12]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[13]  Bernhard Rumpe,et al.  Formale Methodik des Entwurfs verteilter objektorientierter Systeme , 1996, Datenbank Rundbr..

[14]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[15]  Manfred Broy,et al.  The Design of Distributed Systems - An Introduction to FOCUS-revised version , 1992 .

[16]  Robert B. France,et al.  Towards a rigorous object-oriented analysis and design method , 1997, First IEEE International Conference on Formal Engineering Methods.

[17]  David Harel,et al.  On visual formalisms , 1988, CACM.

[18]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[19]  Ralph E. Johnson,et al.  Creating abstract superclasses by refactoring , 1993, CSC '93.

[20]  Andy Schürr,et al.  Formal Definition and Refinement of UML's Module/Package Concept , 1997, ECOOP Workshops.

[21]  Tom DeMarco,et al.  Structured Analysis and System Specification , 1978 .