Choosing a Domain-Specific Language Solution Template

To create a domain-specific language solution, choose one of the solution templates that are available in the Domain-Specific Language Designer Wizard. By choosing the template that most closely resembles the language that you want to create, you can minimize the modifications that you have to make to the starting solution.

The following solution templates are available in the Domain-Specific Language Designer Wizard.

Template

Features

Description

Class Diagrams

  • Compartment shapes

  • Class inheritance

  • Relationship inheritance

  • Shape inheritance

  • Relationship properties

Use this solution template if your domain-specific language includes entities and relationships that have properties. This template creates a domain-specific language that resembles UML class diagrams. The main entities are classes and interfaces, together with association, generalization, and implementation relationships. A class or interface appears as a box that contains a list of attributes.

Component Diagrams

  • Ports

Use this solution template if your domain-specific language includes components, that is, parts of a software system. This template creates a domain-specific language that resembles UML component diagrams. The main entities are components and ports, which appear as small shapes on the outside of components.

Task Flow Diagrams

  • Image and geometry shapes

  • Swimlanes

Use this solution template if your domain-specific language includes workflows, states, or sequences. This template creates a domain-specific language that resembles UML activity diagrams. The main entity is an activity, and the main relationship is a transition between activities. The template includes several other elements such as start state, final state, and a synchronization bar.

Minimal Language

  • One class and shape

  • One relationship and connector

Use this solution template if your domain-specific language does not resemble the other templates. This template creates a domain-specific language that has two classes and one relationship, which are represented in the Toolbox as Box and Line. The class and the relationship each have an example string property.

See Also

Concepts

Overview of Domain-Specific Language Tools

Change History

Date

History

Reason

July 2008

Rewrote and refactored project

Content bug fix.