Domain-Specific Language Tools
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

Domain-Specific Language Tools

You can use a domain-specific language to perform a specific task in a given problem domain. This makes it different from a general-purpose language. By using Domain-Specific Language Tools, you can build customized modeling tools. You can define a modeling language and implement it very simply. For example, you can create a specialized language that describes a user interface, a business process, a database, or the flow of information. Then you can generate code from those descriptions.

You can use Domain-Specific Language Tools to generate visual designers that are customized for your problem domain. For example, you can create a tool to describe concepts that are specific to how your organization models business processes. If you are building a state chart tool, you can describe what a state is, what properties a state has, what kinds of states exist, how transitions between states are defined, and so on. A state chart that describes the status of contracts in an insurance company is superficially similar to a state chart that describes user interaction among pages on a Web site. However, the underlying concepts between the two state charts will differ significantly. By creating your own domain-specific language and custom-generated designer, you can specify exactly what state chart concepts you need in your tool.

Domain-Specific Language Tools is part of Visual Studio 2008 SDK. To download it, see Visual Studio 2008 SDK 1.1 (

For troubleshooting and advice, see the Visualization and Modeling Forum (

For additional supplemental information about Domain-Specific Language Tools, see Domain-Specific Development with Visual Studio DSL Tools (

Domain-Specific Languages.

Provides information about creating domain-specific languages.

Generating Artifacts By Using Text Templates

Describes the use of text templates to generate artifacts such as text reports, code, or HTML files.

© 2016 Microsoft