hide all comments

DSM

Creating a domain-specific modeling language in 90 minutes: hands-on

December 05, 2006 11:55:08 +0200 (EET)

I’m taking quite a challenge next month at OOP: I promised to run a session in which we define and implement a domain-specific language from the scratch. Now I’m looking for an application domain so if you have any suggestions let me know. The language should be non-trivial and large enough (20+ concepts). Naturally the language should not target just sketching but also enable code generation. A particular challenge for me is that the session should be collaborative and hands-on. All participants can implement their own language versions if they see others suggestions bad. Implementing and using the language into a tool will quickly show which language constructs work.

I’m not keen in any particular tool so bring your favorite tool with you. I’ll bring mine ;-). I expect that hands-on session gives to the participants a good feeling of the language definition process. MetaCase will provide tickets to the session and tool licenses in case participants don’t have a tool but would like to implement their language idea. If everything goes well at the end of the session we also generate sample applications.

Comments

Technical Writer

[Omar Garcia] December 09, 2006 02:39:12 +0200 (EET)

Unfortunately, I wont be at OOP to attend your session but I am very keen on DSM and DSL and I want to propose this domain for you to consider. The domain is technical writing and it is aimed to produce thesis, papers, books for academics. At the moment I am working in an implementation that runs on Ruby on RailsThe concepts that belong to the domain are books, chapter, articles, sections, tables, figures, references, table of context, index, images.Are the different outputs formats like pdf, rtf, html part of the domain concepts?I do not have much time available now but my goal is very similar that the one you want to achieve in your session To define this language and run it in different tools lik Metacase, Microsoft Software Factories, Eclipse EMF and open architectureware, XMF/Mosaic, etc.
Regards
Omar@uow.edu.au

Choosing a domain

[Juha-Pekka] December 14, 2006 13:19:04 +0200 (EET)

I remember facing almost similar domain few times earlier and defined then as a “courseware”. For the class it is good in that respect that people know and understand the domain pretty well. It is also relavitvely easy to start as several domain concepts can be found easily. However, to use models for code generation there should be also some reference applications to see what kind of code should be generated. Two or more of them would be nice because it allows to see differences and decide how to allocate the work between the language, generator and framework.