This documentation is archived and is not being maintained.

Overview of the Domain-Specific Language Tools User Interface

Updated: July 2008

When you first open a Domain-Specific Language Tools (DSL Tools) solution in Visual Studio, the user interface (UI) will resemble the following picture.

dsl designer

The following table explains how the parts of the UI are used.




Use the Toolbox to drag elements, relationships, and shapes to the diagram. When you define a domain-specific language, include a toolbox element for every element and relationship that you want users to be able to use.


The diagram displays the shapes and relationships that represent the model.

DSL Explorer

Use the DSL Explorer to set the properties of model elements and to manage features of the model that are not displayed on the diagram. For example, you can add toolbox items and switch on the validation process by using the DSL Explorer.

DSL Details window

  • Use the DSL Details window to define specific settings in a domain-specific language definition. These settings include:

  • Link connect directives

  • Element merge directives

  • Deletion behavior

  • Mapping details

  • By default, the DSL Details window appears next to the Error List and Output windows.

The DSL Tools diagram is divided into two parts by a swimlane. The left side of the diagram shows the elements and relationships in the model. The right side shows how the model is to be displayed, and includes the shapes that are used to display the elements and the properties of the model diagram. The following picture shows the elements of the DSL Tools diagram.

dsl designer with swimlane

The following table explains some of the elements of the diagram.



Domain Class

Instantiate domain classes to create elements in a domain-specific language. You can add a domain class by dragging the domain class item from the Toolbox to the diagram.

Domain Relationship

Instantiate domain relationships to specify relationships among domain classes in a domain-specific language. You can create an embedding relationship or a reference relationship by dragging the embedding or reference relationship item from the Toolbox to the diagram. A solid line indicates an embedding relationship, and a dashed line indicates a reference relationship.


Add swimlanes from the Toolbox. Swimlanes create horizontal or vertical lines on the diagram to represent different areas in a diagram.


Shapes specify how elements should be displayed in a domain-specific language. A domain class can be mapped to a specific geometry shape. The following shapes can represent domain classes:

  • Geometry shape

  • Compartment shape

  • Image shape

  • Port shape

You can also define and map a connector shape to a domain relationship.




July 2008

Rewrote and refactored project.

Content bug fix.