Alan Cameron Wills, Microsoft Corporation
Alan Cameron Wills is a software architect in the Enterprise Frameworks and Tools group in Microsoft. He was previously a consultant in analysis and development methods with Trireme International Ltd, mentoring groups in a wide variety of fields. He co-authored the Catalysis approach to component based development. Alan is a frequent presenter at conferences, and is a member of the SoSYM editorial board. His PhD was in the application of formal methods to object-oriented programming.
Alan has given workshops and tutorials in the field of Domain Specific Languages at other conferences including an invited talk at FMOODS 2003 (http://fedconf.enst.fr/), OT 2004 (see http://www.spa2005.org/cgi-bin/wiki.pl/?DomainSpecificLanguages), and Agile Development 2004 (http://www.agiledevelopmentconference.com/)
Tutorial: "How to design and use Domain Specific Modeling Languages"
Time: Thursday 13:00 - 16:00
Software development can be accelerated and made more agile, by designing a language that is specialised to model your domain of interest. A user interface, a database queries, or a page layout is rarely designed these days without using a language (and supporting tools) specific to that purpose - a language that may be textual or graphical or both. A domain-specific language captures an ontology of its domain; and each implementation (a generator, interpreting engine, or simulator that executes the language's statements) encapsulates a framework of components and design patterns. This tutorial will explain how to create and use domain specific languages, and how to make this pattern more applicable to specialized domains. We will discuss some related patterns such as adaptive assembly, software product lines and model driven development, and how these form an integrated pattern language we call the "Software Factory". Finally, we will explore in some detail techniques for designing a domain specific language; and look at the tools and processes that go along with such a language.
The tutorial will comprise a combination of seminar and workshop styles.
Note: This tutorial replaces Jack Greenfield, "Using Domain Specific Languages, Patterns, Frameworks and Tools to Assemble Applications".