Beginner question about the use of DSL Tools
I have what's probably an incredibly dumb question on the purpose of DSL tools, but I'll ask it anyway. I'm going to describe what I think DSL Tools offer and I would really appreciate if someone could confirm whether I'm on the right track or whether I'm completely out to lunch (and if so, kindly correct my thinking).
The domain model designer allows me to create what is effectively the language: the set of concepts (which map to classes) and their properties (attributes), relationships (simple, containment, inheritance) between concepts, and probably some further constraints on the concepts. Additionally, in the same solution that allows me to define my domain model, I can define things like notation and UI widgets that will appear in the designer, which I declared in an XML file based on the domain model, which the end user will later use.
Here's the part where I'm possibly most lost. Once the domain model is defined, and the visual elements of the designer are specified, I can run all the templates, and build the solution. At this point, I start a new instance of Visual Studio (in the experimental hive), and suddenly a new designer is available for use. This designer was declaritively created using an XML file earlier (in the same solution in which I defined the domain model) along with various resources and such. The user of this second instance of Visual Studio can choose this new designer from the New Item template. The user can use widgets in the toolbox to specifies concepts and relationships in the designer based on the domain model I earlier defined. The property grid can be used to modify attributes of these concepts. The act of dragging items (concepts) from the toolbox, setting properties, and specifying relationships is effectively entering data into the system. That is, rather than having a win32 app that has numerous text fields that the user enters data into, in this case the end user enters data by using the toolbox items and properties grid. Is this correct?
Now that the user has entered data, the text templating engine can be used to perform actions based on the entered data. For example, in the walkthroughs templates are written that generate HTML pages that have embedded C# or VB portions of code which are executed to make part of the HTML file output. This is similar to the ASP model. Right now, the output of these tempatles is either a text or HTML file. Am I on the right track?
At some point, the Guidance Automation Toolkit, may be used as a replacement or to supplement (complement?) the text templating engine to define behaviour based on the user data. Apparently a demo with DSL Tools and GAT was presented at Tech Ed '05. (I'd love to know more details on this).
Thank you for any clarification you can give!!

