skip to main |
skip to sidebar
Domain-Specific Modeling promises to change software development in many companies by changing models from being a bunch of out-of-date rectangles, diamonds and lines to executable representations of solutions in domain-terms. Models no longer depict the soon-to-be-roundtripped, visual representation of the code you need to write later. Instead, the implementation is generated automatically and completely from your high-level models, similar to how compilers generate full assembler from current programming languages.
A free webinar by a true expert in this field on December 14 will give a very concise explanation of domain-specific modeling in an easy to swallow format. So sit back, relax and learn. Learn what?
2 things basically, what it is and whether it makes sense to look into it further. Register here.
Defining modeling languages graphically in the new MetaEdit+ Today we are releasing the latest version of MetaEdit+. Version 4.5 is stuffed with a lot of significant improvements compared to its predecessor, like to name a few of these:
- Graphical metamodeling (see above)
- A whole new generator definition system, that:
- instantly validates generator scripts
- provides a debugger for defined generators
- provides "live code": generated code links back to its original model objects for tracing
- allows you to build more powerful, better generators, faster
- Model, and metamodel import/export via XML
- An improved SOAP/WebServices-based API that provides access to models, metamodels and MetaEdit+ functionality
- More powerful metamodeling capabilities
- Symbol import in SVG & Bitmap formats
- A much improved modeling environment
To sum it all up, we clearly focused on allowing developers to obtain tool support for domain-specific languages faster and more conveniently. As an indication: Just for fun, yesterday I "equipped" MetaEdit+ from scratch with Use Case modeling in about 15 minutes. Try that with the visual studio DSL tools or the GMF framework from Eclipse and you'll grow a beard...a big one.
Additionally, our development team put in a big effort in opening MetaEdit+ up, allowing it to work via open-standard SOAP-Web Services, via ANY programming language with ANY tool.
To top it off, we now offer companies, their first license of the new MetaEdit+ Workbench (introductory license) at 150 Euro! Additional licenses carry our normal pricing. There is thus no reason to miss out on experiencing how much value, speed and convenience MetaEdit+ offers.
At the coming OOP 2007 conference in lively Munich, expo and conference attendees have free access to all vendor tracks. MetaCase will provide one that teaches participants "hands-on" how to build a domain-specific modeling language and how to obtain tool support for it. Our aim is to provide participants with something a bit more valuable: Leaving the class room after 90 minutes feeling you've really learned some skills, instead of being made aware of a bunch of product features.
People should bring their own machine, and may opt to bring their own DSM tool. For those that wish to use MetaEdit+ we'll provide them with a copy. From a skills perspective, it's irrelevant what DSM tool you use really. Whether its Eclipse GMF, DOME, GME, Microsoft Visual Studio DSL's, MetaEdit+ or any other tool that can support DSM languages, they're all welcome to the session!
MetaCase offers a free ticket, you can get it here. It also provides entrance to all keynotes, product sessions, special training, vendor tracks and the expo.
Mark Dalgarno, editor of codegeneration.net pointed me to a new conference, Code Generation 2007 on, well, code generation that his company is organizing in May 2007 in Cambridge UK.
The conference is currently seeking people and companies that are interested in running a session and/or sponsoring the event.
With very few (to my knowledge at least) events on code generation in the UK, this seems like an excellent opportunity for many companies to get exposure.
I came across a webcast by OMG Chairman and CEO Richard Soley in which he claims that MDA and DSL is "the same thing really", since MDA provides DSL's as well via MOF and UML profiles. I agree with Richard that you can get a DSL via MOF and UML Profiles, except that this way we'd have to bin that "little issue" of making sure we get a quality DSL (or DSM language, a term I rather use).
So, what defines the quality of a DSM language? Of course that is debatable but I would suggest "Its ability to define an application correctly, conveniently, concise and completely, with a minimum amount of effort." as that provides the basis for being able to generate 100% of the application's implementation in code. In this light, the lack of quality provided by MOF and UML Profiles leads to incomplete code generation. Richard mentions 70% code generation "which is not bad". Well, it's not good either since it creates the need for keeping models and code synchronized via round-trip engineering, which makes it pretty bad in my book.
When it comes to convenience, Richard "rubishes" the concern so many developers have with UML being too complex, by saying that he - as a man - "likes to have a big tool box", because he "wants to use a tool that is best suited to the problem at hand." To me it seems that Richard's big tool box contains just one very big and complex tool that you can use for whatever it is you wish to develop, therefore not making it very well suited for any specific problem at hand. It's "OK, nothing more", which already may be overstated. Don't give me that crap about it being great for everything.
Providing a developer or company with a great tool for modeling and generating the software he/it wants to build, means providing the ability to conveniently build an own tool that precisely matches the domain-specific requirements, in the shortest time possible. Not by providing a one-size-fits-all big man's box of tools that are "pretty OK" for doing almost anything.
MDA and DSM (using DSL's for generating code) are NOT the same. The OMG would do good to stick to its own MDA vision, abandon it or make an attempt to define it more concisely, instead of positioning it as the greatest thing for all of mankind while trying to jump multiple bandwagons and please everyone's agenda in order to justify its own existense.