Domain-Specific Language Tools Glossary
This is a list of terms relating to domain-specific languages.
- compartment shape
A shape that includes one or more compartments. A compartment can display a list of elements. The shape can be mapped to a domain class, and each compartment can be mapped to a relationship.
- constraint
A condition that defines whether a model is well-formed. Every constraint is implemented in a validation method.
- debugging project
The Visual Studio project that is opened in an experimental instance of Visual Studio when you run a DSL project in debug mode.
- designer definition
An XML file that contains information about a domain-specific language. It has the file name extension .dsl.
- domain model
The representation of a domain-specific language. It includes domain classes, domain relationships between the domain classes, and domain properties on the domain classes.
- domain class
A domain model element that represents an entity in a domain-specific language.
- domain model element
An element of a domain-specific language. Domain model elements include domain classes, domain relationships, connectors, and shapes.
- domain path
The path syntax that is used to locate model elements in a domain-specific language model. Domain paths use the following format: RelationshipName.RolePropertyName\!RoleName.
- domain relationship
A domain model element that represents an embedding or reference relationship in a domain-specific language.
- domain-specific language
A custom language that is created for a specific problem domain, and that defines entities and relationships in terms of that domain.
- Domain-Specific Language Designer
The graphical editor that is used to define a domain-specific language in Visual Studio.
- Domain-Specific Language Designer Wizard
The wizard that is used to create a domain-specific language solution in Visual Studio.
- Domain-Specific Language Tools
The set of tools that is used to create domain-specific languages. The tools include the Toolbox, the diagram, the DSL Explorer, and the DSL Details window.
- element merge directive
A setting that defines how an element or group of elements should be combined when they are added to the domain model. Element merge directives are called when a model element is added from the Toolbox or in a paste operation.
- embedding relationship
A domain relationship in which one domain class or domain relationship is defined as the parent of another.
- experimental build
An instance of Visual Studio that uses a special registry hive so that developers can debug solutions in an isolated environment.
- generated API
Code that is generated from a domain model, and which allows you to write code to access instances of the domain model.
- generated designer
The graphical domain-specific language designer that is created by using Domain-Specific Language Tools.
- generated directive processor
The directive processor that is automatically generated for a domain-specific language solution. This directive processor uses text templates to process information from the model.
- reference relationship
A domain relationship between two domain classes that are not related by embedding.
- role
One of the ends (source or target) of a relationship. Properties of a role include its multiplicity and its role player.
- role player
A domain class that plays a role in a relationship. A domain class can be a role player for many roles.