Share via


Overview of the Domain-Specific Language Tools User Interface

Applies to: yesVisual Studio noVisual Studio for Mac

Note

This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

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

dsl designer

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

Element Definition
Diagram The diagram displays the domain model.

The diagram has two sides. One side defines the types of the elements in your models. The other side defines how your models will appear on the screen.
Toolbox Drag tools from the toolbox to add domain classes and shape types to the diagram. To add relationships, connectors and shape maps, click the tool, then click the source node on the diagram, and then the target node.
DSL Explorer DSL Explorer appears when a DSL definition is the active window. It shows the DSL as a tree. DSL Explorer lets you edit 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 The DSL Details window shows properties of the domain model's elements that allow you to control how elements are displayed, and how elements are copied and deleted.

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

The Domain Model Diagram

The domain model diagram is divided into two parts. One side of the diagram shows the elements and relationships in the model. The other 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 diagram.

dsl designer with swimlane

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

Term Definition
Domain Class Domain classes are the types of elements in your models.

A domain class can appear more than once in a diagram, if it is the target of more than one relationship.

To add a domain class, drag the domain class tool from the Toolbox to the Classes and Relationships side of the diagram.
Domain Relationship Domain relationships are the types of links between elements in your models.

An embedding relationship indicates that the target element is owned or contained by the source element, and appears as a solid line. Every element in a model should be the target of one embedding relationship, so that the model forms a tree. A reference relationship indicates a general link between model elements, and appears as a dashed line. Any element can have any number of reference links.

Create a relationship by clicking the tool on the Toolbox, clicking the source domain class, and then clicking the target class.
Shapes and Connectors Shapes specify how model elements should be displayed on a DSL diagram., Connectors specify lines on a DSL diagram that can be used to display relationships.

To create a shape or connector, drag the tool to the Diagram Elements side of the diagram.
Shape Maps A shape map appears as a line on the domain model diagram, linking a shape to the domain class that it displays, or a connector to the domain relationship that it displays.

See also