Modeling languages, like programming languages, need to be designed if they
are to be practical, usable, accepted, and of lasting value. We present pr
inciples for the design of modeling languages. To arrive at these principle
s, we consider the intended use of modeling languages. We conject that the
principles are applicable to the development of new modeling languages, and
for improving the design of existing modeling languages that have evolved,
perhaps through a process of unification. The principles are illustrated a
nd explained by several examples, drawing on object-oriented and mathematic
al modeling languages. (C) 2000 Elsevier Science B.V. All rights reserved.