|
|
||||||||||||
Domain Specific Languages with XML Syntax and Semantics | |||||||||||||
Technology Foundation > Domain Specific Languages |
|
||||||||||||
Domain Specific Languages (DSLs) are on the edge of becoming main stream. Montages DSL technology has evolved from 8 years of scientific and industrial research and case studies.
One of the most interesting feature of DSLs is that they allow to use directly the terminology and abstractions common in the domain at hand. This shortens the distance between business experts and IT specialists, since the resulting programs are at least easier to communicate to business expert, if not in some situations directly reviewable or even maintainable by the experts. The problems with DSLs are the high implementation costs involved with developing an interpreter or compiler for a new language. Montages uses the approach of "programming by example" to give semantics to DSLs, from which Montages tools can generate both interpreters and compilers. The DSL program syntax is given by means of XML, which allows to map to textual or visual languages easily, and the semantics (meaning) is given by means of UML state or activity diagrams, where special nested states define "examples" or "patterns" over all possible XML documents, which are then generalized over an actual document which is like this transformed into an UML state diagram. Based on the state-diagram, standard technology for mapping executable UML to code, or interpretation of the state diagrams is applicable. The basis for Montages' DSL technology is executable XML, which is described under "XML + UML = executable XML [link] The advantages of Montages distributed architecture in combination with DSLs are further highlighted under "Distributed languages and processes" [link] [up]
|
27 Jul 2009 |