Domain-Specific Language Tools Glossary
This is a list of terms relating to domain-specific languages.
C
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.
D
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.
E
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.
G
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.
I
- In-memory store
The in-memory cache in which the model is stored. See also store.
M
- model element
An instance of a domain class in a generated domain-specific language designer.
R
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.
S
store
The cache in which the model is stored. See also in-memory store.swimlane
A horizontal or vertical line that divides the diagram into partitions.
T
- transaction
A mechanism by which a set of changes can be committed or rolled back in a single operation. Use transactions to wrap changes made to a model in custom code.
V
- validation
Well-formedness constraints on the model. The domain-specific language framework uses built-in constraints and custom constraints to validate models.