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.
For additional supplemental information about Domain-Specific Language Tools, see Domain-Specific Development with Visual Studio DSL Tools (http://www.domainspecificdevelopment.com).