Developing software from models is a growing practice and there exist many
model-based tools (e.g., editors, interpreters, debuggers, and simulators)
for supporting model-driven engineering. Even though these tools facilitate
the automation of software engineering tasks and activities, such tools are
typically engineered manually. However, many of these tools have a common
semantic foundation centered around an underlying modeling language, which
would make it possible to automate their development if the modeling language
specification were formalized. Even though there has been much work in
formalizing programming languages, with many successful tools constructed
using such formalisms, there has been little work in formalizing modeling
languages for the purpose of automation. This paper discusses possible
semantics-based approaches for the formalization of modeling languages and
describes how this formalism may be used to automate the construction of
modeling tools.