Nov 25th, 2007
Surely, by the time you read this you will have already read it. Last week, Microsoft released Visual Studio 2008 (codename Orcas).
But what has not been announced are the changes in DSL Tools for VS2008, mainly because there are not any new major features except some changes in the runtime, support for LINQ and lots of bug fixing. Anyway, if you are interested, Stuart Kent, Senior Program Manager with the Visual Studio Ecosystem team, summarizes them in a blog post, and most interesting, he also describes the roadmap for the next version of Visual Studio (codename Rosario).
I’m personally interested in DSL Tools mainly for two reasons. First, because last summer I finished my degree thesis about Model Driven Development, where I’ve been analyzing at length Domain-Specific Modeling and Model-Driven Architecture methodologies. Among other tools, I analyzed the DSL Tools that were part of the VS2005, and I found them one of the best and most advanced tools for designing domain specific graphical notations (as opposed to textual notations, which, depending on the domain problem, are better suited) and for generating code from models. The main problem I saw in this tool was the lack of support for UML and XMI. I’m not a big fan of UML, but I must recognize that, in some cases, a common modeling language helps a lot, specially to reduce the learning curve that it is inherent to all DSLs. I know that this statement sounds opposed to the main concept of DSL, so I will address you to the article “Unified or Domain-Specific Modeling languages?” (thanks Metacase for recovering this article), by S. Ambler, who explains this contradiction very well. Also, the lack of support to XMI limits the interoperability between tools, something I believe Microsoft is not worried at all. Despite of these problems (IMHO), I believe Microsoft has done a really bad job of publicizing this tool, which is one of the pillars of Microsoft’s Software Factories initiative.
By the way, if you are interested in MDD, I would recommend you openArchitectureWare, now part of the Eclipse GMT Project, which is using an hybrid model, since it uses both approaches (MDA and DSM), and it allows both graphical and textual notations. And it is FREE!!!. Just check the overview diagram, so you get an idea of which technologies supports.
The second reason why I’m interested in DSL Tools is because we have successfully applied some external and internal DSLs at work (see this post by M. Fowler to know the differences between external and internal DSL). For a long time, we have been using textual internal DSL’s (PL/I Macros) in order to improve the quality of the code and to abstract the developer of some complex parts of the system, and we are very satisfied with the results. And more recently, we have been using graphical external DSL’s to represent the models for the online transactions which runs on our main backend (a z/OS mainframe) and to generate code addressed specifically to an in-house runtime framework. Last year, when we submitted an RFP to renew our domain-specific tool set, we received several proposals from different vendors, and one of them came up with DSL Tools. We finally decided not to use this tool and, instead, use Eclipse and a modified version of the jBPM plugin. Anyway, as I told you before, I consider DSL Tools one of the most advanced tools for DSM, so, periodically, I try to learn which is the evolution of this tool. And just for your curiosity, here it is the DSL design for our main mainframe architecture using the DSL Tools Designer (yes, it’s a service orchestrator!):
And now to conclude, I am really interested in knowing if someone has a real experience using DSL’s. If this is your case, are you using VS DSL Tools? If not, which tools are you using?
BTW, if you are interested in the thesis document, just drop me a line using the contact form and I will send you it. Be aware that the document is written in Catalan language.
Hi Ferdy,
Interesting article. We’ve been investigating different MDD solutions the last couple of years. I was quite charmed by the what Acceleo accomplishes, but it does not serve us as much as we like, primarily because it integrates into Eclipse and our own software development facility works with .NET (VS2005). With the advent of VS2008 we, like you, were hoping for more extended MDD support, but unfortunately this does not seem to have Microsoft’s real attention. Do you have particular good experience with MDD in the .NET arena apart from the VS DSL tools?
Pascal.
Pascal, we don’t have any experience in .NET. We are primarily a J2EE installation, that is one of the reason why we didn’t choose VS DSL Tools. Unlike you, we prefer an Eclipse environment. 😉
Nice, How about mono Framework?
Nov 20th, 2007
The IT Metrics & Productivity Institute is hosting a series of free, weekly webinars about software development and maintenance.
The Software Best Practices Webinars Series is dedicated to improving the practice and management of software development and maintenance world wide. All live webinars are FREE and have been accredited with PDU credits by PMI’s ISSIG group.
Each webinar will feature an expert speaker who has extensively researched and successfully applied best practice principles to the development and maintenance of software.
The Fall 2007 program includes:
- November 20th, 2007: The Journey towards Effective Portfolio Management
- November 27th, 2007: Ed Yourdon On Managing Death March Projects
- November 28th, 2007: Implementing Agile Development in New Teams
- December 3rd, 2007: Dr. Howard Rubin on Technology Economics and the Importance of Software Process
- December 3rd, 2007: Effective Vendor Management
- December 4th, 2007: 10 Things You Need to Know about Earned Value Management
- December 11th, 2007: Project Disasters: Predict Them, Prevent Them, or Pull the Plug on Them
- December 12th, 2007: Building a High Performance Risk Management Team
- December 13th, 2007: Requirements Errors – Sources and Avoidance Strategies
If you are interested in knowing the full 2007-2008 program, you will find more information on The 2007-2008 Software Best Practices Webinar Series website.
(Via Ed Yourdon)