Jochen Seemann's Blog

  • DSL Tools are now part of the Visual Studio 2005 SDK

    As Gareth announced the DSL Tools are now an official part of the VS 2005 SDK. Our DSL Tools (Nov 2005) CTP has been integrated into the Feb 2006 CTP of the VS SDK.

    That means we won't offer the CTPs of our DSL Tools as download on the DSL Tools homepage anymore. Interested users just get them together with the rest of the VS SDK, which DSL Tools users need to install anyway.

    For us that is another step towards our V1 release ...

    Jochen

     

  • DSL Tools Nov 2005 CTP available!

    The new Nov 2005 CTP of the DSL Tools is available on MSDN! Now you can use the DSL Tools with the Visual Studio 2005 final product versions. The new CTP adds with two new major features to the DSL Tools: Model validation and designer deployment via MSI files. You will also find significant performance and quality improvements. I just signed off and you can already download the Nov 2005 CTP using this link. It will take probably another hour until the download web pages on MSDN are updated.

    Jochen

  • Busy summer

    I arrived in Los Angeles last night to attend the PDC 05. I just noticed that last three months were incredibly busy for the DSL team and I didn't even write a single blog entry. We were all focused on completing the planning for our DSL Tools "Version 1" product. We designed the scenarios and worked out the project plans for the remaining milestones. We were pretty open about our plans and roadmap in our user forum and we will post our plans pretty soon on our DSL Tools homepage.

    At the same time we were finishing up remaining work for the modeling platform in VS 2005. As you know the new designers for service-oriented applications, the deployment designer and the class designer are already being built on the same modeling platform that is the foundation of the DSL Tools. Also during this time a number of new members joined our team and got started on the DSL technology. I am really looking forward to see the next DSL Tools CTP releases! We will start with a new CTP release of the DSL Tools sometime during this week. This next version of the DSL Tools will still run on top of VS 2005 Beta 2. We plan to ship a CTP for the final bits of VS 2005 right after the official launch. As you will see we are building more complex visual languages now and we start shipping richer templates with this release. Stay tuned ...

  • DSL Tools at TechEd 2005

    I got into Orland last night and I gave a presentation about DSL Tools at the TechEd Academic Days this morning. We have a new presentation with new demos running on top of the new DSL Tools release. I hope that we can make these samples available via download after TechEd.

    At TechEd 2005 there are a number of sessions around DSL Tools:

    • We have put together a Hands-on Lab for the DSL Tools. You can use any lab machine at TechEd and go through a demo of the latest DSL Tools bits. The demo is using the new compartment shape features and includes a little C# code generator. The code for this lab is ARC04.
    • I present a breakout session about DSL Tools called Domain Specific Language Tools for Model-Driven Development in Visual Studio 2005 on Wednesday, 2pm. The code for the session is ARC411 (location S210E). If you are interested you can meet me later in Cabana 05 at 3:45pm (Wednesday). This is session ARCC11.
    • On Wednesday, 10:15am, one of our academic partners, Northface University, will give a Cabana 'Chalk-talk' about building a designer for ORM. The code for this session is ARCC09 (in Cabana 05).
    • During the week you can meet Pedro Silva and Grayson Myers from our team at the Architect Cabana. They both developed major pieces of the DSL Tools and the underlying modeling platform. See Pedro's blog for details.
    • On Monday, 1:30pm, there is a breakout session about Building and Using a Software Factory (code ARC302, location S210E) from Jack Greenfield and Wojtek Kozaczynski. The designers built with the DSL Tools will be part of the demos in this session.

    Meet me and other members of the DSL team at TechEd!

  • New DSL Tools CTP for Visual Studio Beta 2

    I am very happy to announce the availability of the new "May 2005 CTP" release of the Microsoft DSL Tools. You can find the download page here.

    The highlights of this release are:

    • Support for Visual Studio Beta 2.
    • New features for the model explorer and property browser in the generated designers.   
    • New shape type with collapsible compartments like in the Visual Studio Class Designer.
    • New text templating (code generation) engine with richer features like an include directive.

    In addition to that we made a lot of improvements of the DSL Tools. For example you will notice a much better performance of the code generation. We have updated the walkthrough documents and added another walkthrough for the new features. The download contains a document that shows the migration of existing designer solutions to the new release. 

    Please provide feedback about this release using the MSDN product feedback center. A updated list of known issues, defects, and suggested workarounds can be found here.

    Have fun building designers with our latest DSL Tools!

  • Using Models in Visual Studio

    A blog entry from Stuart Kent summarizes some of the discussions on our DSL Tools Newsgroup about programmatic use of in-memory models. The DSL Tools allow you to create in-memory models with domain-specific APIs for Visual Studio:

    The models are held in memory (we call it the in-memory store). As well as giving access to CRUD operations, this supports transactional processing and event firing. We also generate domain specific APIs from domain models - indeed, you can see what these APIs look like if you look at e.g. XXXX.dmd.cs generated from the XXXX.dmd using the template XXXX.dmd.mdfomt in a designer solution. These APIs work against the generic framework, thus allowing both generic and domain specific access to model data. However, we still have some work to do to make all this easily available, including making some improvements to the generic APIs and doing some repackaging of code. The goal would be that you'd be able to use the dll generated from a domain model to load models into memory from XML files, access them through generic and and domain specific APIs, and then save them back to XML files. We will also be overhauling the XML serialization, so that models will get stored in domain specific, customized XML - see Gareth's posting for some details around this.

    Please find the complete article here.

  • The Template Engine

    The DSL Tools come with a template-based artifact generation engine that allows you to generate code files, text files, XML files, HTML files etc. from models. Gareth has put a nice summary of the syntax that we use for this engine on his blog:

    Having mentioned it last time and had someone ask in the newsgroup I thought it would be a good idea to post a quick summary of the syntax available with text templating in the March release of the DSL tools.
     
    Please find the complete article here.
  • Future releases of the DSL Tools

    I often get the question if the current CTP release of the DSL tools is already close or similar to the final first version of the tools. The answer is that we will continue to ship CTPs with a growing set of features.

    My colleague Stuart Kent summarized some of our plans for the next release on his blog:

    Now we've got the March release out of the door, I'm sure folks are going to ask soon what's in the next release and when to expect it.

    First the 'when' bit. As Harry Pierson has already indicated, we expect the when to be shortly after VS2005 Beta2 is released, where 'shortly after' = a small number of weeks. At this point we'll be moving from VS2005 Beta1 to VS2005 Beta2.

    Now the 'what'. We're focusing on two feature areas next release (at least that's the plan, usual disclaimers apply):

    • Improvements to the template-based code/text generation framework, including a richer syntax allowing you to do richer things.
    • Better support for containment hirearchies, through (a) compartment shapes (nearly everyone we've talked to has asked for this) and (b) a richer experience in the explorer and properties grid, including the ability to create elements through the explorer.

    The above should mean that users will be far less restricted than they are at present in the kindof designer they can build.

    We're also making an investment on quality in this cycle, ramping up the automated testing & fixing a whole swathe of bugs.

    And after the next release?

    Well, here are some of the features in the pipeline: richer notations, constraints and validation, a proper treatment of serialization in XML (see this entry from Gareth), better hooks for code customization of generated designers, deployment of designers to other machines, multiple diagrams viewing a model,  better hooks for writing your own tools to consume model data (as explained in this post), ...

  • DSL Tools Version March05 available

    Last Thursday we made a new version of the DSL Tools available here, while I was still traveling in Europe. Based on the user feedback we have fixed a number of defects and we have added validation checks for the 'designer definition file'. You can find more details about this release on Gareth's blog.

    Jochen 

  • Known Issues and Work Arounds for the DSL Tools Dec04 CTP

    We've compiled a list of known issues and work arounds for our current CTP release. The list will be available on MSDN in a few days. In the meantime you can find it here

    Jochen

     

     

  • New tutorials for DSL tools available

    We have just published a few walkthroughs for the December04 CTP release. I apologize for the delay, because I know it is difficult to play with our DSL tools without these tutorials.

    At the same time I would like to thank you for your interest in this exciting technology - the download numbers are very encouraging for us and the feedback has been terrific. Keep it coming (product feedback center)!

    Jochen

  • First download of the complete DSL tools available

    DSL Tools CTP December 04 Now Available!

    We have been very busy over the last few weeks and here is the result:

    The first CTP (community technology preview) release of the complete set of DSL tools is ready for download here. The DSL tools are a CTP release of one part of the Visual Studio 2005 SDK.

    Updated Web pages (including additional documentation, walkthroughs, more examples, etc.) will come online over the next few days and weeks.

    Jochen

  • The first technical preview

    Today, we are making available the first installment of our Domain-Specific Language tools as a technical preview. Please note that this is work in progress and not a beta or even a final release. To put this all in context, let’s examine how we got here ...

    Developers who are using UML, data modeling or business process modeling tools are often faced with the need to personalize or customize these tools. They turn them into domain-specific, company-specific and even project-specific modeling tools. They modify what a diagram shows and what it means, and they add code generators, report generators, and functionality to do useful things with their models. Often they will write custom code to import and export their models. In some cases, they even devise their own interpretation of standard languages like UML. But in other cases, a developer may simply be reusing a pattern of code with a template language or XML schema for which he writes a code generator for specific projects. Developers who are interested in using models and generators like this are indulging in model-driven development as a way to achieve higher productivity. We believe that for this development approach to be successful, it is necessary to enable developers, both tool builders and tool users, to create their own custom and problem-specific modeling tools with little effort.

    Our 'Domain-Specific Language (DSL) Concepts Editor' is the first step along this path. Today, you can download a tool that you can use to describe the concepts in a problem domain as the basis for a modeling tool or graphical designer. It is itself a graphical tool built on top of our designer platform and it is completely integrated into Visual Studio. For example, if you need a business process modeling tool, this editor allows you to describe the concepts specific to the way you like to model your business processes. If you are building a statechart tool, you can describe what a state is, the properties a state has, what kinds of states exist, how transitions between states are defined, etc. Of course, the notion of a statechart used to describe the status of contracts in an insurance company and the notion of a statechart used to describe user interaction amongst pages on a website are similar, but different. With the ‘DSL Concepts Editor’ you can specify exactly the definition of statechart concepts you need in your tool.

    Our intention is to provide you with tools to build graphical designers that are focused on specific aspects of application building. However, this does not necessarily mean that you need to invent entirely new notations. You can use the same well-known notations for statecharts in these custom tools, but you will have the freedom to extend or redefine the notation, and describe precisely what the notation means in your problem domain. The 'DSL Concepts Editor' also enables you to define concept models that are not necessarily used in graphical designers or modeling tools. We will explain these scenarios and how this can be achieved in a white paper later this year.

    Today is the first step. Over the next few months, we will make more white papers, documentation and additional tools available.

  • You want to use a visual Domain-Specific Language in Visual Studio?

    My colleague Stuart Kent summarized in his blog, what we have been working on:
    • A wizard that creates a solution in VS which when built installs a graphical designer as a first class tool hosted in VS. The designer can be customized to the Domain Specific Language (DSL) of your choice.
    • The wizard allows you to choose from a selection of language templates. You can define your own templates based on designers you've already built.
    • Once you've run the wizard, you can edit a couple of XML files to customize the designer. Code is generated from these files to customize the designer. One file allows you to define and customize the graphical notation and other aspects of the designer, like the explorer, properties window and so on. The other file defines the concepts that underpin the language in the form of an object model (metamodel, if you're familiar with that term). We have graphical designer for editing the object model.
    • You then just build the solution, hit F5 and get a second copy of VS open in which you can use the designer you've just built.

    Our first release, at the end of this week, will be a preview of the object model editor. Previews of the other components should be available by the end of the year.  

  • Building graphical editors ten years ago ...

    At OOPSLA, we presented our technology to build graphical designers for visual domain-specific languages. This makes a very important step towards the vision of "Software Factories" as outlined by Jack Greenfield and Keith Short in their recent book (Software Factories).

    The problem of building graphical editors for visual languages reminded me of a previous conferences ten years ago...

    In 1994, I was at ECOOP 94 in Bologna, Italy where I attended a workshop organized by Ralph Johnson and John Vlissides. The workshop was about patterns to build graphical designers. At that time I was building an OMT model editor with a couple of students and we compared our graphical editor designs in this workshop. The results of the workshop were collected on a poster for OOPSLA 1994. Soon thereafter, Ralph and John released their famous GOF book (Design Patterns) with their co-authors, while OMT became one of the building blocks of UML. UML and the tools to use it became very popular.

    Now, ten years later, we work on a technology that allows you to generate functional graphical designers based simply on the description of the designer you need. This brings us to the domain-specific language tools that we’re now making available for download from our DSL Tools Workbench.

More Posts Next page »

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker