Domain-specific modeling (DSM) is an approach articulated around three elements: a specific modeling language, code generation and a domain framework. The book authors work for a company that has been proposing a DSM tool since the last century. This make them first-hand experts on the topic, but you have also to remind which side they are when they talk about DSM compared to other approaches. The authors are conscious of this and discuss it openly, so that the reader can be aware of the situation. This being said, this book is an excellent and convincing presentation of what is domain-specific modeling, what it is not and how it relates to generic modeling approaches like UML. It contains more than 100 pages of real case studies showing how you can use DSM in different contexts (embedded software, insurance, etc). Finally, a final part guides you in details through the different steps needed to create a DSM solution. This part contains an important decision guide that will allow you to evaluate if your domain is suited for a DSM effort.
The book is very well written and is certainly a must read for every software developer who could be involved in the development of software that has some “product” attributes, that is software projects that involve repeated development efforts based on a common domain knowledge. It will also allow you to think and understand more deeply what is modeling and how you can reuse the initial investments in understanding the domain and creating the first products.
The website of the book is http://www.dsmbook.com/
Reference: “Domain-Specific Modeling – Enabling Full Code Generation”, Steven Kelly and Juha-Pekka Tolvanen, John Wiley & Sons, 427 pages