Hello
I have started readin and working on DSL today itself. I had a couple of queries and it would be great if someone can help me figure out the things.
1) Is there any sample or walkthrough which covers a complete business scenario. For eg. defining a DSL using the VS 2005 Beta 2 and then make a business application for that domain .
2) Can someone explain what exactly is happening behind the scenes when i define some domain model on the designer surface.Like what all code files are generated and what all changes are made in various xml files.
Any help would be appreciated
Thanks
Abhishek

Business Case
Oliviertje
To your first question, I don't think we have a sample today that demonstrates what you're looking for, although we're working on some more samples that we're planning to make available soon, stay tuned.
To the second, I'll give a brief overview of the structure of the projects that we generate. Feel free to ask for clarification/more detail on any of these parts:
Designer Project
Shell - subfolder that contains generated code for integrating the designer into the VS shell
Diagram - contains generated code for interacting with our design surface, shape definitions, etc.
ItemTemplates - contains .vstemplate files that show up in the Add New Item dialog box, and define item templates for your designer. By default we install one for C# projects and one for VB projects.
ModelExplorer - contains code which creates a model explorer for your DSL. The model explorer is driven mostly through metadata in your model, so there's not much generated code here.
Resources - Contains icon files used by your designer, for toolbox items. The intent is that other resources would go here as well, for things like icon decorators, for example.
TextTemplates - Contains code to hook your DSL into our text template generation framework.
MyDSL.dsldd - this is the designer definition file, code in the Designer project is generated based on this file, which itself referenced the MyDSL.dsldm file in the Domain Model Project. Currently you modify this file by hand.
DesignerUI Project
Contains menu command definitions for your designer, defined in the normal VSIP manner (CTC files). This is separate from the designer project because the command definitions get stored as a resource in an unmanaged satellite resource dll.
Domain Model Project
MyDSL.dsldm - domain model definition file. This is what you edit through the domain model designer. Code in the Domain Model Project is generated based on this file.
DomainModelExtras.dsldmt/cs - contains some utility code to do things like define merge behavior for the domain model (whether or not a given model fragment can be merged into an existing model; we use this to define drag/drop behavior from the VS toolbox, for instance).
Enumerations.dsldmt/cs - if your model defines any enumerations, code for those will be generated into this file.
MyDSL.dsldm.dsldmt/cs - Main code file that defines the strongly-typed API for your model. This is what you access when you write code generation templates, for instance.
MyDSL.Resources.resx - We allow you to localize parts of your model, like class names, role names, property names, etc (often these show up in various parts of the UI, for instance property names show up in the property grid). If you want to do that, entries can be added to this file; currently they are not automatically generated, though.
Mary S
When can we expect such a sample on the net
That will help a lot
Abhishek