<<< Previous speaker Next speaker >>>

Steve Cook, Microsoft

 Steve  Cook

Steve Cook is a Software Architect in the Enterprise Frameworks and Tools group at Microsoft, which he joined at the beginning of 2003. Previously he was a Distinguished Engineer at IBM, whom he represented in the UML 2.0 specification process at the OMG.

He has worked in the IT industry for 30 years, as architect, programmer, author, consultant and teacher. He was one of the first people to introduce object-oriented programming into the UK, and has concentrated on languages, methods and tools for modelling since the early 1990s. He is a member of the Editorial Board of the Software and Systems Modeling Journal, a Fellow of the British Computer Society, and holds an Honorary Doctor of Science degree from De Montford University.

Tutorial: "Software Factories"

Track:   Tutorials

Time: Thursday 09:00 - 12:00, 13:00 - 16:00

Location: SAS Nortvegia


Software Factories: Using Domain Specific Languages, Patterns, Frameworks and Tools to Assemble Applications

Languages specific to user interface design, database access, or telecoms processing (for example) free the developer to focus on the requirements at that level, while the complexities and best practice of implementation in those fields are captured in the executing frameworks. Developers on a large project or product line can increase the consistency and speed of their work - while reducing its repetetiveness - by evolving domain-specific languages in their most common areas.

The Software Factory pattern takes this idea a stage further, defining a graph of languages, patterns, frameworks and tools, and providing context-specific automation, support and guidance for the developer within each domain viewpoint. Appropriate tools and methods reduce the cost of adopting the pattern, making it cost effective for narrower and more specialized domains such as B2C application development, and business process automation.

In this tutorial, we explore the benefits, costs and risks of adopting the Software Factory approach - including both domain-specific languages and other forms of automation. We will demonstrate a variety of examples, and discuss the contexts in which they are adopted; we will go through some exercises in the design of software factories and DSLs.

Examples and demonstrations are used throughout to illustrate the concepts.