Domain Specific Languages (DSLs) are presently all the rage. The concept has existed since the first time a programmer used a programming language to define another programming language. The core idea is to define a language that is natural to a user in a “specific domain”. An example presented in the linked video tutorial focuses on the “language of laboratory biology”.
Laboratory biologists speak in terms like start, sample, next sample, volume, inject, extract, pause and rinse. They “speak” these terms while configuring laboratory experiments that may, for example, analyze samples of blood collected during pharmacokinetic studies. xtUML is a powerful tool in “modeling a language”. The “instructions” of the language can be modeled as classes with operational and state-based dynamic behavior. “Programs” become the run-time instance population of the modeled language. Model the language once, and then use it many times.
xtUML has been employed to model Domain Specific Languages in a handful of domains including laboratory science, industrial automation and office device control. The approach has been applied so many times that certain patterns have emerged. It is these patterns that are factored out into a common set of reusable models described in the video tutorial.