Using DSL Integration Service (DIS) – Part 1

I finally managed to put this “thing” to work.

I’ve been struggling with this integration service, on my free time, since a couple of weeks ago. Definitely this is not a well documented feature nevertheless being only a Power Toy. There is only a readme document on the installation folder and less more.

Thanks to Edward Bakker who show me the light on the Visual Studio Team System – Domain-Specific Language Tools Forum.

I’m starting here a series of posts related to DSL integration. For now I let you with a brief introduction to this subject and in the next posts I’ll start with the bits and bytes.

DSLs are generally relatively small, highly focused languages used to model and solve certain clearly identifiable problems that various developer roles may have to tackle as part of the software development lifecycle.

Nevertheless, in many cases, architects and developers need to be able to navigate through various viewpoints, i.e. through different areas concerns and across various abstraction levels.

Navigation across viewpoints and transformation of related artifacts imposes new requirements on DSL design, especially in terms of integration among them. Perhaps the most important is the ability to refer to model elements of one language from a different one.

For example, let’s assume the development a Service Oriented Architecture (SOA) based application using two different DSL, namely Business Message Type DSL and Business Entities DSL. While using the Business Message Types DSL, the message designer may need to refer to instances of business entities, specified using the Business Entities DSL, in order to define what is the payload for any given message type.

The current release of DSL Tools does not support any integration across different DSLs. More specifically, it’s not natively possible to refer from the model elements or properties in a language to those modeled and instantiated in another one.

However, that level of integration can be programmatically obtained.

The Visual Studio DSL Integration Service (DIS) is a service added to Visual Studio by the Microsoft.VisualStudio.Modeling.Integration package, whose goal and main feature is to support referencing of model elements across different DSLs.

That’s all for today don’t miss the next series of posts. 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: