Software design using UML for empowering end-users with an external Domain Specific Language
Abstract
Domain Specific Languages (DSL) also known as "small languages" lack the power of a general purpose language (GPL), but are very productive for the purpose they are designed. While "internal" DSLs require and rely on the use of a hosting GPL, "external" DSLs are independent of a GPL and are thus more suitable for the non-programmer - but domain expert - end-user. Empowering this end-user via DSLs is our prime goal as software designers and architects. Our product will be stronger since much of the final tuning of the application can be done by the end-user and will reduce the number of software revisions that require stringent GPL software testing and validations. As software engineers, the design of a DSL as part of our product should fit into the tools of the trade of software development. We adopt UML for this purpose and propose that the design of DSL can be embedded as an extension of the traditional software modeling and design tools. In this paper we present firstly a view of software development process in which DSLs are an integral part, and than how we use UML to design a DSL which, via empowering a domain expert end-user, achieves challenging software delivery requirements with good stability and excellent performance. Copyright 2008 ACM.