Version 1 of Domain-Specific Language Tools lets you create a custom graphical designer that uses your own domain-specific diagrammatic notation. You can then create custom text templates that use models created in your designer to generate source code and other files. Domain-Specific Language Tools requires Microsoft Visual Studio 2005 Professional Edition or above. Designers built using Domain-Specific Language Tools require Microsoft Visual Studio 2005 Standard Edition or above. Domain-Specific Language Tools is included as a component of the Visual Studio SDK.
This release includes the following features:
- A Domain-Specific Language Designer project template, which automates the construction and configuration of a Visual Studio solution for developing a graphical designer.
- A Domain-Specific Language definition (.dsl) format in which many features of a graphical designer can be defined declaratively, including:
- Various forms of graphical notation, including image shapes, geometry shapes, compartment shapes, ports, vertical and horizontal swim lines, connectors of various styles, and image and text decorators for both shapes and connectors
- A toolbox for creating new elements and links through the design surface
- A model explorer, with various style options
- Properties window behavior
- The XML format used to serialize models
- Validation options
- A graphical Domain-Specific Language designer, which you can use to edit and validate domain-specific language definitions.
- A set of text templates for generating the code of a graphical designer from domain-specific language definitions, where these templates have been designed to produce code that can be further customized by hand.
- A rich set of APIs to support code customization of a designer, including support for the following: writing validation constraints, adding additional menu items for further customizing model serialization, and customizing the graphical notation and behavior of the design surface.
- A rich set of APIs to support model access and update.
- A text templating engine and framework that makes it easy to write and execute templates that generate source code and other text files from information held in models.
- A Domain-Specific Language Setup project template that creates a setup project in Visual Studio. The setup project automates the process of producing a Microsoft Windows Installer (MSI) package to deploy a graphical designer and associated components.