Modeling SDK for Visual Studio - Domain-Specific Languages

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Modeling SDK for Visual Studio - Domain-Specific Languages.

By using the Modeling SDK for Visual Studio (MSDK), you can create powerful model-based development tools that you can integrate into Visual Studio. As an example, the UML tools are created using MSDK. In the same manner, you can create one or more model definitions and integrate them into a set of tools.

At the heart of MSDK is the definition of a model that you create to represent concepts in your business area. You can surround the model with a variety of tools, such as a diagrammatic view, the ability to generate code and other artifacts, commands for transforming the model, and the ability to interact with code and other objects in Visual Studio. As you develop the model, you can combine it with other models and tools to form a powerful toolset that is centered on your development.

MSDK lets you develop a model quickly in the form of a domain-specific language (DSL). You begin by using a specialized editor to define a schema or abstract syntax together with a graphical notation. From this definition, VMSDK generates:

  • A model implementation with a strongly-typed API that runs in a transaction-based store.

  • A tree-based explorer.

  • A graphical editor in which users can view the model or parts of it that you define.

  • Serialization methods that save your models in readable XML.

  • Facilities for generating program code and other artifacts using text templating.

You can customize and extend all of these features. Your extensions are integrated in such a way that you can still update the DSL definition and re-generate the features without losing your extensions.

Download the Modeling SDK for Visual Studio 2015

Samples for the Modeling SDK for Visual Studio.

For guidance on advanced techniques and troubleshooting, visit Visual Studio DSL & Modeling Tools Extensibility forum.

Getting Started with Domain-Specific Languages

Understanding Models, Classes and Relationships

How to Define a Domain-Specific Language

Customizing and Extending a Domain-Specific Language

Validation in a Domain-Specific Language

Writing Code to Customise a Domain-Specific Language

Generating Code from a Domain-Specific Language

Understanding the DSL Code

Customizing File Storage and XML Serialization

Deploying Domain-Specific Language Solutions

Creating a Windows Forms-Based Domain-Specific Language

Creating a WPF-Based Domain-Specific Language

How to: Extend the Domain-Specific Language Designer

Supported Visual Studio Editions for Visualization & Modeling SDK

How to: Migrate a Domain-Specific Language to a New Version

API Reference for Modeling SDK for Visual Studio

Show: