Domain-specific Language and UML
The Unified Modeling Language (UML) is a general-purpose modeling language for software-intensive systems that is designed to support mostly object oriented programming. Consequently, in contrast to domain-specific language languages, UML is used for a wide variety of purposes across a broad range of domains. The primitives offered by UML are those of object oriented programming, while domain-specific languages offer primitives whose semantics are familiar to all practitioners in that domain. For example, in the domain of automotive engineering, there will be software models to represent the properties of an anti-lock braking system, or a steering wheel, etc.
UML includes a profile mechanism that allows it to be constrained and customized for specific domains and platforms. UML profiles use stereotypes, stereotype attributes (known as tagged values before UML 2.0), and constraints to restrict and extend the scope of UML to a particular domain. Perhaps the best known example of customizing UML for a specific domain is SysML, a domain specific language for systems engineering.
Read more about this topic: Domain-specific Modeling
Famous quotes containing the word language:
“The sayings of a community, its proverbs, are its characteristic comment upon life; they imply its history, suggest its attitude toward the world and its way of accepting life. Such an idiom makes the finest language any writer can have; and he can never get it with a notebook. He himself must be able to think and feel in that speechit is a gift from heart to heart.”
—Willa Cather (18731947)